[LayaAir 2.0]关于2.3.0动作克隆问题,AB两个怪物用同一个模型,A的动作会影响B。

RT。例如这套模型有 走路 待机 攻击三个动作状态.创建状态的时候是
let state: AnimatorState = new AnimatorState();
state.name = key;// walk/idle/attack
state.clipStart = clipStart;
state.clipEnd = clipEnd;
state.clip = this._animator.getDefaultState().clip;
this._animator.addState(state);
每个状态的clip都是 this._animator.getDefaultState().clip 这个对象。
播放动作时,是根据动作类型设置是否循环。
this._animator.play(this._action);
this._animator.getDefaultState().clip.islooping = this._action=="walk" || this._action=="idle"
现在的问题是,当A怪物播放攻击动作时 B怪物如果正在走路或者待机 动作会停止,
定位到是由于B怪物的clip.islooping 变成是false了。
请问克隆的时候 是不是所有的状态都是用了同一个clip对象呢?
我创建状态的方式是正确的吗?
state.clip = this._animator.getDefaultState().clip;
创建状态的clip这种方式是不是欠妥呢?
 
已邀请:

zzzzz

赞同来自:

你好,麻烦问下这个问题有解决么。

要回复问题请先

商务合作
商务合作