【Unity】Animation Riggingでドアを自然に通過させる
キャラクターがドアを通るときに、頭や腕が壁を突き抜けることがあります。 Animation Riggingパッケージを使って、ドアを通過するときのアニメーションを動的に編集してみました。 Rigを設定 Animation… 続きを読む »
キャラクターがドアを通るときに、頭や腕が壁を突き抜けることがあります。 Animation Riggingパッケージを使って、ドアを通過するときのアニメーションを動的に編集してみました。 Rigを設定 Animation… 続きを読む »
レイの当たった場所を掴むで掴めるアイテムクラスを作ったので、これを継承してドアクラスを作ってみました。 ドアにはスクリプトとRigidbodyとヒンジジョイントを付けました。 ヒンジジョイントの軸はドアの右端で上下方向に… 続きを読む »
出入り口にコライダーを置いて、ドアの出入りを判定してみました。 このドアはX軸方向に通過するので、トリガーExitのときのプレイヤーとコライダーの位置のX軸の値を比べるだけです。 private void OnTrigg… 続きを読む »
2つの部屋を別々に作って、簡単に通路で隙間を埋める方法を考えてみました。 まず両方の部屋の壁のだいたい同じ位置にドアくらいの大きさの穴を開けました。 簡単にCubeに穴を開けたような枠を作って、この隙間が隠れるくらいの大… 続きを読む »
キー入力でドアをノックして勢いよく開きます。 まずCubeで簡単にドアを作って、Hinge Jointとスクリプト、オーディオソースコンポーネントを付けました。RigidbodyとBoxコライダーは元々付いています。 H… 続きを読む »
どのドアを通ってどの部屋に出入りしたかを、トリガーを使って判定してみます。 まず簡単に部屋と出入り口を一つ作り、出入り口を挟むようにコライダーを2つ置きました。 コライダーはIs Triggerにチェックが入っていて、出… 続きを読む »
ドアを開閉中にドアがプレイヤーに当たると、キー入力がなくても自動でプレイヤーを後ろに移動させます。 ドアの開閉中はプレイヤーの移動や回転をロックしているので、ドアが引っかかると一旦ドアの開閉をやめてプレイヤーを移動させて… 続きを読む »
ドアをスムーズに開閉させてみます。ドアを掴んでいる間はプレイヤーのカメラをロックして、マウスドラッグでドアを開閉しています。 x = CrossPlatformInputManager.GetAxis(“Mouse X”… 続きを読む »
Configurable Jointを使って引き戸を作ってみます。 Configurable Jointでは、移動や回転に制限を付けられます。X MotionをLimitedにし、他を全てLockedにすると、この方向に… 続きを読む »
ドアを開けるときと閉まった時に音を付けてみます。 // 閉まっている if (state == 0) { // プレイヤーがドアを触った時 if (clicked && !previousClicked) { audio… 続きを読む »
Booleanはすごく使い勝手が良いです。 例えば、2つのCubeを少し重ねます。 大きい方のCubeを選択した状態で、Add Modifierから「Boolean」を選びます。 Objectをクリックして、小さい方のC… 続きを読む »