Unity Live2D 综合篇:点击模型时播放动作和声音

本文介绍了在Unity 2019.4.0f1中,如何使Live2D模型在特定部位被点击时播放相应动作和声音。实现这一功能不需要依赖官方脚本,而是通过RayCaster组件结合AudioSource和自定义Manager脚本来完成。文章还提醒,直接使用getMouseButton可能不理想,因为游戏中可能存在其他操作冲突。提供了源码供读者参考,如有问题可私信作者。
摘要由CSDN通过智能技术生成

环境:
Unity 2019.4.0f1
CubismSdkForUnity-4-r.1

这篇文章能让模型被点击设定部位后做出反应
就像这样(这个是我的成品展示)在这里插入图片描述
这个功能不能依赖官方脚本了,嘚我们亲手操作!
若没有学习Audio Mouth Input和Motion Controller的同学请回到目录
开始

这篇文章需要用到的三个组件就是上面说的那两个还有一个RayCaster(射线投射器)
备注:其实也可以不用 直接用getMouseButton也行 但是这不太好 因为游戏中可能还会涉及到其他操作 这里要进行分开
在这里插入图片描述
直接丢在模型根部
然后到模型中的Drawables那里找到想添加射线判定的网格
在这里插入图片描述
加一个Raycasterable脚本就行了
下拉框中两个参数
一个是Bounding Box (边界框)另一个是Triangle (三角形)
我们不管他 直接选BoundingBox

然后直接创建一个空物体加一些jio本来管理我们的小姐姐
一个AudioSource 然后新建一个Manager脚本
在这里插入图片描述
在这里由于是成品我顺手做了闲置通道和音量加减的效果
请认真阅读源码后自行使用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Live2D.Cubism.Core;
using Live2D.Cubism.Framework.Raycasting;
using Live2D.Cubism.Framework.Motion;

public class Manager : MonoBehaviour
{
   
    //拿到模型
    [SerializeField]
    public CubismModel Model;
    //附在模型根部的Raycaster
    private CubismRaycaster Raycaster {
    get; set; }
   //拿到射线结果
    private CubismRaycastHit[] Results {
    get; set; }
    //动画控制器
    public CubismMotionController _CubismMotionController;
    //动画数组 
    public AnimationClip[] _AnimationClips;
    public AnimationClip[] _AnimationClips_Idle;
    //对话框
    public UnityEngine.UI.Text _ShowText;
    public UnityEngine.UI.Image _ShowImage
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值