【Unity】ドアの開閉イベントを作る
レイの当たった場所を掴むで掴めるアイテムクラスを作ったので、これを継承してドアクラスを作ってみました。 ドアにはスクリプトとRigidbodyとヒンジジョイントを付けました。 ヒンジジョイントの軸はドアの右端で上下方向に… 続きを読む »
レイの当たった場所を掴むで掴めるアイテムクラスを作ったので、これを継承してドアクラスを作ってみました。 ドアにはスクリプトとRigidbodyとヒンジジョイントを付けました。 ヒンジジョイントの軸はドアの右端で上下方向に… 続きを読む »
キー入力でドアをノックして勢いよく開きます。 まずCubeで簡単にドアを作って、Hinge Jointとスクリプト、オーディオソースコンポーネントを付けました。RigidbodyとBoxコライダーは元々付いています。 H… 続きを読む »
ハンドルを回して開閉するゲートに重力を加えます。前の記事では、マウスドラッグによってハンドルとゲートを両方動かしていましたが、今回はゲートだけを動かして、ゲートの速度を使ってハンドルを回転させてみました。 using S… 続きを読む »
ゲートの移動範囲がずれないように修正しました。 前の記事ではハンドルの回転だけを制限していましたが、ジョイントやコライダーの衝突を使ってゲートの動きを制限して、ゲートが制限まで達したときにハンドルを固定するようにします。… 続きを読む »
マウスドラッグでハンドルを回転させて、ゲートを開閉してみます。 前の記事のバルブを回す処理をバルブにつけるスクリプトで行います。 using System.Collections; using System.Collec… 続きを読む »
ドアを開閉中にドアがプレイヤーに当たると、キー入力がなくても自動でプレイヤーを後ろに移動させます。 ドアの開閉中はプレイヤーの移動や回転をロックしているので、ドアが引っかかると一旦ドアの開閉をやめてプレイヤーを移動させて… 続きを読む »
ドアをスムーズに開閉させてみます。ドアを掴んでいる間はプレイヤーのカメラをロックして、マウスドラッグでドアを開閉しています。 x = CrossPlatformInputManager.GetAxis(“Mouse X”… 続きを読む »
ドアを開けるときと閉まった時に音を付けてみます。 // 閉まっている if (state == 0) { // プレイヤーがドアを触った時 if (clicked && !previousClicked) { audio… 続きを読む »