Part1ではMagicaVoxelで作成した3Dモデル(金魚)を2つのパートに分割してエクスポート。その後Unityにインポートして正面から表示させるところまで進行した(詳細は下記参照)。
今回Part2は、Unityのスクリプトを使用して3Dモデル(金魚)でアニメーションもどきやってみる。
この記事の参考書籍
カメラ位置の設定
オブジェクトに動きのスクリプトを設定する前に、Gameビューにした時の金魚全体の動きが分かるよう、カメラの位置を金魚の全体像がみえる位置に設置する。
Hierarchyビューにある“Main Camera”を選択すると、Sceneビューの右下にGameビューのPreview(試写)が表示される。
![](https://nahbun50.com/wp-content/uploads/2022/07/4b820548ffdca22d08fbb3ba51ee22f3-6.png)
Inspectorビューで、(Main Cameraの)Position、Rotationの値を変更して、Main Cameraのプレビューでの金魚の見え方を調節(上下左右に移動・回転)。
![](https://nahbun50.com/wp-content/uploads/2022/07/92d57db0790a5fa5b8a0cc20858a9366-4-800x274.png)
斜め上から金魚を見下ろすカメラ位置に決定。
![](https://nahbun50.com/wp-content/uploads/2022/07/c2dda1d20b57ad8d0298a15686591503-4-800x364.png)
Gameビューで図のように表示された。とりあえず見え方はこれで良しとする。
![](https://nahbun50.com/wp-content/uploads/2022/07/2daf4508ecfda0c22097a042b7d1c1b4-4-800x504.png)
オブジェクトを動かすスクリプト(命令コード)の記述
ここから、オブジェクトにスクリプト(命令コード)をアタッチ(設定する)して、金魚を動かす。
スクリプトの作成
画面下のProjectビューを、オブジェクトのフォルダからAssetsフォルダに変更する。
![](https://nahbun50.com/wp-content/uploads/2022/07/2f18037bd1f8ce03c181f385b76816e3-3-800x161.png)
Projectビューの“+”タグをクリック。
メニューから“C#Script”を選択すると、Assetsフォルダ内にスクリプトファイル(#アイコン)が出現するので、ファイル名を入力。
![](https://nahbun50.com/wp-content/uploads/2022/07/43814141cb3a5bcf3e479e89303d3de2-4-800x218.png)
スクリプトファイル(#アイコン)をダブルクリックすると、VisualStudioが起動する。
そのまま待機していると、スクリプトのコード記述の画面となる。
![](https://nahbun50.com/wp-content/uploads/2022/07/619338d8eae13903374c3d959b4532ea-3-800x255.png)
オブジェクトを60度の範囲で順転・反転させるコードを記述(もっと簡潔な記述はあると思うがとりあえず)。
![](https://nahbun50.com/wp-content/uploads/2022/07/5524848c92466b4f89ec7329440bb253-2.png)
左上の“赤ボタン”で画面を閉じると保存警告画面が表示されるので、[保存]をクリック。VisualStudio画面を左上の“×”で閉じる。
![](https://nahbun50.com/wp-content/uploads/2022/07/9113139b16a8da3452f5f9b7797fcd83-2-800x244.png)
オブジェクトへのスクリプトのアタッチメント
保存したスクリプトファイル(shipohuri)を、しっぽオブジェクトにアタッチ(くっつける)する。
スクリプトファイルをHierarchyビューリストにあるしっぽオブジェクトの上に、ドラッグ&ドロップ。
しっぽオブジェクトのInspectorビューで、Shipohuri(Scropt)が追加された。
![](https://nahbun50.com/wp-content/uploads/2022/07/9115b90819a46b4f54acddb9107f30bf-2-800x268.png)
Gameビューでの動きの確認
画面上部中央の[Play]ボタンをクリック。
![](https://nahbun50.com/wp-content/uploads/2022/07/c1d9c428389228a761558d2bf36b3e95-2-800x259.png)
金魚のしっぽ部分のみが60度の範囲で左右に動いた(順転・反転)。
![](https://nahbun50.com/wp-content/uploads/2022/07/4acc921111f3b590f9743688883db2e8-2.png)
もう1つのオブジェクトにもスクリプトを設置する(同作業)
次に胴体部分も動かす。
Projectビューの“+”タグをクリック。C#Scriptクリックして、新規Scriptファイル(karadahuri)作成。
![](https://nahbun50.com/wp-content/uploads/2022/07/b655654d5058353b5b8e1a705db28541-1-800x200.png)
作成したScriptファイルをダブルクリックしてVisual Studio起動。
表示されたコードに、先ほどと同様の(ただし回転は逆にした)コードを記述。
![](https://nahbun50.com/wp-content/uploads/2022/07/82045ce962a04701aaedadeeb8278987-800x311.png)
先ほどと同様に左上赤ボタン→[保存]→Visual Studio終了でUnity画面に復帰。
![](https://nahbun50.com/wp-content/uploads/2022/07/7eaa64ec83ce00330d2355c06434e5af-800x235.png)
新スクリプトファイル(karadahuri)をHierarchyビューに並ぶ“胴体部分オブジェクト”上にドラッグ&ドロップ。
Inspectorビューでスクリプトファイル(karadahuri)がアタッチメントされたことを確認できたら、画面上部の[Play]ボタンをクリック。
![](https://nahbun50.com/wp-content/uploads/2022/07/e1cf8bd018971ce07f45c1984757989e-800x196.png)
Gameビューでアニメーション確認
金魚が、胴体としっぽを逆方向に回転させながら動いた。
メインカメラの位置を、オブジェクトの右斜め下に変更したら、動きが見やすくなった。
思っていたような動き(アニメーション)が作れた。成功!
![](https://nahbun50.com/wp-content/uploads/2022/07/7e1aeac374dc4d093f5a9e5cc729aa60-800x158.png)
“Play状態”を止めるのは、再度[Play]ボタンをクリックだった(他のボタンで止めると、次の操作ができなかった)。
画面上部メニューの「File」→「Save」で保存。終了。
![](https://nahbun50.com/wp-content/uploads/2022/07/2d69a7720e4350bf0f3fd63a4c348f2b-800x234.png)
MagicaVoxelモデルをUnityに移植してアニメーションさせる目標は、無理やりながら、達成できた。
しかしながら、今後このようなアニメーションは作らないのだろうな。
とは言え、今回の試みで、Unity3Dの色々な操作を覚えることができた。
追記:
その後、Unityの”Animator Controller”機能を使ってちゃんとアニメーションさせることができた。
ただしUnityの前に、Blenderでのアニメーションでの設定が必要。
詳細は以下の記事を参照にしてください。
この記事の参考書籍