見出し画像

Unity 3Dで遊ぶためのハードル2

Unityを学習しています。

以前、以下のような記事を書きました

この記事に従って、3Dモデルを作ってゲーム内に持ち込むことは可能です。
最も簡単だと思います。

しかし、別の方法も欲しいですね。
できれば自力でモーションを作るのも考えてみたいものです。

とりあえずなには無くともUnityちゃん
僕らはUnityちゃんに対する愛情を失わないようにしなければいけません。なぜなら、Unityちゃんは、最新の技術も教えてくれるからです。

Unityちゃんのページ

そして、気になるスターターアセット

スターターアセットを使って、unityちゃんをURPで動作させることもできそうだ。

できそうだということはわかっても、今それをやるべきか?

やるべきかどうかはわからないが、Unityを使いこなすためには3Dモデルをインポートしてリグを付け替えて動作させる。ということは必要でしょうから、なんか色々やってみましょう。

スターターアセットの動画を観ましょう。

走らせるための土地も準備したいですね。これは適当に無料のもので試します。

動画もザっと見てっと・・・よしわかった!

まず大地を準備します

Firsty Fantasy Lands1をインポートしましょう。
URPに対応しているということなので、プロジェクトを新規作成しましょう。

名前はなんでもよろしい

パッケージマネージャーから、Fantasy Lands1をダウンロードしてインポート

わりと時間がかかりそうな

インポートしたら、サンプルが入ってそうなSceneを探します。

ありました。コピーして原本は保存
開いて、再生ボタンを押すと、空を飛びます

自動で空を飛ぶのも良いですが今回は歩き回りたい。

Enviromentの中に、環境関連オブジェクトとみられるものを入れて再プレハブ

このときカメラなどの共通的に使用しているものはコピーしない

サンプルシーンのメインカメラなどを使用するので、シーンをコピーして
GameSceneという名に変えてみる。

その下に、先ほど作ったEnviromentのプレハブを設置してみる。
せっかく水シェーダーがあるので、Planeもプレハブ化して移動する

走らせるフィールドはこれでよい。

続いて、スターターアセットをインポートします。

とりあえず、一人称視点をインポートしてみよう

Unityの再起動された。

インポートするとTutorialのメニューがでてくる
StartAssetにカメラと本体がある。
MainCamera PlayerCapsule PlayerFollowCameraをヒエラルキーに出す。

既存のカメラを削除する。

が、このままではカメラは動かない。

PlayerFollowCameraの、上記コンポーネントに、PlayerCameraRootをアタッチする
再生すると動くぞ!

では3人称視点で同じことを。

ThardPersonスターターアセットをインポートし


同様にカメラなどが存在するので入れていく

PlayerArmatureをシーンビューにドラッグし、1人称視点と同様に


ヒエラルキーのPlayerCameraRootを、CinemachineVirtualCameraのFollowにアタッチ
うごくぞ!

まあ実際に、ここまではササっといけると思っています。Unityちゃんでそれができるかどうかですね。

Unityちゃんをインポートする。

制服ユニティちゃん.packageをインポートする。

彼女はマゼンダ

なので、シェーダーをURPに対応させる。

トゥーンシェーダーが必要なので・・・インポートしましょう。必要じゃないかも?

[com.unity.toonshader]をインポートする
各種マテリアルのシェーダーをtoonに変えてみると
見えるようになる。直射日光に弱いようだ・・・

まあしかしこれでマゼンダでなくなったので良し。

この子がHumanoidかどうか確認しましょう。

良いみたいですね

こっからっす

PlayerArmatureをすべて展開しましょう。


コントローラーのデフォルトメッシュを削除します。

Geometryの子供に、使用するFBXプレハブを置き換えましょう。

再生すると・・・

こっわ、顔がついてきていませんね。
Geometryに頭もおきました
顔はよくなったが、アニメがあたりませんね?
PlayerArmature(親オブジェクト)のアバターを、目的のモデルのものに変えますと


動くぞ!顔以外!

顔は、アバターからちょっと外れてますもんね。これを一体化させるのはちょっと今は難しそうだ。

同じ作業を、ほかの3Dモデルでやってみる。

sketchFabからダウンロードしたFBXファイルを解凍し、ドラッグする。

顔は怖いがヨシ!
アニメーションタイプをヒューマノイドに変えて同じ作業をする。
歩くようになったが、壊れてるなあ

同様に、

VRoidからもインポートしてみましょう

SDKをインポートして、プロジェクトフォルダに.vroidのファイルをドラッグしてみよう。

そんなことで、インポートできる時代だと思いますが、.vroidファイルはUnityではまだ対応されていなかった様子。
SDKはまだ不要みたいですね。

次は、以下のサイトを参考に

【Unity徒然3回目】VRoid Studioで作ったキャラクターをUnity上で動かしてみた

というタイトルのページ。Httpsページでないのでリンクは避けますが、以下のような手順でできます。

①VRoidStudioで適当にモデルを作成
②作成したモデルをVRM形式で出力
③VRM形式の3DモデルデータをUnityで読み込む
 このときデフォルトではUnityはVRM形式に対応していないのでUniVRMをインストールする
④Animator設定を行う


さっそくVRMエクスポート

UniVRMをインストール
vrmファイルをインポートしても自動では展開しない。
インスペクターで、Migrate To Vrm1にチェックを入れて適用すると展開してくれる。

彼はマゼンダ

マゼンダを治すために、MaterialsのタグでもExtract Materials And Texturesを押下


各マテリアルのシェーダーを見えるように変更・・・Toonにしてみました。
まゆ、ふっと!

まあしかし、あとは同じようにして歩かせてみましょう。

白い。
まいったな、シーンビューだと良いのに。

シェーダーが悪いのか。シェーダーを変えてみましょう。

URPのMToon10の項目があった!
マテリアルが正しく表示されたぞ!
顔はまあ・・・なんですな。うまくいきませなんだが。

Voxcelから出力したものでチャレンジ

MagicalVoxelで出力したデータでもできはしないか?と思いましたのでやってみます。objをエクスポートしたものは、Tポーズから変わらなかったので一旦Mixamoを通します。

エクスポートすると・・・

FBXをそのままインポートしたら色がつかないので、obj出力も一緒にインポートして、マテリアルを当ててあげよう。

Geometryの子に設定すると、ちっさくなるのでスケールを100,100,100にした。

同じように操作すると・・・

動くようになる。

ここまで、
UnityちゃんやSketchfab,VRoid,MagicalVoxelと色々な3Dヒューマンモデルをインポートしてきましたが、MagicalVoxelが最もやりやすく、綺麗に移行できました。

ここまで来れただけで、なによりだと思います。

それでは、良いUnityライフを。

この記事が気に入ったらサポートをしてみませんか?