この学期に「Unity3D」でゲーム開発を勉強しています。この作文は「3Dゲームの開発」について学んだ言葉を書きます。特に基本的な「Unity」の物理です。
この作文は完璧なガイドじゃなくて、「奥タワー」というモションセンサーを使うタワーディフェンスゲームの開発の時に、理解の概要です。ガイドが欲しいなら、Unity Physics TutorialとPhysics Script Referenceを読んでください。
##序文
ゲームはリアルになるよに、ゲームの品の動くことはリアルにならなければなりません。リアルのいく物理的挙動をするには、オブジェクトがゲームの中で正しく加速したり、重力や他の力や衝突による影響を受けたりしなければなりません。Unity に組み込まれている物理エンジンは物理シミュレーションを処理するコンポーネントを提供します。
##概要
ゲームの物理について、4つの項目を説明と思います:
1)「Game Object」は何ですか?
2)「Rigid Body」は何ですか?
3)「Collider」は何ですか?
4)衝突の場合は「Game Object」の特徴の影響は何ですか?
##ゲームオブジェクト
「Game Object」はゲームの中に何も使う物です。オブジェクトは場面の品や、キャラや、武器などにられます。例えば、「奥タワー」というゲームにこの狸です。1
##剛体
ゲームオブジェクトに「Rigid Body」な属性を付けることができます。もし、「Rigid Body」な属性を付けるなら、「Unity」の物理エンジンでゲームオブジェクトは物理法則に従います。
それから、ゲームオブジェクトに力は影響できます。力の例は重力です。重力を活性化するかどうかについて「Rigid Body」な属性にチェックボックスがあります。重力は下降の力だから、ボックスをチェックした時に、オブジェクトは落ちる(下降の方角は「Y軸」に「負の数」です)。
##コライダー
狸は床に止まるように、「狸」と「Terrain」は、という場面の床、「Collider」の属性が必要です。「Collider」はゲームオブジェクトに追加できる属性です。そうして、ゲームオブジェクトを囲む見えない領域です。
「Collider」は色々な形があります。基本できな形は箱と玉とカプセルです。精度のために、出来るだけゲームオブジェクトの形の一番近い形を選びます。
他のゲームオブジェクトに接触による衝突の場合は「Collider」はイベントを起こします。そのままで、イベントは2つオブジェクトがお互いに突き当たる。でも、C#のコードを入れることで、別な動くことが出来る。
##衝突の時に「Game Object」の特徴の影響
C#コードの以外に属性を変えることでイベントを変更することができます。
3つ例を説明します。
1)「Physic Material」(コライダーの属性):例えばつるつるな選んだマテリアルを使う時に衝突したゲームオブジェクトは他のオブジェクトをスライドします。
2)「Drag」(剛体の属性): 「Drag」は空気抵抗らしいです。高い値はゲームオブジェクトの動くことが遅いになります。「Drag」の種類が2つあります。質素な「Drag」は直線的な動に抗う。「Angular Drag」は回すことに抗う。
3)「is Kinematic」(剛体の属性):アクティブの時に力にゲームオブジェクトは関わないので、衝突の場合はオブジェクトを動かないです。
「Terrain」の中に貫かないのために、「狸」と「Terrain」の両方が「Collider」を追加して、「狸」の重力のチェックボックスをチェックして、「Terrain」の「is Kinematic」をチェックボックスをチェックしました。
C#のコードを入れて、「奥タワー」の動物の動きすることができます。
ゲーム開発について「Unity」にたくさん物理のコンセプトがあるので、これから続けて勉強しています。