スクリプト」カテゴリーアーカイブ

【Unity】ハンドルを回転させてゲートを開け閉めする #2

ゲートの移動範囲がずれないように修正しました。 前の記事ではハンドルの回転だけを制限していましたが、ジョイントやコライダーの衝突を使ってゲートの動きを制限して、ゲートが制限まで達したときにハンドルを固定するようにします。… 続きを読む »

【Unity】ハンドルを回転させてゲートを開け閉めする #1

マウスドラッグでハンドルを回転させて、ゲートを開閉してみます。 前の記事のバルブを回す処理をバルブにつけるスクリプトで行います。 using System.Collections; using System.Collec… 続きを読む »

【Unity】レバーで機械をオンオフする

レバーを使って機械をオンオフしてみます。 まずレバーを作ってHingeジョイントを付けます。レバーの根本で、レバーの回転に垂直な方向に軸を設定しました。レバーが元の位置に戻るようにSpringを使います。また、Limit… 続きを読む »

【Unity】C#スクリプトでテクスチャの色を変更する #1

プレイ中にマウスでクリックした場所のテクスチャの色を変更してみます。 まずシーン上のPlaneオブジェクトのマテリアルに設定するテクスチャをスクリプトで新規作成して、白く塗りました。 [SerializeField] G… 続きを読む »

【Unity】FPSキャラのカメラを横に傾ける #1

曲がり角から覗き見るように、一人称視点のプレイヤーのカメラを横に傾けます。今回はカメラの回転だけをやってみました。 Qキーで左、Eキーで右にリーンします。FPSコントローラーでカメラの回転をMouseLookクラスのLo… 続きを読む »

【Unity】マウスドラッグでバルブを回す

マウスカーソルをくるくると円形にドラッグして、バルブのオブジェクトを回してみます。 まずバルブにコライダーとリジッドボディ、ヒンジジョイントを付けます。リジッドボディのAngular Dragで抵抗を設定します。 ヒンジ… 続きを読む »

【Unity】一人称キャラの手を作る

一人称キャラの手元を作って、カメラの動きに少し遅れてついてくるようにしてみます。 まず、人型のモデルの腕以外を削除して、ボーンを付けて、懐中電灯をもたせました。 今回はこの状態で固定して、ボーンを削除してUnityに持っ… 続きを読む »

【Unity】開閉中のドアにぶつかると自動で後ろに下がる

ドアを開閉中にドアがプレイヤーに当たると、キー入力がなくても自動でプレイヤーを後ろに移動させます。 ドアの開閉中はプレイヤーの移動や回転をロックしているので、ドアが引っかかると一旦ドアの開閉をやめてプレイヤーを移動させて… 続きを読む »

【Unity】一人称視点でオブジェクトを掴んで移動させる #2

前の記事の勘違いを修正しました。 前の記事では、プレイヤーとItemの正面のなす角が小さくなるように回転させたいのに、内積をそのまま使っていました。 コサインは角度が小さいと1になって90度のときに0になるので、内積を1… 続きを読む »

【Unity】一人称視点でオブジェクトを持ち上げて投げる

左クリックを押している間はアイテムを持ち上げて、右クリックを押すと視線方向にそのアイテムを投げます。 前の記事のスクリプトのアイテムを移動させる箇所に投げる処理を追記します。 // アイテムを移動させる else if … 続きを読む »

【Unity】一人称視点でオブジェクトを掴んで移動させる

一人称視点でオブジェクトを掴んで移動させます。掴んでいる間も、物理演算で他のアイテムや床と衝突するようにします。 前のスクリプトに追記して、近くでアイテムにレイがあたっているときにマウスの左クリックをすると、アイテムを掴… 続きを読む »

【Unity】掴んだアイテムを拡大縮小する #1

前の記事の方法で持ち上げて回転させるアイテムを遠ざけたり近くに寄せたりして観察できるようにします。 アイテムを持ち上げている時にマウスドラッグでアイテムを回転させますが、シフトキーを押しながらドラッグするとアイテムは回転… 続きを読む »