‫お帰りなさい｡
‫このビデオでは､ さまざまな場所で使用できる強力なツールである「レーキ」の使い方をご紹介します｡
‫例えば､ 自分の前に何かあるのか､ 後ろに何かあるのか､ 上に何かあるのか､ マウスがあるところに何かあるのか､
‫そういうことを確認することができるのです｡
‫そして､ それを2つのゲームで使い分ける｡
‫だから､ 後で使い方がわかるように､ 今のうちにやっておこう｡
‫そのために必要なのが､ 私たちのキューブなのです｡
‫では､ 立方体をゲームに戻すと同時に､ 平面を作ってみましょう｡
‫つまり3Dオブジェクトと平面｡
‫だから今､ ここはちょっと様子が違う｡
‫ご覧の通り､ 我々の角度はとても変です｡
‫では､ これを見てみましょう｡
‫プレーンは立方体の中に入っているので､ プレーンの回転を変えてみましょう｡
‫わかりました｡
‫これで､ もう大丈夫です｡
‫なるほど｡
‫つまり､ 平面が立方体より低くなければならないのです｡
‫と同時に､ 素材をあげる｡
‫では､ 実際にマテリアルを作って､ 地中でよく見えるようにしましょう｡
‫そして､ それを赤に変えてみよう｡
‫だから､ 地下を赤にしよう｡
‫それで今､ 私たちのゲームで見ることができるのです｡
‫つまり､ キューブの下に何かがあるかどうかを確認することです｡
‫その下に衝突するものがあれば､ それもありです｡
‫そのためには､ そのキューブに新しいスクリプトを与えればいいのです｡
‫そこで､ 新しいスクリプトを追加して､ オブジェクトをチェックすることにします｡
‫オブジェクトのチェックとでも言うのでしょうか｡
‫ここで必要なのは､ updateメソッドの中で､ 赤いキャストをヒットさせることです｡
‫だから､ 特定の方向に向かってリクエストして､ ヒットするかどうか､ 物理の場合はチェックするんです｡
‫16種類のオーバーロードがあり､ そのうちの1つ､ 位置を変換したものを使用します｡
‫というのが､ 今回の依頼の原点ですね｡
‫それから､ リキャストの方向性が必要です｡
‫だから私の場合､ 下を向きたいんです｡
‫だからベクトル3アップ｡
‫マイナスベクトル3のアップはダウンになるわけです｡
‫そして､ ヒットしたポイントが欲しいのです｡
‫そこで出力を打って､ 最後にどこまでやりたいかを知りたいのです｡
‫だから例えば､ 100台だけチェックしたい｡
‫それ以上のことはしたくないのです｡
‫そして､ 何かにぶつかったら､ 例えばプリントして､ ぶつかった距離とぶつかった点の距離の違いを伝えるところまでできます｡
‫あるいは､ そのトランスフォームの思考位置をヒットさせることで､ どこをヒットさせたのかまで言えるようになるかもしれません｡
‫では､ このスクリプトを保存して､ Unityに戻りましょう｡
‫これで､ キューブにはこのようなスクリプトができました｡
‫では､ さっそく実行してみましょう｡
‫コンソールに書いてあることを見てみましょう｡
‫そして､ 「ゼロゼロで何かにぶつかった」と書かれています｡
‫そして､ 今度は少し動かして､ すべてをクリアにします｡
‫それでは､ 何もヒットせず､ 地上の私たちの方にだけ移動して､ メソッドが呼び出され､ updateメソッドで呼び出されていることを確認しましょう｡
‫だから､ とてもよく呼ばれるのです｡
‫そのため､ printメソッドは1フレームごとに非常に頻繁に呼び出されます｡
‫だから､ 何かにぶつかったとき､ 正確にわかるようになったのです｡
‫さらに､ 「何も当たらないなら､ 下には何も印刷しない」とまで言い切ることができます｡
‫では､ それを保存してもう一度試してみましょう｡
‫そして､ 何もない状態で､ エレメントを前後に動かしてみましょう｡
‫そして､ 何かにぶつかると､ 前後に動くんです｡
‫わかりました｡
‫それで､ もう使っていないものがビルドにあるので､ このエラーがまだ出ているのです｡
‫だから､ あなたには表示されないはずです｡
‫さて､ これで「Red Cast Hit」を使って､ 自分の下に何かがあるかどうかを確認する方法がわかりましたね｡
‫では､ 同じようにマウスで移動して､ マウスで何かにぶつかったかどうかを確認する方法を見てみましょう｡
‫だから､ ゲームを止めよう｡
‫Visual Studioに戻ろう｡
‫そして､ 今度はリキャストヒットを使うのではなく､ レイを使う必要があります｡
‫そこで､ それをコメントアウトして､ 今はRayを使うことにしましょう｡
‫つまり､ Rayはカメラドットメインと等しく､ その画面はRayを指しています｡
‫そして､ ここでは入力の前に必ずget mouse downなどを使っています｡
‫しかし､ 今回はマウスポジションを使用します｡ これはベクトル3であり､ マウスの位置をチェックし､
‫ゲーム内のどのポイントにいるのかを計算します｡
‫そして今､ 私たちは物理ドットが私たちの光線と､ 例えば､ 何かがあると100の距離でリキャストするかどうかを確認することができます｡
‫プリントする｡
‫打って､ 打って｡
‫ええと､ たぶん何か｡
‫何かを打つ｡
‫では､ 見てみましょう｡
‫これからどうなるのでしょうか？
‫ユニティに戻り､ 口で遊んでみて､ 何かにぶつからないか見てみよう｡
‫そして何かにぶつかり､ どん底に落ちた｡
‫それで､ 何かにぶつかるたびに､ あるいは何かにぶつかったフレームごとにアップデート方法が上がっていくのがわかるようになりました｡
‫今､ ヒットしたものを知りたければ､ レートキャストのヒットを使えばいいし､ ヒットと呼ぶだけでいいんです｡
‫そして､ ここでは別のオーバーロード､ アウトヒットオーバーロードを使う必要があります｡
‫だから今､ 自分が何をするのかがわかる｡
‫私がヒットして何かをヒットしたものは､ 私がヒットしたコライダを意味するヒットドットコライダに置き換えます｡
‫そしてそのコライダーから､ ゲームオブジェクトそのものや､ もしかしたらそのゲームオブジェクトの名前も知りたい｡
‫それで名前がわかる｡
‫では､ 私が打ったとしましょう｡
‫キューブ､ ならヒットキューブと表示されるはずです｡
‫もし､ 私たちの地下､ 私たちの飛行機にぶつかったら､ 飛行機と表示されるはずです｡
‫では､ それを確認してみましょう｡
‫マウスでどこかに行って､ その上を歩いてみましょう｡
‫ヒットキューブ､ ヒットプレーン｡
‫今見ていただいたように､ どのオブジェクトにぶつかったかまでわかります｡
‫そして､ その1つによって､ 例えば､ 現在マウスでどこにいるかがわかり､ 建物の位置がわかるので､
‫建物を建てることができるようになるのです｡
‫それは､ 「ファンワールドクローン編」でやることです｡
‫だから､ 自分でファームビルクローンを作りたい人は､ このビデオに戻ってきた方がいいかもしれません｡
‫わかりました｡
‫それでは､ 次回の動画では､ いよいよゲーム本体の紹介に入りますので､ お楽しみに｡