2019.09.07UnityではTransformの値を変更することで、アクションゲームでよくある「動く床」をかなり簡単に作ることができます。単純にその方法で動く床を作ると、プレイヤーキャラが床と一緒に移動せずに滑り落ちてしまう...という問題があります。そこで今回は「乗るとプレイヤーも一緒に動く移動床」の作り方を紹介します。完成イメージは次のGIFのとおりです。動く床のC#スクリプトおわりに今回作る「動く床」の仕組みでは、作り方を説明する前に今回作る「動く床」の仕組みについて簡単に説明します。今回のような「乗るとプレイヤーも一緒に動く移動床」を作る方法は2通りほど考えられるのですが、ここでは「床に乗っている間だけ、プレイヤーを床の子オブジェクトにする」という仕組みを採用することにしました。Unityでは子オブジェクトのTransformは親オブジェクトのTransformを基準にするので、プレイヤーを床の子オブジェクトにすることで、プレイヤーが床と一緒に移動するようになります。ゲームオブジェクトの親子関係はSetParentというメソッドで変更できるので、スクリプトではこのメソッドを使えばOKです。あとは「床に乗っている間だけ」というのを実現するために、コライダーのOnTriggerEnter等を活用してスクリプトを組んでいきます。動く床の作り方それでは動く床の作り方を見ていきましょう。トリガーの作成まず、動く床のゲームオブジェクトに上の画像のようなトリガーをアタッチします。このとき、トリガーを床の上面いっぱいにすると側面からぶつかったときもプレイヤーを検知してしまうため、少しだけ小さめに設定しておくのがポイントです。動く床のC#スクリプトあとは簡単なC#スクリプトを書くだけです。ここでは「BaseObstacleController」という障害物に共通する処理を持つ基底クラスを作り、それを継承して動く床のクラス「ReciprocatingObstacle」を作っています。}}パラメータについてmoveX,Y,Z:移動量speed:速さwaitTime:端まで移動したときに停止する時間おわりに以上、簡単ではありますが動く床の作り方をご紹介しました。これがあるとアクションゲーム等のステージ作りが楽しくなるので、今回の内容を参考にしてぜひ実際に作ってみてください。Pocketくろくまくろくまそふと関連記事ゲーム制作メモ初めて「1週間ゲームジャム」に参加した感想すでに他の記事にも書いたとおり、7月1日~7日にかけて行われた「1週間ゲームジャム」(第12回)に参加しました。この記事ではそのゲームジャムに参加した感想を書いていきます。はじめに1週間ゲームジャムについ...お知らせ物理演算パズルゲーム「落とすな!タマゴ」を公開しました!Unity製ミニゲームの第二弾として作っていたパズルゲーム「落とすな!タマゴ」をリリースしたのでお知らせします。ニワトリが産んだ卵がカゴに入るようにする、手軽だけどちょっとシビアなゲームです。...ゲーム制作メモ【Unity】サウンド管理クラス(SoundManager)を作る前回紹介したUnityでのセーブ・ロード処理に続いて今度はサウンド管理についての話題です。Unityは魅力の多いゲーム制作ツールではありますが、大きな欠点の一つとして標準ではサウンドを管理する機能がないことが挙げられます。2019年版2019.08.06ゲームに使えるフリーフォントまとめ2019.06.19【Unity】JSONを使ったセーブ・ロード処理2019.03.232019.06.04【Unity】AIで自動行動する敵キャラクターの作り方2020.01.022020.01.02【ウディタ】Game.exeのアイコンを変更する方法2018.06.03。