【Unity】レバーで機械をオンオフする
レバーを使って機械をオンオフしてみます。 まずレバーを作ってHingeジョイントを付けます。レバーの根本で、レバーの回転に垂直な方向に軸を設定しました。レバーが元の位置に戻るようにSpringを使います。また、Limit… 続きを読む »
レバーを使って機械をオンオフしてみます。 まずレバーを作ってHingeジョイントを付けます。レバーの根本で、レバーの回転に垂直な方向に軸を設定しました。レバーが元の位置に戻るようにSpringを使います。また、Limit… 続きを読む »
プレイ中にマウスでクリックした場所のテクスチャの色を変更してみます。 まずシーン上のPlaneオブジェクトのマテリアルに設定するテクスチャをスクリプトで新規作成して、白く塗りました。 [SerializeField] G… 続きを読む »
前の記事でカメラを回転させるときに、カメラを縦横に動かして柱の角から覗けるようにします。 FirstPersonControllerクラスではカメラの移動はUpdateCameraPosition()で行うので、ここにカ… 続きを読む »
曲がり角から覗き見るように、一人称視点のプレイヤーのカメラを横に傾けます。今回はカメラの回転だけをやってみました。 Qキーで左、Eキーで右にリーンします。FPSコントローラーでカメラの回転をMouseLookクラスのLo… 続きを読む »
マウスカーソルをくるくると円形にドラッグして、バルブのオブジェクトを回してみます。 まずバルブにコライダーとリジッドボディ、ヒンジジョイントを付けます。リジッドボディのAngular Dragで抵抗を設定します。 ヒンジ… 続きを読む »
マウスカーソルを円形にくるくる動かして値を増減させてみます。 空のゲームオブジェクトにスクリプトを付けます。 using System.Collections; using System.Collections.Gene… 続きを読む »
UnityのMask Mapを作ってみました。 マスクマップでは、テクスチャのR,G,B,A値をそれぞれ、メタリック、アンビエントオクルージョン、ディテールマスク、スムーズネスに使います。 今回は各値を別々に設定して統合… 続きを読む »
Rigidbodyとジョイントを付けた机の引き出しや扉にLODグループコンポーネントを設定してみました。 頂点数の違う机を用意して、LODグループで近くでは詳細な机を、遠くでは二段階でシンプルな机を表示し、最後は机が表示… 続きを読む »
一人称視点で机の引き出しや扉を動かしてみます。 まず、Blenderで机を作って、UnityでコライダーやRigidbodyを追加します。引き出しにはConfigurable Jointを、扉にはヒンジジョイントを付けま… 続きを読む »
FPSキャラの手を引っ込めたり、持たせる武器を切り替えてみます。 まず前の記事と同様に、ナイフやライターを取り出すアニメーションやライターの火を付けるアニメーション等を作りました。 これらをUnityに持っていって、アニ… 続きを読む »
一人称視点で歩いているときに足のステップに合わせて手元を小刻みに動かしてみます。 スタンダードアセットには、キャラクターが歩くのに合わせてカメラを上下左右に揺れ動かすためのCurveControlledBobクラスがある… 続きを読む »
一人称視点で手に持った武器で攻撃してみます。 まずBlenderで右腕のモデルにボーンを付けました。 これに前の記事の方法でナイフを持たせてアニメーションを作ります。 今回は、呼吸とともに腕がかすかに上下するアニメーショ… 続きを読む »
頂点スナップ等を使ってオブジェクトを隙間なく並べてみます。 移動ツールとトランスフォームが有効になっていて、オブジェクトを選択してVキーを押している間は頂点スナップモードに切り替わります。 頂点スナップモードでは、シーン… 続きを読む »
一人称キャラの手元を作って、カメラの動きに少し遅れてついてくるようにしてみます。 まず、人型のモデルの腕以外を削除して、ボーンを付けて、懐中電灯をもたせました。 今回はこの状態で固定して、ボーンを削除してUnityに持っ… 続きを読む »
ドアを開閉中にドアがプレイヤーに当たると、キー入力がなくても自動でプレイヤーを後ろに移動させます。 ドアの開閉中はプレイヤーの移動や回転をロックしているので、ドアが引っかかると一旦ドアの開閉をやめてプレイヤーを移動させて… 続きを読む »
スタンダードアセットのFPSコントローラーでしゃがめるようにしてみました。 FirstPersonControllerでは、カメラの位置をUpdateCameraPosition()で更新しているので、ここで高さを変えら… 続きを読む »
ドアをスムーズに開閉させてみます。ドアを掴んでいる間はプレイヤーのカメラをロックして、マウスドラッグでドアを開閉しています。 x = CrossPlatformInputManager.GetAxis(“Mouse X”… 続きを読む »
走っている時に引き戸を素早く開けられるようにします。 if (CrossPlatformInputManager.GetButtonDown(“Fire1”) && hit.collider.tag == “Slidin… 続きを読む »
摩擦を設定して、引き戸の動きをもう少しリアルにしてみます。 Configurable Jointを付けて移動制限をして、両側に壁を置いただけでは、勢い良く閉めたときのバウンドの大きさが気になります。 また、少し引き戸を動… 続きを読む »
Configurable Jointを使って引き戸を作ってみます。 Configurable Jointでは、移動や回転に制限を付けられます。X MotionをLimitedにし、他を全てLockedにすると、この方向に… 続きを読む »