3Dモデルでノベルゲーム制作(Unity+Naninovel)
見出し画像

3Dモデルでノベルゲーム制作(Unity+Naninovel)

3DモデルキャラをUnity-Naninovel上で動かしてみた。その備忘録。

環境 Win10 + Unity 2020.3.11f1(64-bit) +Naninovel v1.15

試しにSDこはくちゃんズ・小碓学園夏&冬制服モデル等のUnity3Dモデルアセットを使用して動かしてみる。アセットへのリンクはページ下部より。

1, 3Dキャラテンプレート作成

Naninovel->Create->Character->Generic
で3Dモデルキャラ対応のテンプレートプレハブが作成される。(例としてsample1という名前で作成)
基本的にはNaninovelのGeneric Character Behaviourスクリプトがアタッチされているだけのもの。そのプレハブを編集して子オブジェクトに3Dキャラをもってくる。

画像1


DefaultのサイズはTransformのScaleを調整、Y軸で高さ範囲を調整


2, Generic Character Behaviourコンポーネント編集

メンバ変数 On Appearance Changed (String)の設定
子オブジェクトのAnimatorコンポーネントを指定。
Animator.SetTriggerを設定

メンバ変数 On Visibility Changed (Boolean)設定
子オブジェクト(プレハブ自体)を指定。
GameObject.SetActiveを設定。

画像2

これでOK


3, Animatorのコントローラー登録

ParametersからTrigger型の変数(任意)を追加してAnyStateからTransition矢印設定にそれぞれのParametersを割り当てる(※今回はDefault=Pose1)

画像3

4, Naninovel ConfigurationにCharactar登録

Naninovel.GenericCharactarを選択して1~3で編集したプレハブsample1を登録する。

画像4

3~4の設定は前回のLive2Dキャラ動かすのと同様なので、
詳しくは下記記事参照

以上の設定でNaninovelのスクリプト.naniから

@char sample1
#これでDefaultに登録したポーズ(アニメーション)で呼び出し

@char sample1.Pose2
#これでPose2に登録したポーズ(アニメーション)で呼び出し


キャラ表示、非表示をMeshレンダラーで行うケース

Naninovelのマニュアルに

Unityの Animator コンポーネントは、ゲームオブジェクトが同じフレームで有効化/無効化されると、 SetTrigger の登録に失敗する可能性があります。代わりにレンダラーで子オブジェクトを有効/無効にすることを検討してください。

と書いてある。(たしかに、ゲーム開始の一番最初にキャラを登場させた時、Defaultで登録したPoseにならない)

なのでOn Visibility Changed (Boolean)の変数に、
子オブジェクトの中でMeshレンダラーをもつオブジェクトに対して
SkinnedMeshRenderer.enabledを設定。
※メッシュレンダラーは子オブジェクトに複数あるのですべて追加する。

画像5


とりあえずこれでDefaultで登録したPoseになった。
実際に動かしてみるとこんな感じになる。

Naninovelのgeneric charactersはハイライトなどの機能は自動で動作はしないらしい。
このあたりはOn Started Speaking ()やOn Finished Speaking ()を工夫する必要がありそう。

応用技として、パーティクルシステムをGenericキャラ登録すればこんなこともできる。


Naninovelとは?

NaninovelはUnityゲームエンジン上で動くアセット。
ビジュアルノベルゲーム開発を簡単に実現可能。

Naninovelマニュアル(generic charactersについて)
https://naninovel.com/guide/characters.html#generic-characters

3Dモデル使用アセット


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
何かしら作る系兼業エンジニア。 裏方として100人以上のクリエイターと関わりコンテンツを制作してきました。 ひそかにゲーム制作をしています。Arcanite Links: https://arcanite-links.wixsite.com/game Noteはその備忘録。