facebook twitter hatena line email

「Unity/おすすめアセット/学生」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(アプリサイズ)
(Resourceからロードして動作するサンプル)
 
(同じ利用者による、間の4版が非表示)
行13: 行13:
 
#TaichiのanimetorにAnimationのMotionをPersonAnimatorController上へドラッグして入れる
 
#TaichiのanimetorにAnimationのMotionをPersonAnimatorController上へドラッグして入れる
 
#defaultを設定するためEntryから矢印を引く
 
#defaultを設定するためEntryから矢印を引く
 +
 +
==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

キャラクタ動かし方

  1. シーン上にTaichiのmodelをドラッグ
  2. Assetsの下にAnimetionsのdirを作成しCreate/AnimatorControllerを作成
  3. 例として、PersonAnimatorControllerとして作成
  4. TaichiのanimetorにAnimationのMotionをPersonAnimatorController上へドラッグして入れる
  5. 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;
}