unity+live2d制作galgame框架
unity+live2d制作galgame框架
- 前置准备
- 分层
- 按钮和背景图
- live2D模型控制
前置准备
安装unity【free版即可】 unity下载
下载live2d for unity的sdk cubism-sdk下载
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模型会看不见,需要调整下另外两个canvas的渲染模式为screen space camera并绑定主相机
这样场景里就有了
live2D模型控制
将live2d的模型对象命名为Koharu
则接下来可以通过给Koharu对象挂载下面脚本,提供操作类KoharuModelControl
外部事件通过静态方法GetControlInstance获得实例后,调用实例方法PlayAnimation播放模型动作
通过GetAnimations方法获得可选的动作对象
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[0];}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);}
更多文章,请搜索公众号歪歪梯Club
unity+live2d制作galgame框架相关推荐
- Unity中制作游戏的快照游戏支持玩家拍快照
Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家"拍快照",也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介 ...
- [Unity] 状态机事件流程框架 (二) 设计游戏状态的保存框架,存档功能 ScriptableObject、EasySave
前文 : [Unity] 状态机事件流程框架 (一) 本期来设计一个游戏状态的怎么在游戏中表示和存储.保存游戏状态的目的一是方便根据玩家当前的游戏进度实行各种各样的逻辑分支,二是在存档时 ...
- 【游戏开发实战】使用Unity 2019制作仿微信小游戏飞机大战(七):主角飞机碰撞与爆炸
文章目录 零.教程目录 一.前言 二.本篇目标 三.飞机机碰撞组件:BoxCollider2D.Rigidbody2D 四.添加Tag:Enemy 五.主角飞机碰撞处理:OnTriggerEnter2 ...
- 如何在unity中制作塔防游戏
塔防游戏非常流行,毫无疑问--没有什么比看着自己的防御消灭讨厌的侵略者更让人满足!在这两部分教程中,用unity来制作一个塔防游戏! 将会学习怎样...... 创建一波敌人 让它们跟随线路点 ...
- Unity游戏通用mod框架BepInEx生态的工作原理简介
背景 几个月前, 游戏雨中冒险2 (Risk of Rain2)出了新的DLC, 工作之余跟伙伴联机受受苦还是惬意的.RoR2 这个游戏在设计上的一些机制(比如没有小地图)使得本来操作就不精湛的我 ...
- 我如何用Unity3D实现一个Galgame框架(一)
序 Galgame我很早就陆陆续续的接触过,但大都是别人推荐或名声很大.梗很多的,比如催泪的有clannad,狗血的有School Days,还有胃疼的白学.但自己对Galgame和AVG真正产生兴趣 ...
- 在Unity中制作4种不同的游戏
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:8.6 GB 含课程素材 |时长:15h ...
- 在Unity中制作高质量的光照效果(上)
原创: Unity Unity官方平台 本篇专家指南将介绍在Unity中制作高质量光照效果的多种高级方法,其中使用了2D和立方体贴图的光线遮罩,并且利用了Unity高清渲染管线HDRP中的高级着色器. ...
- Unity 3D模型展示框架篇之项目整理
本项目将整合之前Unity程序基础小框架专栏在Unity 3D模型展示项目基础上进行整合,并记录了集成过程中对原脚本的调整过程.增加了Asset Bundle+ILRuntime热更新技术流程. 1. ...
最新文章
- pycharm打开报错python已经停止工作
- 在GLSurfaceView上添加Layout控件(android)
- 上证50基金有哪些_定投基金(易方达上证50指数A)
- 一个会“说话”的油箱盖,告诉你每一滴油的去向
- C++ HDC作图 内存画图
- ubuntu wine 使用
- GBase学习-安装GBase 8a MPP Cluster V95
- 整合并接班MSN!Win8版Skype完全体验
- IDEA如何设置背景色?
- 推荐几个适合 新手学习 软件逆向 脱壳破解 的网站
- 新手学习selenium路线图(老司机亲手绘制)-学前篇(转上海悠悠)
- java开发软件怎么安装不了_java开发软件的安装
- 油菜的做法及营养知识详细介绍
- 无线传输时间同步 (基于NRF52设备)
- 使用requests爬取实习僧网站数据
- 阿里云服务器调用微信支付接口慢的解决方案 (api.mch.weixin.qq.com)
- HotFix移动热修复详解
- socket缓冲区/sk_buffer/滑动窗口关系
- Qt显示PDF之四pdfium封装
- C语言编译、链接简介