Creator」の基本的な使い方をチュートリアルで解説します。Createrの概要を知りたい方は以下のページで紹介をしています。宝箱を作るプレイヤーが宝箱に近づいた時のみ開くようにするかっこよく演出する変数を使用して一度開いた宝箱からは同じ処理をしないようにする。宝箱を作るプレイヤーが宝箱に近づいた時のみ開くようにするかっこよく演出する変数を使用して一度開いた宝箱からは同じ処理をしないようにする。CreatorはTrigger、Action、Conditionからなる3つのコンポーネントで成り立つビジュアルスクリプティングが基盤となっています。Triggerは発火、つまりイベント実行条件、Conditionはイベントが分岐する場合のIF条件、Actionは実際の処理を担当します。Creatorの世界は1シーンの中に様々なTrigger→Actionの組み合わせを用意することでゲームを実現します。併せてキャラクターコントローラー、カメラコントローラー、変数管理システムを作りビジュアルスクリプティング(特にAction)と一体化することで、初心者にも易しいアセットになりました。Creatorをインストールした前提で話を進めます。Creatorは簡単に動くキャラクターと良い挙動を示すカメラを作ることが可能です。ユーザーの操作できるキャラクターを作ってみましょう。Qubeを選択、名称をFloorとし、Positionを(0,0,0)、Scaleを(20,1,20)にします。Playerを選択することで操作できるキャラクターを作成可能です。Creatorオリジナルのキャラクターが設定してあります。そのまま、プレイモードで実行してみましょう。Creatorオリジナルのキャラクターがwasdキーで四方に動き、スペースでジャンプします。このキャラクターにオリジナルのモデルを利用してみます。Humaroid型の3Dモデルを用意してください。当ページではRinを利用します。Model欄にモデルをドロップする枠がありますので、3DモデルのPrefabをこちらにドロップします。Creatorキャラの機能を持ったオリジナルの3Dモデルに早変わり。Creatorキャラと同様に動きます。キャラクターについての詳しい項目は以下のページで解説しています。Ver2では、現在のカメラだと視点固定で少々不便なので、カメラをPlayerの後ろからプレイヤーを追うように設定しましょう。Motorを選択します。MotorコンポーネントでAdventureカメラと記載している箇所の右のChangeボタンを押し、Followカメラを選択します。この箇所でカメラの大枠の振る舞いを決めます。Motorをドロップします。何らかの条件で自動的に追加されるので、追加されていたら触る必要はありません。プレイモードにすると、Playerの動きに併せてカメラが追うように動いています。カメラについての詳しい項目は以下のページで解説しています。Ver2宝箱を作るこの機能を使ってPlayerが宝箱に近づいた時に決定ボタンを押すと宝箱を開くアクションを製作してみます。当ページではこちらの宝箱を利用します。TreasureCHest_LOD2.prefabをHierarchyにインポートします。BoxCliderコンポーネントを追加してサイズの位置を調整します。この状態で、キャラは宝箱を通り抜けることができなくなります。Final_LOD2.FBXの中に宝箱が開くアニメーションがあります。これを利用できるようにAnimatorControllerを作ります。Controllerを選択します。Emptyを2回行い、Stateを2つ追加します。Transitionで矢印を引きます。trueの時と条件を追加します。併せてOpenのMotionにTreasureChestFinal_LOD2.fbxのアニメーションをセットします。ControllerはHierarchyのTreasureChest_LOD2のInspectorでAnimatorコンポーネントのControllerにセットします。Creatorで実装してみましょう。Actionsを選択します。Actionボタンを押すごとに処理を上から下に追加していきます。実際のゲームでも、上から下に順番に処理を実行していきます。Animateを選択します。Nameで設定した変数(ParameterTypeも指定)に値を入れる命令です。Controllerのパラメータの型)をBoolにし、Boolにチェックを入れます。これで宝箱を開く処理ができました。ゲームを実行しても宝箱は開きません。Actionコンポーネントは、必ずTriggerコンポーネント、又はActionを実行する命令を受けて初めて実行されます。Triggerを選択します。start、つまりシーン起動時に実行されるようになっています。ここで、Triggerのinspectorのプラスボタンを押すとアクション一覧に一列追加されます。Startの時に実行するActionの一覧です。Creatorでは複数のアクションを同時に複数同時に動かすことが可能です。+ボタンを押してできた一覧に先ほどのActionをセットしてみましょう。ゲームを実行すると開始時に宝箱が開きます。プレイヤーが宝箱に近づいた時のみ開くようにする宝箱は開きました。開始前に開いてしまいます。プレイヤーが一定距離に近づく、且つ特定のボタンを押した時に開くようにしましょう。この場合は条件、つまりTriggerを変更してあげればよさそうです。andみたいなことができません。そのため、Triggerで宝箱からの距離をはかり、Conditionでボタン押下条件を設定します。Colliderコンポーネントを追加します。Trrigerにチェックを入れ、Radiusを2にします。これで宝箱の周囲2の距離にオブジェクトが入った時を検出できます。Enterを選択します。ColliderにPlayerをセットします。Colliderの中にPlayerが入った時に反応します。最後にTriggerのInspectorの+ボタンを押して、Actionsに宝箱を開けるActionsをセットします。実行すると、プレイ開始時は宝箱が閉じたままで、プレイヤーが近づくと宝箱が開くようになります。ちなみに今回はTreasureChest_LOD2に追加する形で実現しましたが、TriggerオブジェクトそのものをTreasureChest_LOD2に重ね合わせてTriggerのColliderを調整することでも実現可能です。対象となるオブジェクトそのものにColliderを付けたくない場合はこちらの手法を利用してください。かっこよく演出する宝箱を開くだけでは単調なため、少しActionsをアレンジしてみましょう。宝箱を開く条件(宝箱から2以内にプレイヤーが近づく)が整った場合、どこにいてもプレイヤーが宝箱の前に来て宝箱を見るようにします。この場合、処理中にユーザーによってプレイヤーに動かされると困るため、まずプレイヤーの操作を受け付けないようにします。Propertyを選択します。BoolをValueにしてチェックを外します。これでプレイヤーはユーザーの操作を受け付けなくなります。Treasure~より上でドロップすると順序が入れ替わります。その次に、プレイヤーの位置を宝箱の前に歩かせます。ToをPosition、Positionを(-2,0,0)にします。これで、キャラクターは宝箱の前に移動します。TargetをTransformにし、HierarchyのTreasureChest_LOD2を選択します。キャラクターが宝箱の方向を向くようになります。Animateの順に並び替え、以下の画像のようにします。次にジェスチャーを喜びのポーズに変更します。Jestureを選択。Completewにチェックを入れます。試しに実行してみると宝箱が開くと同時に喜ぶので違和感があります。Waitを3秒にします。ゲーム視点だと違和感があるので、カメラを変えてしまいます。Creatorは複数のカメラを作り、基本は1つを常に表示しながら、任意の時に別のカメラの視点に変えることが可能です。Motorを選択、名前をChestOpenCameraとします。Positionを(-2,2,3)、Rotationを(0,180,0)にします。これは宝箱の後ろから見下ろすような視点です。AtをPlayerにします。これは完全に視点固定のカメラです。Timeに3.3秒を指定します。これで3.3秒かけてカメラを切り替えます。微調整をしていないので多少不自然ですが、イベントが発生すると、カメラが宝箱の後ろに移動し、プレイヤーの勝利ポーズを映すようになります。最後に通常の処理に戻してあげる必要があります。BoolをValueでチェックを入れます。変数を使用して一度開いた宝箱からは同じ処理をしないようにする。実は現在の状態だと宝箱の周囲2の位置にプレイヤーが入った時に毎回同じ処理をします。そこで変数を使用して2回目以降はイベントを実行しないようにしましょう。Preferencesを選択し、Variablesタブを開きます。+ボタンを押すと変数が1つ追加されるので、NameをisChestOpenCheck、TypeをBool、Nameの右端にある四角にチェックを入れます。初期値falseのbool型の変数ができます。右端の四角はセーブ可否のチェックで、これで一度開けた宝箱はセーブ後にロードしても開けたと扱われます。Variables、isChestOpenCheck、Valueにチェックを入れます。これで初期値falseの変数が処理終了後にtrueになります。Conditionsを選択。Conditionボタンを押します。ToにValueを、そしてチェックを外します。ifの下のActionsに先ほどまで利用していたActionsをセットします。最後にTreasureChest_LOD2のTriggerコンポーネントのActionを削除し、+ボタンの左側のボタンを押します。こちらはConditionをセットできる一覧で先ほどのConditionをセットします。これで同じ処理は発生しないようになります。HierarchyのActions、Conditions、ChestOpenCameraをTreasureChest_LOD2の下に移動しPotisionを修正、TreasureChest_LOD2をPrefabs化することで、凡庸的に宝箱を扱うことも可能です。Creatorの基本的な使い方を解説しました。文章で書くと長くなりますが、実際に操作すると短時間に簡単に処理を組めることを実感できると思います。Creator】自作Trigger・Condition・Actionの追加方法【Unityアセット】この記事を書いた人さとゲームレビューブログを経て、好奇心のままにゲーム開発の沼に浸かった人。RPGツクールとUnityの忘備録を記していきます。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Creator】Trigger一覧【Unityアセ...さとゲームレビューブログを経て、好奇心のままにゲーム開発の沼に浸かった人。RPGツクールとUnityの忘備録を記していきます。