NaniNovelにどっぷりハマっている人間です。
使い始めてから1カ月経過したのですが、2作品のリリースに携わってかなり慣れてきました。

今回は、初心者さん向けにNaniNovelスクリプトで「これさえ使えれば最低限ビジュアルノベルはできるぞ!」というコマンドをまとめていきます。
本家のコマンド集は以下にありますが、英語なうえ数が多いと思くて、ビジュアルノベルを作るうえで必要な最低限のコマンドを探すのにはけっこう苦労すると思うんですよね。
NaniNovelスクリプトの勘所を知りたい方に向けた記事になっていますので、ぜひお付き合いくださいませ!
NaniNovelのバージョンはv1.2.0時点での記事になっています。
charコマンドでキャラクターを表示する!
ビジュアルノベルを作るうえでまずキャラを出さないとはじまりません。
これでリソースデータに登録したキャラを出せます。
表示される画像は、デフォルトのモノもしくは前回最後にしようした属性のキャラクター画像である点には注意です。
基本的に以下のように表示したい画像の属性をしておく方が無難ですね。
backコマンドで背景を表示する!
次に背景ですね。
キャラと背景があれば、それだけでビジュアルノベルっぽくなります。
MainBackgroundに登録しているものであれば、上記のコマンドで背景が出ます。
それ以外の場合はIDを指定して以下のように書けばOKです。
hideコマンドで画面上の不要なものを消す!
場面を切り替えたり、キャラが退場するときに「キャラ、背景を消したいなぁ」ということは多々起こります。
そんなときに重宝するのがhide系のコマンドですね。
idを付与した背景を消したい場合は以下のようにやります。
キャラクターの場合はこちらですね。
画面上の全部のキャラクターを消したい……ということはままありますので、そのときは以下のコマンドですべてのキャラが消えます。
音声系コマンドのまとめ!
音を取り扱えるのがビジュアルノベルのいいところですよね。
NaniNovelの音声には、BGMとSfx(効果音)、そしてVoice(セリフ)の3種類があります。

それぞれ特性があるので、それさえ押さえれば困ることはありません。
BGMを流したいときは、以下のように書きます。
bgmタグの特徴は、スクリプトを追加せずともループ再生し続けてくれるということですね。

止めたいときは以下のコマンドを使いましょう。
効果音を使うときは以下のコマンドで再生しましょう。
BGMとの最大の違いは1度しか再生されないことですね。

ですが、ときどきループさせたいことがあるので、そのときは以下のように書きましょう。
これで効果音が無限ループします。
もし、ループを止めたいときは以下のコマンドを書きましょう。
最後にボイスですね。
ボイスも同様に1度しか再生されません。

音量調整の際の扱いの区分が違うのと、音声の場合はリソース登録せずともAssetsから直接音声を呼び出すこともできるんですよね。
ここら辺に細かい差があります。
gotoコマンド
NaniNovelを使う上で欠かせないのがgoto文ですね。
一部プログラミング言語では忌み嫌われているgoto分ですが、NaniNovelではよく使います。
NaniScript内に#からはじまるタグを付けると、そこに飛んでくれます。
たとえば、morning.naniに#startタグを用意した場合、
@goto morning.startで該当する位置に飛んでくれます。
shakeコマンドでいろんな物を揺らす!
キャラをぴょんぴょんさせたり、カメラをぐらっと揺らす演出をするときに使います。
ちょっとでも画面が動くと「ああ、ビジュアルノベルしてるな」って感じがあるんですよね。
このコマンドで画面を揺らすことができます。
これでキャラクターを縦方向にぴょんぴょんさせられます。
演出系ではかなり汎用性が高いので覚えておいて損はないですね!
choiceコマンドで選択肢を作る
ビジュアルノベルでは選択肢を表示させたいことが多々あります。
@choice “選択肢①” goto:.choice1
@choice “選択肢②” goto:.choice2
@choice “選択肢③” goto:.choice3
@stop
上記のように書くと選択肢が表示されます。
後半に書いているgoto文はなくてもいいですが、選択肢に応じて反応を変更したい場合はこのように書くことが多いです。
@setコマンドで変数を用意する
ゲームを作っていればデータを保存したいことが多々あります。
NaniScriptにももちろん、変数という概念は用意されています。
このように書くと1がdayに保存されます。
更新したいときも
@set day=2
と書けばOKです。
NaniNovelの変数には、ゲームをはじめる際に初期化されるもの、されないものがありますのでそこは以下の仕様を確認してください!
まとめ:NaniNovelは基礎的なコマンドが使えれば超楽しい
Unityを使って簡単にビジュアルノベルゲームを作れるNaniNovel……基礎的なコマンドさえ使えればビジュアルノベルっぽくなる――これがまた超楽しいんですよね。

NaniNovel――超おすすめですので、ビジュアルノベルを作りたいという方はぜひ使ってみてくださいませ!