Humanoid型に設定した3DモデルをResources.Loadを使って読み込むとAnimatorのAvatar項目にはmodelAvatarと表示されるのですが、
UnityEngine.Object modelPrefab = Resources.Load(modelPath + "/model", typeof(GameObject)); GameObject selModels = (GameObject)GameObject.Instantiate(modelPrefab, Vector3.zero, Quaternion.Euler(0, 180f, 0));
TriLibを使って下記のように読み込むと下記画像のようにAnimatorのAvatar項目がnullになってしまいます。
GameObject selModels; using (var assetLoader = new AssetLoaderAsync()) { var assetLoaderOptions = AssetLoaderOptions.CreateInstance(); assetLoaderOptions.RotationAngles = new Vector3(0f, 180f, 0f); assetLoaderOptions.AutoPlayAnimations = true; assetLoader.LoadFromFile(modelPath, assetLoaderOptions, null, delegate (GameObject loadedGameObject) { selModels = loadedGameObject; Animator _animator = selModels.GetComponent<Animator>(); if (_animator == null) { _animator = selModels.AddComponent<Animator>(); _animator.avatar = null; //??? _animator.applyRootMotion = true; _animator.updateMode = AnimatorUpdateMode.Normal; _animator.cullingMode = AnimatorCullingMode.CullUpdateTransforms; } }); }
TriLib読み込み時にHumanoidが崩れない方法、または
3dモデル読み込んでから_animator.avatarにmodelAvatarを設定する方法がわかりません。
どのようにすればよいでしょうか。
OS,windows10 Pro 、UNITY 2018.3.14です
よろしくお願いいたします。
--追記--
動的にアバターを作成する参考サイトがあったのですが、
スクリプトが完全ではなくちょっと困惑しています。
http://edom18.hateblo.jp/entry/2017/12/09/105126
不明点、、下記の変数の定義がないのでよくわかりません
・_transformDefinision
・_skeletonBones
・_srcAvatar
・_srchandler
・_destHandler
・_targetAnimator
あなたの回答
tips
プレビュー