スクリプトを書かずにゲームを作ってみる
Playmakerの挙動を理解すべく、
ちょっと縛りプレイで作ってみた。
ルールは簡単、
・Monodevelopを一切起動してはいけない
・C#、JSの言語を使用してはならない
・自分が過去に作ったスクリプトを使用してはならない
要するに、PlaymakerとAsset Storeだけでどこまで出来るのかって事を試してみたかった。
作ったのは電撃イライラ棒的な何か。
ルールは、黒い床を踏むとドアが開くので、指定時間内にゴールを目指すというもの。
赤い床を踏むと最初からやり直し。
【デモ】
■奮闘一時間の結果
1.まずは移動系
個人的に上から視点のゲームが作りたかったので、Character Controllersは使わず
おなじみの経路探索にぶん投げる。
移動先の設定は、【AstarPathfindingProject】サンプルのTarget Moverにお任せ。
AstarPathfindingProjectは動的に経路検索できるから好き。
2.床のスイッチとドアの開閉
次にスイッチとドアの開閉、
ここは【Playmaker】にやってもらった。
内容は簡単。
黒いスイッチを押すと、ドアを管理しているFSMに
Send Eventで「Open Door」的な指示を出す。
ドアは「Open Door」指示を受けると「Close]から「Open」状態になり
残り時間をカウントし始める。
カウントはWaitで実施。
残り時間が0になると、「Close Door」が発動し、「Close」状態に戻る。
ドアの開閉自体はUnity標準のAnimationで管理。
3.トラップ的なもの
赤い床はトラップとして配置。
このトラップも床とドアの原理を流用。
トラップを踏むとドアに「Close Door」を送りつける仕組み。
それをコピペで増やした…んだけど、
プレハブ化せずに増やしたお陰で、ちょっと機能追加ってのができず
時間を大幅ロスした。
ここらへんまで、大体1時間。
Playmakerの機能を調べながらなんで、機能を概ね理解していれば
もっと早く組めるかもしれない。
次のバージョンでは、もうちょっと演出とかモデルを組み込んでみたい所。
しかし、Asset storeにある3DモデルでAnimationを含んでいるかどうかって、
どうやって判断すりゃいいんだろう