Animatorがついているボーンのtransformをスクリプトからいじれない
基本はAnimator経由でアニメーションさせるけど、頭の向きだけスクリプトからボーンのTransformをいじって動かしたい
Animatorをつけていない状態だと動かせる。
Animatorをつけていると、動かせない
インスペクタで直接いじってもダメ
AvatarMask→失敗
AvatarMaskをつけて首はAnimationさせなければ良いかと思いきや、うまくいかない
そもそもNeckのBoneはAvatarMaskの頭と胴体どっちに含まれるのか。どっちもダメだったけど
それとも下のTransformで設定すべきなのか。でもTransformにVrmArmを設定しても何も出てこない
同じ人いた
1年前も同じこと言ってる…(またVRMでアバターマスク作ろうとしてた) https://t.co/TZRRiCZNS7
— よーへん㌠🌒xRデザイナー (@RI_Yohen) 2020年3月3日
うーん?
LateUpdate
ググったらLateUpdateでスクリプトからいじっている記事が多かった
確かにLateUpdate内でやったら動いた。
void LateUpdate()
{
if( Input.GetKeyDown( KeyCode.Space ) ){
Neck.localRotation= Quaternion.Euler(0.0f, 0.0f, 10f);
}
}
アニメーションが行われた後にやるからか
最後に
LateUpdate使わない方法ないのかな?
UniRxでLateUpdateってどうやるんだろう
LateUpdateみたいな動作ってLateStart的なこと?
— Totorock (@totorock_lin) 2019年4月22日
UniRx使えば色々UnityのLifecycleのイベント弄れるね、await UniTask.DelayFrame(1)でも一発解決