シーン内にオブジェクトを配置している際、人物モデルのAnimatorに設定してあるアニメーションのポーズをとらせたかったのに方法がわからなかったので、
スクリプトで強引に解決した。
下のようなかんじで、レイヤーが二つあるAnimatorを適用した人物モデルの場合。
以下のスクリプトをAnimatorをもったモデルに適用。
using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] struct PoseAnimatorSetting { public string LayerName; public string StateName; } public class ApplyAnimatorPoseInScene : MonoBehaviour { #if UNITY_EDITOR [SerializeField] List<PoseAnimatorSetting> PoseAnimatorSettingList; [SerializeField] public float poseTimeInClip; private void OnValidate() { var animator = GetComponent<Animator>(); foreach(var p in PoseAnimatorSettingList) { animator.PlayInFixedTime(p.StateName, animator.GetLayerIndex(p.LayerName), poseTimeInClip); } animator.Update(poseTimeInClip); } #endif }
インスペクタでポーズをとらせるアニメーションを設定する。
シーン編集中に自動でポーズとってくれるようになる。
そもエディタにこういう機能あるかも。しらん。