[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:01.93,Default,,0000,0000,0000,,一般的なルールとして、もしゲームの中で Dialogue: 0,0:00:01.93,0:00:03.93,Default,,0000,0000,0000,,移動するゲームオブジェクトを使用する場合 Dialogue: 0,0:00:03.93,0:00:05.06,Default,,0000,0000,0000,,Rigidbody オブジェクトとする Dialogue: 0,0:00:05.06,0:00:06.68,Default,,0000,0000,0000,,べきです。 Dialogue: 0,0:00:07.18,0:00:09.18,Default,,0000,0000,0000,,Rigidbody は ゲームオブジェクトが物理挙動(Physics)により Dialogue: 0,0:00:09.18,0:00:11.36,Default,,0000,0000,0000,,影響を受けるためのコンポーネントです。 Dialogue: 0,0:00:11.36,0:00:13.36,Default,,0000,0000,0000,,オブジェクトが重力により落下し、 Dialogue: 0,0:00:13.36,0:00:15.81,Default,,0000,0000,0000,,重量(Mass)、抵抗(Drag)、速度(velocity) Dialogue: 0,0:00:15.81,0:00:17.41,Default,,0000,0000,0000,,などといった物理挙動のプロパティをもちます。 Dialogue: 0,0:00:17.91,0:00:19.42,Default,,0000,0000,0000,,Rigidbody コンポーネントをゲームオブジェクトに Dialogue: 0,0:00:19.42,0:00:22.03,Default,,0000,0000,0000,,追加すると、そのオブジェクトを Rigidbody オブジェクトと Dialogue: 0,0:00:22.03,0:00:23.81,Default,,0000,0000,0000,,呼ぶことがよくあります。 Dialogue: 0,0:00:24.13,0:00:26.18,Default,,0000,0000,0000,,Rigidbody コンポーネントはあらゆる物理挙動の伴う相互作用に Dialogue: 0,0:00:26.18,0:00:28.34,Default,,0000,0000,0000,,必要であり、ゲームオブジェクトは Dialogue: 0,0:00:28.34,0:00:30.34,Default,,0000,0000,0000,,コライダをアタッチしないと Dialogue: 0,0:00:30.34,0:00:33.06,Default,,0000,0000,0000,,他の物理挙動のあるオブジェクトと相互作用できません。 Dialogue: 0,0:00:33.23,0:00:35.84,Default,,0000,0000,0000,,Rigidbody がないと powerCube Dialogue: 0,0:00:35.84,0:00:37.39,Default,,0000,0000,0000,,は宙に浮いたままです。 Dialogue: 0,0:00:37.60,0:00:39.60,Default,,0000,0000,0000,,しかし、Rigidbody を追加したときに何が起きるかみてみます。 Dialogue: 0,0:00:39.83,0:00:41.68,Default,,0000,0000,0000,,他のコンポーネントと同様に Dialogue: 0,0:00:41.68,0:00:43.28,Default,,0000,0000,0000,,インスペクタの最下部にある Add Component ボタンを使用するか Dialogue: 0,0:00:43.28,0:00:45.44,Default,,0000,0000,0000,,トップメニューの Dialogue: 0,0:00:45.44,0:00:46.94,Default,,0000,0000,0000,,Component メニューを使用します。 Dialogue: 0,0:00:47.12,0:00:49.12,Default,,0000,0000,0000,,Physics セクションの配下でみつけることが出来ます。 Dialogue: 0,0:00:51.13,0:00:53.13,Default,,0000,0000,0000,,これでゲームオブジェクトは重力により落下し、 Dialogue: 0,0:00:53.13,0:00:55.13,Default,,0000,0000,0000,,物理エンジンおよび加えられた力により Dialogue: 0,0:00:55.13,0:00:57.13,Default,,0000,0000,0000,,制御されます。 Dialogue: 0,0:00:57.45,0:00:59.45,Default,,0000,0000,0000,,Rigidbody にはさまざまなオプションがあります。 Dialogue: 0,0:00:59.64,0:01:01.84,Default,,0000,0000,0000,,最初にゲームオブジェクトの Mass Dialogue: 0,0:01:01.84,0:01:04.31,Default,,0000,0000,0000,,Drag, Angular Drag が制御できます。 Dialogue: 0,0:01:04.31,0:01:06.41,Default,,0000,0000,0000,,オブジェクトの Mass により Dialogue: 0,0:01:06.41,0:01:08.01,Default,,0000,0000,0000,,オブジェクトの衝突の処理方法に影響します。 Dialogue: 0,0:01:08.30,0:01:10.30,Default,,0000,0000,0000,,Mass の大きいゲームオブジェクトほど Dialogue: 0,0:01:10.30,0:01:12.47,Default,,0000,0000,0000,,Mass の小さいゲームオブジェクトと衝突したときに Dialogue: 0,0:01:12.47,0:01:13.43,Default,,0000,0000,0000,,小さな作用をします。 Dialogue: 0,0:01:13.67,0:01:15.57,Default,,0000,0000,0000,,ゲームオブジェクトの Drag は Dialogue: 0,0:01:15.57,0:01:17.20,Default,,0000,0000,0000,,他の作用がない場合にどれぐらい早く減速するかに Dialogue: 0,0:01:17.20,0:01:18.27,Default,,0000,0000,0000,,影響します。 Dialogue: 0,0:01:18.51,0:01:20.41,Default,,0000,0000,0000,,空気抵抗と考えると良いです。 Dialogue: 0,0:01:20.63,0:01:22.72,Default,,0000,0000,0000,,これは線形の速度の減少割合を決めるのに Dialogue: 0,0:01:22.72,0:01:24.21,Default,,0000,0000,0000,,使用されます。 Dialogue: 0,0:01:24.49,0:01:26.63,Default,,0000,0000,0000,,同様にして、Angular Drag はゲームオブジェクトがいかに Dialogue: 0,0:01:26.63,0:01:28.38,Default,,0000,0000,0000,,Angular Velocity、すなわち Dialogue: 0,0:01:28.38,0:01:30.38,Default,,0000,0000,0000,,どれぐらい早く回転速度を減速するかにも Dialogue: 0,0:01:30.38,0:01:31.93,Default,,0000,0000,0000,,影響します。 Dialogue: 0,0:01:32.20,0:01:34.15,Default,,0000,0000,0000,,例えば、もしオブジェクトにトルクを加えて Dialogue: 0,0:01:34.15,0:01:35.90,Default,,0000,0000,0000,,回転させる場合、 Dialogue: 0,0:01:35.90,0:01:37.90,Default,,0000,0000,0000,,Angular Drag はこの力に抵抗を Dialogue: 0,0:01:37.90,0:01:40.11,Default,,0000,0000,0000,,作ります。次のオプションは Dialogue: 0,0:01:40.11,0:01:41.43,Default,,0000,0000,0000,,ゲームオブジェクトが重力(Gravity)により影響を受けるかどうか Dialogue: 0,0:01:41.43,0:01:43.07,Default,,0000,0000,0000,,です。 Dialogue: 0,0:01:43.53,0:01:46.52,Default,,0000,0000,0000,,このチェックボックスを有効にすることにより重力を使用します。 Dialogue: 0,0:01:47.60,0:01:49.61,Default,,0000,0000,0000,,重力の設定については Dialogue: 0,0:01:49.61,0:01:54.42,Default,,0000,0000,0000,,Unity の Edit - Project Settings - Physics メニューにてみることができます。 Dialogue: 0,0:01:55.12,0:01:57.51,Default,,0000,0000,0000,,みてのとおり 3 次元のベクトルであり Dialogue: 0,0:01:57.51,0:01:59.13,Default,,0000,0000,0000,,デフォルトでは現実世界と同様 Dialogue: 0,0:01:59.13,0:02:01.56,Default,,0000,0000,0000,,-9.81 という値です。 Dialogue: 0,0:02:02.03,0:02:04.44,Default,,0000,0000,0000,,ここでグローバルにカスタマイズすることが出来るため Dialogue: 0,0:02:04.44,0:02:06.88,Default,,0000,0000,0000,,興味深いエフェクトを作ることが出来ます。 Dialogue: 0,0:02:07.38,0:02:09.66,Default,,0000,0000,0000,,例えば横スクロールゲームでの弱い重力とか Dialogue: 0,0:02:09.66,0:02:11.66,Default,,0000,0000,0000,,パズルゲームの一部として Dialogue: 0,0:02:11.66,0:02:13.08,Default,,0000,0000,0000,,様々な軸として使用することさえ出来ます。 Dialogue: 0,0:02:13.18,0:02:16.06,Default,,0000,0000,0000,,例えば、 Z 軸に 5 という値を Dialogue: 0,0:02:16.06,0:02:18.06,Default,,0000,0000,0000,,重力に加えてみましょう。 Dialogue: 0,0:02:20.25,0:02:22.13,Default,,0000,0000,0000,,これで powerCubet はグローバル空間座標での Z 軸に Dialogue: 0,0:02:22.13,0:02:24.13,Default,,0000,0000,0000,,向かって引っ張られます。 Dialogue: 0,0:02:25.90,0:02:28.42,Default,,0000,0000,0000,,Is Kinematic オプションにより Dialogue: 0,0:02:28.42,0:02:30.92,Default,,0000,0000,0000,,Rigidbody が物理挙動に対して反応するか決定します。 Dialogue: 0,0:02:31.11,0:02:33.78,Default,,0000,0000,0000,,通常、シーンが開始するときすべての static な物体、 Dialogue: 0,0:02:33.78,0:02:36.97,Default,,0000,0000,0000,,つまり、Rigidbody のないオブジェクトは Dialogue: 0,0:02:36.97,0:02:39.20,Default,,0000,0000,0000,,物理エンジンによりチェックされ Dialogue: 0,0:02:39.20,0:02:41.20,Default,,0000,0000,0000,,パフォーマンスのためそれ以降はチェックされません。 Dialogue: 0,0:02:41.20,0:02:43.20,Default,,0000,0000,0000,,しかし、もし static オブジェクトを移動した場合 Dialogue: 0,0:02:43.20,0:02:45.97,Default,,0000,0000,0000,,物理エンジンは再度すべての static オブジェクトを Dialogue: 0,0:02:45.97,0:02:48.38,Default,,0000,0000,0000,,正確性の観点で再チェックを行い、 Dialogue: 0,0:02:48.62,0:02:50.62,Default,,0000,0000,0000,,これはパフォーマンスにとって負荷となります。 Dialogue: 0,0:02:51.05,0:02:53.75,Default,,0000,0000,0000,,これを回避するため、 Kinematic Rigidiby オブジェクトを使用して Dialogue: 0,0:02:53.75,0:02:55.42,Default,,0000,0000,0000,,その Transform を通して Dialogue: 0,0:02:55.42,0:02:57.28,Default,,0000,0000,0000,,Translate 関数を使用して移動させることが出来ます。 Dialogue: 0,0:02:57.55,0:02:59.55,Default,,0000,0000,0000,,これはつまり Physics オブジェクトについて Dialogue: 0,0:02:59.55,0:03:02.95,Default,,0000,0000,0000,,他にオブジェクトに影響するけれども自身には影響しないものを作成することが出来ます。 Dialogue: 0,0:03:03.23,0:03:05.23,Default,,0000,0000,0000,,分かりやすい例は Dialogue: 0,0:03:05.23,0:03:08.02,Default,,0000,0000,0000,,Pong または Breakout といったスタイルのゲーム(※アルカノイドのような)でのパドルがあります。 Dialogue: 0,0:03:08.75,0:03:11.78,Default,,0000,0000,0000,,このサンプルでは Rigidbody powerCube は Dialogue: 0,0:03:11.78,0:03:13.78,Default,,0000,0000,0000,,Use Gravity オプションがチェックされています。 Dialogue: 0,0:03:14.15,0:03:17.42,Default,,0000,0000,0000,,Play ボタンを押下すると、オブジェクトは地面に落下します。 Dialogue: 0,0:03:18.24,0:03:21.35,Default,,0000,0000,0000,,さらに丸い prop_samoflange Ball オブジェクトがあり、同様のコンポーネント設定を Dialogue: 0,0:03:21.35,0:03:23.35,Default,,0000,0000,0000,,となっています。 Dialogue: 0,0:03:24.65,0:03:27.22,Default,,0000,0000,0000,,もし powerCube に重力がない場合 Dialogue: 0,0:03:28.92,0:03:30.92,Default,,0000,0000,0000,,その下に落ちませんが、 Dialogue: 0,0:03:30.92,0:03:32.78,Default,,0000,0000,0000,,他のオブジェクトにより影響されます。 Dialogue: 0,0:03:33.24,0:03:35.06,Default,,0000,0000,0000,,もし他のオブジェクトにより影響されたくない場合 Dialogue: 0,0:03:35.06,0:03:38.31,Default,,0000,0000,0000,,Is Kinematic を使用することができます。 Dialogue: 0,0:03:42.14,0:03:44.54,Default,,0000,0000,0000,,前述のとおり オブジェクトはその Transform を通して Dialogue: 0,0:03:44.54,0:03:46.83,Default,,0000,0000,0000,,動かすことが出来ます。このシンプルなスクリプトを Dialogue: 0,0:03:46.83,0:03:49.27,Default,,0000,0000,0000,,使用して Tranlate 関数を使用して Dialogue: 0,0:03:49.27,0:03:51.80,Default,,0000,0000,0000,,毎フレームごとに Dialogue: 0,0:03:51.80,0:03:54.55,Default,,0000,0000,0000,,forward 方向に移動できます。 Dialogue: 0,0:03:56.86,0:03:59.39,Default,,0000,0000,0000,,みてのとおり、オブジェクトは Dialogue: 0,0:03:59.39,0:04:02.08,Default,,0000,0000,0000,,他のオブジェクトと相互作用しますが Dialogue: 0,0:04:02.08,0:04:04.45,Default,,0000,0000,0000,,Rigidbody のままであるため、 Dialogue: 0,0:04:04.45,0:04:06.28,Default,,0000,0000,0000,,物理エンジンに現在位置を伝えて Dialogue: 0,0:04:06.28,0:04:08.13,Default,,0000,0000,0000,,物理エンジンが Dialogue: 0,0:04:08.13,0:04:10.13,Default,,0000,0000,0000,,シーン全体を再評価しないようにします。 Dialogue: 0,0:04:10.63,0:04:13.04,Default,,0000,0000,0000,,Interpolate および Extrapolate は Dialogue: 0,0:04:13.04,0:04:14.86,Default,,0000,0000,0000,,揺らぎ(Jitter)を回避します。 Dialogue: 0,0:04:14.99,0:04:16.72,Default,,0000,0000,0000,,もしオブジェクトのわずかな動きが Dialogue: 0,0:04:16.72,0:04:19.22,Default,,0000,0000,0000,,Rigidbody により動かす時に発生する場合 Dialogue: 0,0:04:19.22,0:04:21.45,Default,,0000,0000,0000,,Interpolate 設定を使用することで Dialogue: 0,0:04:21.45,0:04:23.83,Default,,0000,0000,0000,,前フレームにもとづいた Transform 動作のスムージングを Dialogue: 0,0:04:23.83,0:04:26.06,Default,,0000,0000,0000,,行ないます。そして Extrapolate 設定により Dialogue: 0,0:04:26.06,0:04:27.87,Default,,0000,0000,0000,,次フレームの位置予測にもとづいた Dialogue: 0,0:04:27.87,0:04:29.37,Default,,0000,0000,0000,,スムージングを行ないます。 Dialogue: 0,0:04:29.37,0:04:31.09,Default,,0000,0000,0000,,次の設定は Dialogue: 0,0:04:31.09,0:04:33.53,Default,,0000,0000,0000,,衝突判定(Collision Detection)のタイプです。 Dialogue: 0,0:04:33.53,0:04:35.53,Default,,0000,0000,0000,,Discrete, Continuous, および Continuous Dynamic があります。 Dialogue: 0,0:04:36.08,0:04:38.00,Default,,0000,0000,0000,,デフォルトは Discrete であり、 Dialogue: 0,0:04:38.00,0:04:40.54,Default,,0000,0000,0000,,問題ないかぎり Discrete を使用するべきです。 Dialogue: 0,0:04:41.12,0:04:43.12,Default,,0000,0000,0000,,Continuous は高速のオブジェクトで Dialogue: 0,0:04:43.12,0:04:46.05,Default,,0000,0000,0000,,static な物体と相互作用がある場合に使用します。 Dialogue: 0,0:04:46.32,0:04:48.94,Default,,0000,0000,0000,,Continous Dynamic は高速なオブジェクトで Dialogue: 0,0:04:48.94,0:04:50.82,Default,,0000,0000,0000,,他の Dynamic オブジェクトと相互作用がある場合に Dialogue: 0,0:04:50.82,0:04:52.39,Default,,0000,0000,0000,,使用します。 Dialogue: 0,0:04:52.97,0:04:54.85,Default,,0000,0000,0000,,最後に Rigidbody コンポーネントの Constraints セクションにより Dialogue: 0,0:04:54.85,0:04:56.85,Default,,0000,0000,0000,,オブジェクトの動作または回転の Dialogue: 0,0:04:56.85,0:04:58.85,Default,,0000,0000,0000,,物理挙動を制限させることが Dialogue: 0,0:04:58.85,0:05:00.85,Default,,0000,0000,0000,,できます。例えば、 Dialogue: 0,0:05:00.85,0:05:02.85,Default,,0000,0000,0000,,もしテトリスのようなゲームがあった場合 Dialogue: 0,0:05:02.85,0:05:04.85,Default,,0000,0000,0000,,ゲームのブロックが落下するときに Dialogue: 0,0:05:04.85,0:05:07.17,Default,,0000,0000,0000,,回転させる必要があります。 Dialogue: 0,0:05:07.17,0:05:09.50,Default,,0000,0000,0000,,ここの Rotation Constraints を使用することで制限すべきです。 Dialogue: 0,0:05:10.19,0:05:12.64,Default,,0000,0000,0000,,このサンプルでは powerCube は Dialogue: 0,0:05:12.64,0:05:15.03,Default,,0000,0000,0000,,workbench 上に落下します。これは Rigidbody であり Dialogue: 0,0:05:15.03,0:05:17.03,Default,,0000,0000,0000,,Use Gravity が有効化されています。 Dialogue: 0,0:05:17.100,0:05:19.100,Default,,0000,0000,0000,,標準どおり、次のように落下します。 Dialogue: 0,0:05:20.30,0:05:23.13,Default,,0000,0000,0000,,もし落下するについれて回転させたくない場合 Dialogue: 0,0:05:23.13,0:05:26.05,Default,,0000,0000,0000,,Constraints のなかで回転をフリーズすることが出来ます。 Dialogue: 0,0:05:26.55,0:05:29.82,Default,,0000,0000,0000,,これで落ちるときに回転が発生しません。\N(翻訳:gamesonytablet)