【问题解决】cubismSDKforUnity的眼动追踪异常问题
live2d吧
全部回复
仅看楼主
level 1
晚江上 楼主
前言:本人最近在研究live2d的unity插件,有个问题我发现很多人都有,但是苦于资料陈旧(26年还在翻13年的东西[汗]),今天刚好遇到了顺手解决了。至于为什么发在本吧,我寻思隔壁应该更不合适吧……管理别删我,能多造福几个人。[吐舌]
好了,进入正题。
问题描述:cubismLookAtController组件,在移动模型后导致的视线追踪异常问题。
问题表现:模型人物持续看向(0,0,z)坐标。即人在左看右,人在右看左……
问题根源:官方摆烂加上n手简易代码。具体咋回事看我下面细说。
问题细节:既然你都看到这了,相必什么CubismLookAtPremeter需要配置、target需要实现IcubismLookTarget方法等等你都知道了。毕竟这些内容很多人都在传。但是就是因为官方摆烂,这么个方法都不写(举例:Target连个代码获取的方法都没有)。然后在官方文档贴了个例子,然后一堆人开始传。
相信你们都抄过这段代码:
问题就在这,这代码太简单了。为什么大家的角色都会看向中间?首先这代码在做的时候就没考虑角色会移动,所以理所当然就用0向量作为鼠标松开的结果了。但是理论上来说,这时候的position应该是它脚本里的Center。只要修改掉这部分的代码,就能修复这个问题。所以这是一个官方摆烂加一群人传谣的结果。
问题解决方案:1、给模型一个空物体当容器,如果要移动的话移动容器不是模型。否则会导致点击失效,因为超过参数上限了。所以别用你Main Camera当父物体了!2、调整这个接口的代码实现。我没做完,自己问ai吧。反正每个工程的需求都不一样,没必要抄我的。
贴一下官方脚本里用到这部分代码的地方:
2026年01月29日 17点01分 1
1