【カレッジ】スクリプトゼミ #6「NPCキャラクター・その2」

今回は、前回の続きでNPCコマンドについての紹介を行います。全てを把握する必要はありませんが、演出にこだわりだすと役に立つものがありますので、必要な時に参照してください。

前回解説した、NPCキャラクターの登場コマンドは、NPCコードとともに、表情、サイズ、位置、登場方向といった必要な要素を同時に指定して、画面表示まで行うコマンドでした。以下に説明するコマンドは、それらのパラメータを、既に登場しているキャラクターに対し、再設定するものです。

注意点として複数のNPCを扱う場合、位置=0(自動)で指定したNPCと位置指定したNPCを混在させないでください。自動の場合は全て自動で記述し、位置指定する場合は、全てのNPCを位置指定するような書き方をしてください。

 

【6-1】NPCの位置変更

既に画面に登場しているNPCキャラクターの、位置を変更することができます。指定は物理座標ではなく、1人の時は1、2人の時は2と3、のように、使用頻度の高いものから順番に番号が振られていいます。1人~4人くらいまではすぐに暗記できると思いますが、「中央やや左寄りといった」微妙な位置を指定する時は、直感的に指定できないかもしれませんね。番号を見つけやすい一覧表を作っておきましたので、本記事の末尾に貼っておきます。

コマンド
NPC[NPC指定].Pos:ポジション指定[,例外演出指定]
//NPCの位置を変更し、移動アニメーションを行います。
//NPC指定:NPCコードもしくはNPC名
//ポジション指定:1~19 =場所指定、98=画面外(向かって右),99=画面外(向かって左)
//例外演出指定:10=フェードイン,11=フェードアウト

記述例
Avatar.scriptMode
NPC:APC1000077738_01,(笑),s,1,2
wait:1000
NPC[高橋杏].Pos:4
//画面向かって左の(4)の位置へ移動
wait:1000
NPC[高橋杏].Pos:10
//画面向かって左の(10)の位置へ移動
wait:1000
NPC[高橋杏].Pos:10,11
//(10)の位置でフェードアウトして消える

NPC.Posコマンドは、非同期で実行されます。つまり、画面上で移動アニメーションを実行しながら、スクリプトは次の行へ進行します。複数キャラを同時に動かしたい場合は、コマンドを続けて書けば、ほぼ同時に移動するように見えます。

上記記述例では、アニメーションが見えるように、waitコマンドを挟んであります。

 

【6-2】NPCのサイズ変更

NPCを表示したままの状態で、サイズを大きくしたり小さくしたり変更することができます。セリフをしゃべりながら、段々近づいてくる(遠ざかる)ような演出が可能です。

コマンド
NPC[NPC指定].Size:サイズ指定[,ポジション指定]
//NPCのサイズを変更します。
//NPC指定:NPCコードもしくはNPC名
//サイズ指定:o,s,m,lのいずれか
//ポジション指定:1~19 =場所指定、98=画面外(向かって右),99=画面外(向かって左)

記述例
Avatar.scriptMode
NPC:APC1000077738_01,(笑),s,1,2
wait:1000
NPC[高橋杏].Size:m
//サイズをmに変更
wait:1000
NPC[高橋杏].Size:l,4
//サイズをlに変更しつつ、4の位置へ移動
wait:1000
NPC[高橋杏].Size:o
//サイズをoに変更
wait:1000

 

【6-3】NPCの表情変更

NPCの表情指定は、セリフの後ろに(笑)などの表情記号を付加するのが簡単ですし、ほとんどの部分はそれで記述できると思います。

ただ、たまにセリフをしゃべらないタイミングで表情を変更したい場合があります。例えばAさんとBさんの二人が登場しており、Aさんがセリフをしゃべったタイミングで、それを聞いたBさんが無言で真剣な表情になる場合などです。

セリフをしゃべらないタイミングでの表情変更は、NPC.faceコマンドで行えます。

コマンド
NPC[NPC指定].Face:表情記号
//NPCの表情を変更します。
//NPC指定:NPCコードもしくはNPC名
//表情指定:表情記号もしくは番号

記述例
Avatar.scriptMode
NPC:APC1000077738_01,(笑),s,1,2
wait:1000
NPC[高橋杏].Face:(怖)
//表情を(怖)に変更
wait:1000

 

【6-4】NPCの入れ替え

NPCの変身?みたいな演出は滅多にないかもしれませんが、キャラを退場させることなく、その場で別のNPCに差し替えるコマンドも用意されています。

アバターNPCでは使い途があまり無いかもしれませんが、頼まれごとの場合は、生徒会役員などのNPCが、腕を前に組んだり腕を上げたり、途中でポーズ変更する場合があることに気付きましたでしょうか。

キャラフレのNPCには、ポーズという属性はありませんので、ポーズ変更はNPC.bodyコマンドを使って、NPCを丸ごと差し替える方法で実現されています。

コマンド
NPC[NPCコード1].Body:NPCコード2,[表情指定]
//NPCコード1で指定したNPCを、NPCコード2で指定したNPCと、画面から消さずに入れ換えます。
//NPCコード1:入れ換え元となる登場済のNPC
//NPCコード2:新しく入れ換えて登場させたいNPCコード
//表情指定:表情記号もしくは番号

記述例
Avatar.scriptMode
NPC:APC1000077738_01,(笑),s,1,2
wait:1000
NPC[高橋杏].Body:APC1000077738_03
//夏服の高橋杏に入替
wait:1000
NPC[高橋杏].Body:APC1000077739_01,(ニコ)
//南禅寺の(ニコ)表情に入替
wait:1000
NPC[南禅師].Body:APC1000077738_01,(爆)
//冬服の高橋杏の(爆)表情に入替
wait:1000

 

以上でNPCを使った演出コマンドの解説を終わります。学園祭に少しでも役に立てると嬉しいです。

 

付録:NPC配置表

NPC配置表

コメントを残す

メールアドレスが公開されることはありません。