字幕表 動画を再生する 字幕スクリプトをプリント 翻訳字幕をプリント 英語字幕をプリント As a general rule, if you're going to have 一般的なルールとして、もしゲームの中で moving game objects in your game 移動するゲームオブジェクトを使用する場合 you should make sure that they are Rigidbody オブジェクトとする rigidbody objects. べきです。 Rigidbodies are components that allow Rigidbody は ゲームオブジェクトが物理挙動(Physics)により a game object to be effected by physics. 影響を受けるためのコンポーネントです。 They allow the object to fall under gravity, オブジェクトが重力により落下し、 and have physics properties such as mass, 重量(Mass)、抵抗(Drag)、速度(velocity) drag and velocity. などといった物理挙動のプロパティをもちます。 When we add a rigidbody component Rigidbody コンポーネントをゲームオブジェクトに to a game object we often then refer to it 追加すると、そのオブジェクトを Rigidbody オブジェクトと as a rigidbody object. 呼ぶことがよくあります。 A rigidbody component is required for any physics Rigidbody コンポーネントはあらゆる物理挙動の伴う相互作用に based interaction, and the game object 必要であり、ゲームオブジェクトは must also have a collider attached コライダをアタッチしないと in order to interact with other physics objects. 他の物理挙動のあるオブジェクトと相互作用できません。 Without a rigidbody our power cube will Rigidbody がないと powerCube simply hover in mid air. は宙に浮いたままです。 But let's see what happens when we add one. しかし、Rigidbody を追加したときに何が起きるかみてみます。 Like any other component it can be added 他のコンポーネントと同様に using the Add Component button at インスペクタの最下部にある Add Component ボタンを使用するか at the bottom of the inspector, or from トップメニューの the 'Component' top menu. Component メニューを使用します。 You will find it under the Physics section. Physics セクションの配下でみつけることが出来ます。 Now our object falls under gravity これでゲームオブジェクトは重力により落下し、 and can be controlled by the physics engine 物理エンジンおよび加えられた力により and any forces that are applied to it. 制御されます。 Rigidbodies have numerous options. Rigidbody にはさまざまなオプションがあります。 Firstly there are settings to control the mass, 最初にゲームオブジェクトの Mass drag and angular drag of the game object. Drag, Angular Drag が制御できます。 The mass of the object effects how collisions オブジェクトの Mass により are treated with the object. オブジェクトの衝突の処理方法に影響します。 Game objects with a higher mass will react Mass の大きいゲームオブジェクトほど less when collided with a lower mass Mass の小さいゲームオブジェクトと衝突したときに game object. 小さな作用をします。 The drag of a game object effects how ゲームオブジェクトの Drag は quickly it will slow down without 他の作用がない場合にどれぐらい早く減速するかに other interactions. 影響します。 Think of it like air resistance. 空気抵抗と考えると良いです。 It's used to determine the rate of a loss これは線形の速度の減少割合を決めるのに of linear velocity. 使用されます。 Similarly, angular drag effects how 同様にして、Angular Drag はゲームオブジェクトがいかに quickly the game object will slow it's Angular Velocity、すなわち angular velocity, i.e. how どれぐらい早く回転速度を減速するかにも fast it is rotating. 影響します。 So for example if you're adding torque 例えば、もしオブジェクトにトルクを加えて to the object to rotate it, 回転させる場合、 the angular drag will create resistance Angular Drag はこの力に抵抗を to this force. The next option is 作ります。次のオプションは whether or not the game object is ゲームオブジェクトが重力(Gravity)により影響を受けるかどうか effected by gravity. です。 By enabling this checkbox we use gravity. このチェックボックスを有効にすることにより重力を使用します。 Settings for gravity can be seen in the 重力の設定については Edit - Project Settings - Physics area of Unity. Unity の Edit - Project Settings - Physics メニューにてみることができます。 As you can see it's a 3 dimensional vector みてのとおり 3 次元のベクトルであり which by default has a real world デフォルトでは現実世界と同様 value of -9.81. -9.81 という値です。 Because you can customise it globally here ここでグローバルにカスタマイズすることが出来るため you could also create interesting effects 興味深いエフェクトを作ることが出来ます。 Such as low gravity for a platformer 例えば横スクロールゲームでの弱い重力とか or even setting it to a different axis パズルゲームの一部として as part of a puzzle game. 様々な軸として使用することさえ出来ます。 For example, let's add gravity to the 例えば、 Z 軸に 5 という値を Z axis by a value of 5. 重力に加えてみましょう。 And now the power cube is pulled towards これで powerCubet はグローバル空間座標での Z 軸に towards the global Z axis. 向かって引っ張られます。 The Is Kinematic setting effects whether Is Kinematic オプションにより or not a rigid body will react to physics. Rigidbody が物理挙動に対して反応するか決定します。 Ordinarily when a scene begins, all static 通常、シーンが開始するときすべての static な物体、 geometry, meaning any non-rigidbody objects つまり、Rigidbody のないオブジェクトは are checked once by the physics engine 物理エンジンによりチェックされ and not checked again for efficiency. パフォーマンスのためそれ以降はチェックされません。 However when you move a static object しかし、もし static オブジェクトを移動した場合 the physics engine must re-check all other 物理エンジンは再度すべての static オブジェクトを static objects for the sake of accuracy, 正確性の観点で再チェックを行い、 and this can be expensive to performance. これはパフォーマンスにとって負荷となります。 To avoid this, Kinematic rigidbody objects can be used これを回避するため、 Kinematic Rigidiby オブジェクトを使用して and moved via their transform その Transform を通して by using the Translate function. Translate 関数を使用して移動させることが出来ます。 This means that you can have physics objects これはつまり Physics オブジェクトについて that effect others but are not effected themselves. 他にオブジェクトに影響するけれども自身には影響しないものを作成することが出来ます。 An obvious example of this would be the 分かりやすい例は paddle in a Pong or Breakout style game. Pong または Breakout といったスタイルのゲーム(※アルカノイドのような)でのパドルがあります。 In this example our rigidbody power cube このサンプルでは Rigidbody powerCube は has Use Gravity checked. Use Gravity オプションがチェックされています。 When we press play, the object falls to the ground. Play ボタンを押下すると、オブジェクトは地面に落下します。 We also have our round prop samoflange ball さらに丸い prop_samoflange Ball オブジェクトがあり、同様のコンポーネント設定を object, which has a similar component setup. となっています。 If the power cube does not have gravity もし powerCube に重力がない場合 then it will not fall under it, but it will その下に落ちませんが、 be effected by other objects. 他のオブジェクトにより影響されます。 If we don't want it to be effected by other もし他のオブジェクトにより影響されたくない場合 objects we can use Is Kinematic. Is Kinematic を使用することができます。 And as stated we can also move the object 前述のとおり オブジェクトはその Transform を通して via it's transform. So we'll make use of 動かすことが出来ます。このシンプルなスクリプトを this simple script, which uses the 使用して Tranlate 関数を使用して translate function to move it via it's 毎フレームごとに forward direction every frame. forward 方向に移動できます。 And as you can see, the object still みてのとおり、オブジェクトは interacts with the others but remains a 他のオブジェクトと相互作用しますが rigidbody, so is constantly informing Rigidbody のままであるため、 the physics engine of it's location 物理エンジンに現在位置を伝えて and not forcing the physics engine 物理エンジンが to re-evaluate the entire scene. シーン全体を再評価しないようにします。 The Interpolate and Extrapolate settings Interpolate および Extrapolate は are there to solve jittering. 揺らぎ(Jitter)を回避します。 If you experience slight movement of your もしオブジェクトのわずかな動きが object when moving it via it's rigidbody, Rigidbody により動かす時に発生する場合 make use of the interpolate setting in order to Interpolate 設定を使用することで smooth the transform movement based on the 前フレームにもとづいた Transform 動作のスムージングを previous frame. And the extrapolate setting 行ないます。そして Extrapolate 設定により to smooth based on a predicted 次フレームの位置予測にもとづいた location in the next frame. スムージングを行ないます。 The next setting is for the type of 次の設定は collision detection. We have Discrete, 衝突判定(Collision Detection)のタイプです。 Continuous and Continuous Dynamic. Discrete, Continuous, および Continuous Dynamic があります。 The default is discrete and unless you デフォルトは Discrete であり、 have any problems you should use discrete. 問題ないかぎり Discrete を使用するべきです。 Continuous is for fast moving objects Continuous は高速のオブジェクトで that are interacting with static geometry. static な物体と相互作用がある場合に使用します。 And continuous dynamic is for fast moving Continous Dynamic は高速なオブジェクトで objects that are interacting with other 他の Dynamic オブジェクトと相互作用がある場合に dynamic objects. 使用します。 Finally the constraints section of the 最後に Rigidbody コンポーネントの Constraints セクションにより rigidbody component allow you to オブジェクトの動作または回転の constrain movement or rotation of the object 物理挙動を制限させることが by physics. For example, if you できます。例えば、 had a Tetris style game you might not もしテトリスのようなゲームがあった場合 want the cubes of your game to rotate ゲームのブロックが落下するときに as they fell in to place. You could constrain 回転させる必要があります。 this using the rotation constraints here. ここの Rotation Constraints を使用することで制限すべきです。 In this example our power cube is このサンプルでは powerCube は falling on to the workbench. It's a rigid workbench 上に落下します。これは Rigidbody であり body that has Use Gravity checked. Use Gravity が有効化されています。 And as standard it falls like this. 標準どおり、次のように落下します。 If we didn't want it to rotate as it falls もし落下するについれて回転させたくない場合 we can freeze the rotation within the constraints. Constraints のなかで回転をフリーズすることが出来ます。 And now when it falls, no rotation. これで落ちるときに回転が発生しません。 (翻訳:gamesonytablet)
B2 中上級 日本語 英 オブジェクト ゲーム 物理 使用 重力 落下 物理オブジェクト(剛体) - Unity公式チュートリアル (Physics Objects (Rigidbodies) - Unity Official Tutorials) 96 5 朱瑛 に公開 2021 年 01 月 14 日 シェア シェア 保存 報告 動画の中の単語