「Unity/おすすめアセット/学生」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→キャラクタ動かし方) |
(→Resourceからロードして動作するサンプル) |
||
(同じ利用者による、間の3版が非表示) | |||
行15: | 行15: | ||
==URP対応できず== | ==URP対応できず== | ||
− | + | オブジェクトがピンクになったし、materialをlitにしても改善できずだった。 | |
+ | |||
+ | ==Resourceからロードして動作するサンプル== | ||
+ | <pre> | ||
+ | [SerializeField] | ||
+ | RuntimeAnimatorController runtimeAnimatorController; | ||
+ | void Start() | ||
+ | { | ||
+ | GameObject prefab = (GameObject)Resources.Load("Taichi/Models Mecanim/m01_blazer_000_l"); | ||
+ | GameObject personObj = Instantiate(prefab, Vector3.zero, Quaternion.identity); | ||
+ | personObj.transform.localRotation = Quaternion.Euler(0, 180f, 0); | ||
+ | Animator animator = personObj.GetComponent<Animator>(); | ||
+ | animator.runtimeAnimatorController = runtimeAnimatorController; | ||
+ | // 重力 | ||
+ | Rigidbody rigidbody = personObj.AddComponent<Rigidbody>(); | ||
+ | rigidbody.constraints = RigidbodyConstraints.FreezeRotation; | ||
+ | // 接触 | ||
+ | CapsuleCollider collider = personObj.AddComponent<CapsuleCollider>(); | ||
+ | collider.center = new Vector3(0f, 1f, 0f); | ||
+ | collider.height = 2; | ||
+ | } | ||
+ | </pre> |
2022年10月9日 (日) 08:36時点における最新版
アセット
アプリサイズ
- taichiのアセットインポートして、ios通常ビルドで230MB
- taichiのアセットインポートして、iosのcompresionMethodをLZ4でビルドで150MB
キャラクタ動かし方
- シーン上にTaichiのmodelをドラッグ
- Assetsの下にAnimetionsのdirを作成しCreate/AnimatorControllerを作成
- 例として、PersonAnimatorControllerとして作成
- TaichiのanimetorにAnimationのMotionをPersonAnimatorController上へドラッグして入れる
- defaultを設定するためEntryから矢印を引く
URP対応できず
オブジェクトがピンクになったし、materialをlitにしても改善できずだった。
Resourceからロードして動作するサンプル
[SerializeField] RuntimeAnimatorController runtimeAnimatorController; void Start() { GameObject prefab = (GameObject)Resources.Load("Taichi/Models Mecanim/m01_blazer_000_l"); GameObject personObj = Instantiate(prefab, Vector3.zero, Quaternion.identity); personObj.transform.localRotation = Quaternion.Euler(0, 180f, 0); Animator animator = personObj.GetComponent<Animator>(); animator.runtimeAnimatorController = runtimeAnimatorController; // 重力 Rigidbody rigidbody = personObj.AddComponent<Rigidbody>(); rigidbody.constraints = RigidbodyConstraints.FreezeRotation; // 接触 CapsuleCollider collider = personObj.AddComponent<CapsuleCollider>(); collider.center = new Vector3(0f, 1f, 0f); collider.height = 2; }