初めてのBGE その2
前回の続き・・・
チュートリアルのステップ2途中から!
前回までで、CUBEの「移動」「ジャンプ」のアクションを追加して
床の上を動くまで。
さて、続きをします。
◼︎まず『コイン』を作成。
別のビューを選択して、シリンダー作成。
回転とスケール調整。
マテリアルを変更で黄色に。
名前変更でとりあえず完成!
次に、メインビューに戻って、コインの配置場所を設定。
Ctrl + A で Empty/PlaneAxis でロケータ作成&移動。
ここでLogic作成。
Always -> And -> EditObject(objectでCoin指定)
ここで、GameStartすると、ロケータ位置にコインが表示されるのを確認!
ロケータを複製していっぱい配置される。
ここからは、
◼︎「コインに当たるとコインが消える」のアクション作成
CoinのLogicで「当たったら消える」動作を追加。
[Coin]
Logic: Collision(Player) -> Add -> EditObject(EndObject)
[Cube1]
Property: Player と名前を追加
ここでポイント!ゲームを作るにあたっての新しい事実!!
3Dオブジェクト名と、ゲーム内での処理に用いる名前は別!?
Collisionで衝突判定するときは、
Properyでゲーム用の名前を作成する!
以上で、GameStartすると、箱動かしてコインに当たると消えるようになる。
・・・・がなぜか、消えない(エラーがどこかわからない)
というわけで、Blenderに最初から入っているモン吉モデルで作り直したらいけた。
というわけで、今後はCoinをMonkeyに変えて進めます!(すみません、エラー解決する時間なくて。。)
えーと、、箱動かしてモン吉が消えるとこまで出来たので、
次は
◼︎モン吉をとるとポイントゲット!!を表示する
➡︎ポイントカウンター設置!
ポイントカウンター用のゲームプロパティを作成。
今回は、擬似プレーヤーの箱に作成します。
[cube1]
Property : Score と名前追加
Logic : Collision(Monkey) -> Add -> Property(Add,100)
とここで、上で指定したCollisionのMonkeyが今のままでは反応しません。。
以下を追加します。
[Monkey]
Property : Monkey と名前追加。
最後に、実行画面でポイントカウンターを表示するために
Scoreと作成たプロパティで 「インフォメーション」ボタンをONにして表示指示。
さらに、BGEのDisplay設定でDebugPropertyを ON にして画面表示を有効にする。
※3Dオブジェクト「Monkey」に、ゲーム用のプロパティ「Monkey」を追加(左下パネル)
Game実行時に文字表示を有効にするDebugPropertiesのON設定(右上パネル)
とここで、「あれ?」と思いませんか。
ロケータにオブジェクトを呼び出すときはProperty追加してなかったぞ?
詳細は分かりませんが、今回は
『Collision(衝突判定)のときはProperty名で指定』
Propertyなければ追加作成する。
というということを学びました。
ステップ2の最後に、
◼︎モン吉が取られる間、回転している
[Monkey]
Logic: Always -> Add -> Motion(rotateZ -2.0)
これで、Z軸に毎フレーム-2°回転します。
以上でステップ2は終了です。
いや〜なかなか初心者には時間がかかりましたが、
一気にゲームっぽくなってきましたね、テンション上がります。
さておさらい。
ステップ2での作業は
◼︎物理法則を適用して箱がジャンプできるように …前回のブログ
◼︎別のビューアでコイン作成
◼︎コイン(モン吉)に箱が当たるとコインが消える
◼︎コイン(モン吉)をとるとポイントゲット&ポイントカウンター表示
◼︎コイン(モン吉)を待機中に回転させ続ける
そして、キーワードは
● 衝突判定
● ゲームプロパティの追加
● デバッグプロパティ表示
衝突判定がこんなに簡単だとは!涙
デバッグプロパティ(テキスト)表示も簡単!
Sensorのキーボードを外部インターフェースにすれば、Arduinoからシリアル通信できそう。
Actuatorsに外部動画ファイルの再生を当てたり、モーション付きの3Dモデルとか、Alembic再生させるのをつなげれば、リッチなコンテンツできそう。
にしてもBlenderはインターフェースが見やすいなぁ。
何より触るのが楽しい!無料もサイコーですね〜
0 コメント:
コメントを投稿