Ble フグの羽と尾ヒレを動くようにする

Blender

チュートリアル

なし

成果物

作業のながれ

✅ ステップ①:ヒレや尾ヒレを本体の子オブジェクトにする

🔧 やり方(親子関係を設定)

  1. オブジェクトモードでヒレ(左→右→尾→目玉)を Shift+クリック で選択
  2. 最後に本体を最後に選ぶ(アクティブ)
  3. Ctrl + P → 「オブジェクト(Keep Transform)」を選ぶ

🎯 → これで Unity に持っていったときに 「親:本体、子:ヒレ・尾ヒレ・目」 という構成になります

✅ ステップ②:各ヒレの原点(オリジン)を根元に設定

Unityで動かす際、オリジンが回転中心になるので重要!

🔧 やり方(各ヒレに対して)

  1. 編集モードでヒレの根元の頂点 or 面を選択
  2. Shift + S → 「カーソルを選択物に」
  3. Tab でオブジェクトモードに戻る
  4. 右クリック → 原点を3Dカーソルに(Set Origin → Origin to 3D Cursor)

🎯 → これで、Unity上で自然に「ヒレの付け根から動く」ようになります!

  • 左右のヒレを分離
  • 編集モードで片方のヒレを選択し P ->分離
  • オリジンの設定

✅ ステップ③:位置・回転・スケールの適用(Transformのリセット)

各オブジェクトごとに:

  • Ctrl + A → 「 回転・スケール」を適用(locationも適用すると原点がずれるので注意)
    → Unityでのズレを防ぎます

✅ ステップ④:FBXエクスポート設定(確認)

  1. ファイル > エクスポート > FBX
  2. ✅ 選択オブジェクトのみ(Selected Objects)
  3. ✅ Apply Transform(変換を適用)
  4. ✅ Forward: -Z Forward, Up: Y Up
  5. ❌ Embed Textures(使わないほうが安全)

Unityインポート

  • 以下のファイルを作成し、3つのヒレにアタッチする
using UnityEngine;

public class Fin : MonoBehaviour
{
    public float speed = 5f;     // 速さ(Hz)
    public float angle = 30f;    // 揺れ角度(±度数)

    private float timeOffset;

    void Start()
    {
        // フグが複数いるとき、動きを少しずらす
        timeOffset = Random.Range(0f, Mathf.PI * 2);
    }

    void Update()
    {
        float wiggle = Mathf.Sin(Time.time * speed + timeOffset) * angle;
        transform.localRotation = Quaternion.Euler(0, wiggle, 0); // Y軸回転(ヒレ向きに応じて調整)
    }
}

作成を終えた感想

  • 個別パーツで出力し、Unity側でアニメーションさせることができた。
  • 回転とスケールのみを適用するところがポイント

コメント

タイトルとURLをコピーしました