学习
实践
活动
专区
工具
TVP
写文章
专栏首页歪歪梯Clubunity+live2d制作galgame框架

unity+live2d制作galgame框架

前置准备

安装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方法获得可选的动作对象

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属性设置隐藏或显示

    public static void SetObjectActive(boolisActive){
        _koharu.SetActive(isActive);
    }
文章分享自微信公众号:
歪歪梯Club

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

作者:歪歪梯
原始发表时间:2022-06-21
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • ADV 游戏引擎计划

    简而言之,平时我们常见的 Galgame / 视觉小说便是 ADV/AVG 的一种。

    云游君
  • 国产游戏开发者批Steam不了解东亚文化 美少女≠色情

    今年一月Steam开始严查成人向游戏作品,连《筑盛计划》这样的美少女画风的GALGAME作品都成了“祭品”,如此随性的操作,让许多制作人无所适从,并吐槽Stea...

    Zip
  • iOS中制作可复用的框架Framework 原

            在iOS开发中,我们时常会使用一些我们封装好的管理类,框架类,方法类等,我们在实现这些文件时,可能还会依赖一些第三方库或者系统库。如果每次我们复...

    珲少
  • 制作类似ThinkPHP框架中的PATHINFO模式功能

      搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大。

    那一叶随风
  • 制作一个PHP简易框架(九)-- ORM

    项目地址:https://github.com/ayuayue/php-frame

    caoayu
  • Android 一个酷炫的图表制作框架

    最近项目中需要制作柱形图以及折线图,所以便在网上搜索了一下这方面的开源框架,最后找到了这个酷炫的框架,不仅支持各种各样的图形制作,包括折线图、柱形图、饼状图等,...

    developerHaoz
  • 制作一个PHP简易框架(五)-- 优化 response

    整合逻辑与功能,将不同职责进行分离,避免在项目变得复杂时而变得异常混乱。一个有序的明了的项目结构可以更好的帮我们理解框架的运行原理,上手也更快速。

    caoayu
  • 制作一个PHP简易框架(八)-- 配置中心

    对于一个需要灵活更改配置的项目来说,配置中心是必不可缺的一个功能。它可以帮我们统一管理配置项,降低了更改配置时对系统造成误操作的风险。

    caoayu
  • 制作一个PHP简易框架(六)-- 视图模板

    使用 Twig 开发包来提供视图的功能。项目地址 : https://github.com/twigphp/Twig 。

    caoayu
  • 制作一个PHP简易框架(四)-- 路由系统

    对于一个 web 服务来说,路由系统基本是所有 php 开发框架中十分基本也是必需的功能了。

    caoayu
  • 制作一个PHP简易框架(二)-- 引入容器

    使用容器来管理服务包的依赖问题,避免在使用某个第三方包时由于依赖太多而造成项目的复杂度增大与难以管理的问题。

    caoayu
  • 制作类似ThinkPHP框架中的PATHINFO模式功能(二)

      距离上一次发布的《制作类似ThinkPHP框架中的PATHINFO模式功能》(文章地址:http://www.cnblogs.com/phpstudy201...

    那一叶随风
  • 使用javafx框架tornadofx制作诗经查看工具

    为了让各位都动起手来一起学习,以后的博客中贴一半代码,另一半代码以图片形式显示。用到的json数据

    用户6167008
  • 制作一个PHP简易框架(三)-- 信息调试

    使用 php 自带的 var_dump、 print_r 等方法来打印输出并不美观,尤其在打印的数据比较多的时候,非常不易于观看,本次加入 symfony/va...

    caoayu
  • 制作一个PHP简易框架(十)-- Session and Cookie

    项目地址:https://github.com/ayuayue/php-frame

    caoayu
  • 使用javafx框架tornadofx制作的成语字典小工具

    使用borderpane布局,left部分包括一个用于输入查寻关键字的文本框、查询清空按键和26个英文字母按钮,center部分一个tableview,显示查寻...

    用户6167008
  • javafx框架tornadofx入门32_制作图标浏览工具

    用户6167008
  • 【开发框架】Mmdetection3dlab Docker 环境改良和制作

    ✨本文提供了一套完整的基于Docker的目标检测研究环境搭建思路,对官方教程进行了一定的修改和补充。同时随文提供SSH和Jupyter server实践,均为可...

    杨丝儿
  • Python WEB开发:用Tornado框架制作简易【表白墙】网站

    在Python当中,WEB开发框架主要有三个,而今天主要是用到Tornado框架(虽然这个框架是没什么人用的轻量级框架)

    松鼠爱吃饼干

扫码关注腾讯云开发者

领取腾讯云代金券