前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >unity+live2d制作galgame框架

unity+live2d制作galgame框架

作者头像
歪歪梯
发布于 2022-11-22 07:29:57
发布于 2022-11-22 07:29:57
1.6K00
代码可运行
举报
文章被收录于专栏:歪歪梯Club歪歪梯Club
运行总次数:0
代码可运行

前置准备

安装unity【free版即可】 https://unity.cn/ 下载live2d的sdk https://www.live2d.com/zh-CHS/download/cubism-sdk/download-unity/ unity创建2d项目并导入sdk(直接将sdk拖入package并点击import)

创建项目

分层

默认的2d模板只有一个主相机,我们可以先增加两个cavas,作为前景和背景的画板 live2d的模型由sdk自己绘制,不需要新增canvas 两个canvas分别命名为Canvas_BG(背景)和Canvas_FG(前景)

分层面板

按钮和背景图

两个背景分别增加一个panel作为容器,存放背景图或者按钮、对话框

面板组件

为了设置ui的绘制层级,将背景板的sortorder设置为-1000,前景板设置为1000 分别对panel增加背景图和设置背景色即可达到分层遮罩效果

设置遮罩效果 接着从assert里面选中live2d的模型,拖拽到场景里

导入live2d模型 这时live2d模型会看不见,需要调整下另外两个canvas的渲染模式为screen space camera并绑定主相机

live2d模型绑定相机 这样场景里就有了

live2D模型控制

将live2d的模型对象命名为Koharu 则接下来可以通过给Koharu对象挂载下面脚本,提供操作类KoharuModelControl 外部事件通过静态方法GetControlInstance获得实例后,调用实例方法PlayAnimation播放模型动作 通过GetAnimations方法获得可选的动作对象

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using Live2D.Cubism.Core;
using Live2D.Cubism.Framework;
using Live2D.Cubism.Framework.Expression;
using Live2D.Cubism.Framework.Motion;
using Live2D.Cubism.Framework.Raycasting;
using System;
using System.Collections.Generic;
using UnityEngine;

public class KoharuModelControl : MonoBehaviour
{
    public Live2D.Cubism.Core.CubismModel _model;
    public static GameObject _koharu;

    [SerializeField]
    private AnimationClip[] _BodyMotions;

    private static KoharuModelControl _this;

    public static KoharuModelControl GetControlInstance(){
        if(_this == null){
            var _instances = UnityEngine.MonoBehaviour.FindObjectsOfType<KoharuModelControl>();
            _this = _instances[];
        }
        return _this;
    }

    public AnimationClip[] GetAnimations(){
        return _BodyMotions;
    }

    public void PlayAnimation(AnimationClip clip, bool isLoop=false, int priority=CubismMotionPriority.PriorityForce){
        var _motionController = _model.GetComponent<CubismMotionController>();
        _motionController.PlayAnimation(clip, isLoop: isLoop, priority:priority);
    }

    void Start()
    {
        _koharu = GameObject.Find("Koharu");
        _model = this.FindCubismModel();
        Debug.Log("model init " + _model);
    }

接下来,使用常规的按钮事件,给按钮和对话框关联live2d模型即可实现交互

如果需要导入多个live2d模型或者控制live2d模型隐藏,则可以在KoharuModelControl里面加入方法,控制Active属性设置隐藏或显示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public static void SetObjectActive(boolisActive){
        _koharu.SetActive(isActive);
    }
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 歪歪梯Club 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Unity SKFramework框架(二)、UI模块
视图默认被分为以上层级,也可以通过更改该枚举实现自定义层级结构,当UI模块初始化时,系统会根据该枚举中包含的字段自动创建视图层级:
CoderZ
2022/08/29
9210
Unity SKFramework框架(二)、UI模块
SteamVR 1.x☀️二、实现凝视效果——基于[CameraRig]
通过跟踪头部运动,设置一个代表光标的准星,碰触物体后改变位置和朝向,贴近被凝视物体。物体a被凝视一定时间后消失,物体b被凝视一定时间后被击中
星河造梦坊官方
2024/08/14
2250
SteamVR 1.x☀️二、实现凝视效果——基于[CameraRig]
Live 2D所有模型展示图,看板娘图形合集
1、https://unpkg.com/live2d-widget-model-chitose@1.0.5/assets/chitose.model.json
SingYi
2022/07/14
1.8K0
Live 2D所有模型展示图,看板娘图形合集
live2d网页看板娘_live2d吧
链接:https://pan.baidu.com/s/1s7IJIqGnn-cNRAfoS-qG5w 提取码:dhf4 其中包含了看板娘所需的CSS,image,JS,Live2d所需的基本资源。
全栈程序员站长
2022/11/03
8490
前端中的Live2D与技术
Live2D,即为2D绘图渲染技术,游戏中例如崩坏3,碧蓝航线中与老婆交互就利用了live2d,通过前端的渲染,拼接,移动即可做出类似3d的效果,但是始终还是有缺陷,例如无法实现3d的转身,跳跃。
Ar-Sr-Na
2020/07/14
2.6K0
前端中的Live2D与技术
Live2D看板娘来咯~
嘛,讲真这个看板娘挺费我心思的,应该做了有一个多星期,是不是感觉看的时间挺少的,才一个星期而已。 因为这是赶稿的版本,能使用的第一代版本,所以有些地方建模还是有问题的。 可惜现在只有头能动(要不是因为我快开学了我才不会这样一直赶)
筱锋xiao_lfeng
2022/03/16
3500
Live2D看板娘来咯~
【Unity面试篇】Unity 面试题总结甄选 |Unity进阶篇 | ❤️持续更新❤️
Rigidbody具有完全真实物理的特性,⽽CharacterController可以说是受限的 Rigidbody,具有⼀定的物理效果但不是完全真实的。
呆呆敲代码的小Y
2023/07/24
3K0
【Unity面试篇】Unity 面试题总结甄选 |Unity进阶篇 | ❤️持续更新❤️
Live2D使用分享
记得当时在做这个博客网站的时候,确实搞了很多花样。记得当时完live2d看板娘的时候就花了很多时间在这上面,毕竟是一步一步探索,都是从未知开始,今天我来分享总结一下Live2d的使用经历。
不愿意做鱼的小鲸鱼
2022/09/24
1K0
Live2D使用分享
为你的网站加上live2d的动态小挂件,博君一晒
    喜欢二次元的朋友一定对大名鼎鼎的live2d技术并不陌生,live2D是一种应用于电子游戏的绘图渲染技术,技术由日本Cybernoids公司开发,通过一系列的连续图像和人物建模来生成一种类似三维模型的二维图像。
用户9127725
2022/08/08
5480
为你的网站加上live2d的动态小挂件,博君一晒
给你的博客加上个Live2D看板娘吧
本文章中所用模型解包自药水制作师手机游戏,版权归该官方所有。(没错,我也是来安利这款游戏的)
阿珏
2018/08/08
1.8K0
给你的博客加上个Live2D看板娘吧
用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 热更新Live2D
总得来说,我们可以先去live2D官网下载它的Unity SDK,然后即可在Unity中使用。我们这里使用的是live2d 2.1版。
用户1687945
2018/12/24
9460
Hexo-live2D添加
进行安装模型时 npm install --save live2d-widget-model-hijiki
闲花手札
2021/08/24
2980
Hexo主题 | Hexo-yilia的配置
我在使用yilia这个主题时用到的一些设置 获取Yilia主题 $ cd /hexo $ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia 其中/languages存放语言包,/layout存放主题布局文件,/source存放静态文件,如图片,图标等,/source-src存放外部引用资源 添加新页面 打开/hexo/theme/yilia/_config.yml文件,在menu处修改为: menu: 主页
Justlovesmile
2021/12/13
1.1K0
Hexo主题 | Hexo-yilia的配置
添加嘉然live2d作为博客看板娘并本地化
效果:https://www.bilibili.com/video/av375230316
MashiroT
2022/10/28
8160
Hexo -5- 添加 live2d 看板动画
live2d是一种应用于电子游戏的绘图渲染技术,技术由日本Cybernoids公司开发。通过一系列的连续图像和人物建模来生成一种类似三维模型的二维图像。 在Hexo中生成可以与用户互动的卡通人物,简直就是博客的灵魂所在。本文介绍live2d 看板动画添加方法。 安装 hexo-helper-live2d 官网链接 hexo-helper-live2d Github 官方链接 安装时需要在 Hexo 工程目录下输入命令: npm install --save hexo-helper-live2d
为为为什么
2022/08/04
4550
Hexo -5- 添加 live2d 看板动画
Hexo博客添加helper-live2d动态模型插件
在Hexo的 _config.yml 文件或主题的 _config.yml 文件中添加配置. 参阅 live2d-widget.js API
試毅-思伟
2019/05/14
1.7K0
2.5D游戏是如何做出来的呢,2.5D游戏快速制作教程
2.5D游戏 是一种介于二维和三维之间的游戏形式。它通常在二维平面上展示游戏内容,但利用三维技术来实现更加逼真的图像效果。
呆呆敲代码的小Y
2023/08/10
3K0
2.5D游戏是如何做出来的呢,2.5D游戏快速制作教程
unity3d:shader: Clip裁剪显示
立羽
2023/08/24
8510
unity3d:shader: Clip裁剪显示
Unity2D开发入门-资源管理器及音频播放
码客说
2023/07/26
2950
Unity2D开发入门-资源管理器及音频播放
游戏开发初级之游戏对象和组件关系(Unity3D)
在Unity中, GameObject几乎就是一个空对象。这是其他一切的基础。它只是一个有组件空间的原始对象。除非我们向GameObject添加组件,否则GameObject本身什么也不做。
恬静的小魔龙
2022/08/07
1.2K0
游戏开发初级之游戏对象和组件关系(Unity3D)
相关推荐
Unity SKFramework框架(二)、UI模块
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验