Laya踩坑日记,镜头和拖尾

最近有个Laya+unity的项目,发现unity中制作的动画,导入到unity中,镜头乱飞,而且拖尾也有问题.
例如:下图
(unity中效果)
在这里插入图片描述
导入到Laya中显示如下,拖尾显示不出来.
在这里插入图片描述
还有镜头乱飞的问题,unity中显示正常,但是Laya中可能算法有问题,如果偏移角度从正到负,或者从负到正,例如,-1到1,算法可能是算了个一周,从-1算到-360然后再算到1,同理从1到-1也是如此,多次实验发现角度如果有正负差别,镜头会旋转一周,体验不好, 于是只能采用,恒定曲线做
在这里插入图片描述
这样可以瞬间切镜头,就避免了镜头乱飞的问题,不过如果需要缓慢的移动镜头,涉及到角度正负问题,可以拆分成两个动画制作.

LayaAir3D监听动画状态
参考了上面链接监听动画结束状态,在上一个动画结束后就立刻调用下一个动画,可以使两个动画无缝拼接

var anim = this.owner.getChildAt(0).getComponent(Laya.Animator);
var state = "die";
var layer: Laya.AnimatorControllerLayer = anim.getControllerLayer();
var dieState: Laya.AnimatorState = layer.getAnimatorState(state);
dieState.clip.islooping = false;//为true时不执行onStateExit
var dieStates: Laya.AnimatorStateScript = dieState.getScript(Laya.AnimatorStateScript);
if (dieStates == null) {
    dieStates = dieState.addScript(Laya.AnimatorStateScript);
}

dieStates.onStateEnter = function () {
    console.log(state, "enter.");
}

dieStates.onStateUpdate = function () {
    console.log(state, "update.");
}

dieStates.onStateExit = function () {
    console.log(state, "exit.");
}
anim.play(state);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值