NPCの作成
はじめに・・・
NPCの作成にはアニメーションソフト「Spine」が必要です。
■Spineデータの作成
Spine PRO以上で編集可能です。(トライアル版では読み込みだけはできると思います。
!!Spineバージョン 3.8.99での出力が必須!!
Mad Island用のキャラクターはSpineバージョン 3.8.99で制作されています。
バージョンを合わせないとゲームには読み込めません。
【仕様説明】
■アニメーション
初級データには最低限の必要アニメーションが含まれています。
A_run、A_walkbackは必須ではなく、これらのアニメーションが無い場合はA_walkが代用されます。
アニメーションの名前は大文字小文字も区別して、正確にしなければいけません。
その他、中級データに含まれるアニメーションのように、特定の名前のアニメーションを用意しておくとゲーム内で利用できます。
A_sleep(眠る)
B_idle(座り)
E_dance(ダンス)
E_danceH(下品なダンス)
A_work_….(仕事時のアニメーションなど)
■ボーン数やボーン名には制限はありません
■装備(アイテムを使用しての装備を実装する場合)
スロット、アタッチメントにも制限はありませんが、名前を仕様と合わせるとカラーエディット、装備の切り替えなどに対応できます。
細かい話になるので詳細はページの最下部で解説します。
■Spineのエクスポート設定


最終出力データはサンプルデータの「toUnity」のフォルダに入ったファイル構成のものになります。
.atlas .json .png の3つのデータと、それらが入ったフォルダ名を必ず同じ名前にしてください。
■Spineデータをゲームに読み込み

Spineで作成したNPCをゲーム内に読み込みできます。
最初にNPCをゲームに読み込むための設定をします。
タイトル画面から「Workshop」→「Load Spine Character」を選択します。


①左下の「Open NPC Folder」でフォルダを開き、Spineで作成したデータをフォルダごと入れます。
②Loadボタンを押すと、フォルダに入れたキャラクターのデータがリストアップされます。
③リストから読み込みたいデータをクリックします。
■パラメータの設定

①データを読み込むと、File Nameのところに読み込んだデータ名が入ります。
②各パラメータの設定(Level 0 のとき)
max life – HPの最大値
attack – 攻撃力
speed – 歩きのスピード
run speed – 走る時のスピード(歩きのスピードに乗算されます。 1の時は歩きの速度と走りの速度が同じ)
Hit Frame – 攻撃判定が行われるアニメーションフレーム(Spaceキーで攻撃アニメーションの確認ができます。)
Distance – どらくらい近づくと攻撃を開始するか。グリッドの1マスが1です。
ColliderSize – 攻撃判定の大きさ
ColliderOffset – 攻撃判定の位置
③Scale – キャラクターのサイズを調整します。
④全ての設定ができたら「Save Parameters」ボタンを押します。
キャラクターのフォルダの中に「npcInfo.xml」という名前のデータが作成されます。
以上で設定は完了です。
ーーーーーー画面やキャラクターの操作ーーーーー
・WASD – 歩く(Shiftを押しながらで走り)
・Space – 攻撃アニメーション(設定したHit Frameで当たり判定が出ます)
・Alt+左ドラッグ – 回転
・Alt+右ドラッグ – ズームインズームアウト
・マウスホイールのドラッグ – 平行移動
・F – カメラを初期位置に戻す
■Workshopにアップロード(ローカルで使用する場合は不要)

①File Nameの所にアップロードしたいデータの名前が読み込まれている事を確認してください。
②Publishボタンを押して、アップロードの設定パネルを開きます。
③作品のタイトルを入力
④「Snapshot」を押すと、キャラクターのイメージが作成されます。
ボタン上のScaleスライダーを変更すると、キャプチャのサイズを指定できるので、キャラクターの大きさに合わせてサイズ変更してください。
キャプチャした画像はNPCsフォルダ内に「iconImage」という名前で作成されます。
これはアップロード時に使用されるデータになるので、特にいじる必要はありません。既にある場合は上書きされていきます。
⑤作品の説明を入力
⑥Publishボタンを押すとアップロードが開始されます。

少し待つと、成功していれば「Sucessfully submit item to Steam」の文字が出ます。
赤い文字でエラーが出た場合は
・キャラクターがしっかり読み込まれているか
・パラメータを作成したか
・アップロード設定に入力漏れがないか
などをご確認ください。
以上でアップロードは完了です。
■作成したNPCの召喚
現状では、仲間として召喚するか、敵として近くにスポーンさせることができます。

ワークショップアイテムにインタラクトし、「召喚」ボタンを押します。


①「Load Files」ボタンを押します。
ローカルの「NPCs」フォルダにあるキャラクターと、
Steam Workshopでサブスクライブしたキャラクターがリストアップされます。
②読み込みたいキャラクターのFile Nameをクリックすると、読み込みが始まります。
③読み込みが終わるとチェックマークがつき、npcIDが割り振られます。(500番から)
この状態で、右の「Friend」ボタンを押すとその場に仲間として召喚し、
「Enemy」ボタンを押すと少し離れたランダムな位置に敵として1体スポーンします。
■読み込みの解除
読み込み済みのNPCのFileNameボタンをもう一度押すとNPCの読み込みが解除されます。
例えば、npcID 500のキャラクターが仲間にいる時、npcID 500のキャラクターの読み込みを解除してセーブすると、
ロード後、npcID 500として存在していたキャラクターはすべて消滅します。
■ワークショップアイテムの更新
パブリッシュしたアイテムを更新する方法です。

①Publishボタンを押してパネルを開きます。
②Updateボタンを押すと、自分がアップロードしたワークショップアイテムがリストアップされます。
③更新したいデータをクリックします。
④アップロード時と同じ様に
・Title
・Snapshot
・Description
を入力してから「Update」ボタンを押すと更新できます。
■■■■■ Spineでキャラクターを作成する際の細かい仕様 ■■■■■
■カラーエディット
カラーエディットは、スロットの名前から探して色変更します。
各カラーエディット時に探すスロット名は以下になります。
●スキンカラー
“Head”, “Head_H”, “Neck”, “Face”, “Nose”, “L_arm”, “L_forearm”, “L_hand”, “R_arm”, “R_hand”, “R_forearm”,
“L_upleg”, “L_leg”, “R_upleg”, “R_leg”, “Body”, “BodyBase”, “Body_up”, “Body_preg”, “Hip”, “L_hip”, “R_hip”,
“L_finger”, “R_finger”, “Ear”, “EarBack”, “L_manko”, “R_manko”, “L_Oppai”, “R_Oppai”, “Oppai”, “Anal”,
“Ass_up”, “Ass_down”, “L_Hip”, “R_Hip”, “Body_L_damage”, “Body_R_damage”, “L_foot”, “R_foot”, “Hips”,
“Head2”, “Cloth_Oppai_up”, “Cloth_Oppai_low”, “L_Rope”, “L_Rope2”, “Tama”, “Tinko”, “Jaw”, “Mouth_up”
●前髪
“HairFront”
●後ろ髪
“HairBack”
●眉毛
“EyeBrow”
●白目
“EyeWhite”
●瞳
“Eye”
■装備
装備は対応するSlotとAttachment名が存在する場合に装備可能と判断されます。
装備品の各アイテムにはIDがあり、スロット名_番号 の名前のアタッチメントを探そうとします。
例)綺麗な石の首飾りは、アイテムのIDが「acce_00」になっており、「アクセサリー」タイプの番号「00」です。
これを装備したい場合、アクセサリーに対応するスロットの中に、スロット名_番号 のアタッチメントがあれば装備可能になります。
“Acce” スロットの中に “Acce_00” アタッチメント
“Acce_H” スロットの中に “Acce_H_00” アタッチメント…など、どれか一つでも存在すれば装備可能になります。
(アクセサリーを装備する時、アクセサリーの全てのスロットで検索と切り替えが行われます。)
各装備で切り替えを行うスロット名
■アクセサリー
“Acce”, “AcceBack”, “AcceBack2”, “Acce_L”, “Acce_H”, “Acce_H2”
■帽子
“Hat”, “HatBack”, “Hat_L”, “Hat_H”
△手1(武器)
“Tool”, “Tool_R”, “Tool_H”
■手2(松明など)
“Tool2”, “Shield”
△上服
“Body_Cloth”, “Body_Cloth_L”, “Body_Cloth_H”, “Body_ClothBack”, “Body_L_Cloth”, “Body_R_Cloth”, “R_arm_Cloth”, “L_arm_Cloth”, “R_forearm_Cloth”, “L_forearm_Cloth”, “L_hand_Cloth”, “L_finger_Cloth”, “R_hand_Cloth”, “R_finger_Cloth”
■下服
“Hip_Cloth”, “Hip_L_Cloth”, “Hip_R_Cloth”, “Hip_Cloth_H”, “Hip_Cloth_L”, “Hip_Cloth_L2”, “L_upleg_Cloth”, “R_upleg_Cloth”, “L_leg_Cloth”, “R_leg_Cloth”
■靴
“L_shoe”, “R_shoe”, “L_shoe_L”, “R_shoe_L”, “L_shoe_H”, “R_shoe_H”
■ヒップ
“Tail”
△のものはアタッチメントの名前に例外があります。
△上服
“Body_Cloth”スロットのみ、アタッチメントの名前が “Body_Cloth_a_番号”になります。
△手1
武器はアイテムが名前で管理されているため、アタッチメントにはアイテムIDの先頭 “wp_”を除いたものが使用されています。
石の斧を装備する場合、石の斧のアイテムIDは “wp_axe_01″なので、 ”Tool”スロットの中に “axe_01” アタッチメントが必要です。