TRIALフタバゼミについてABOUTUnity事例ノートUNITYHOMEUnity事例ノートクリックした位置に力を加えて弾くクリックした位置に力を加えて弾く2021年09月05日オブジェクトのクリックした位置によって、飛んでいく方向を変えてみましょう。Rayによってクリック位置を特定し、そこに向かって力を加えます。クリックの場所しだいで、弾け飛ぶ方向は変わります。平面とSphereを作成します。Sphereをボールとして弾き飛ばします。Sphereの位置を変え、リジッドボディを付けます。物理マテリアルを作成しましょう。プロジェクトビューから、物理マテリアルを選択。Materialの数値を変更します。Materialを、Sphereに追加します。続いて、もう一つSphereを作成して、名前をTargetに変更。位置とサイズを変更し、判別しやすいように赤色をつけます。ゲームビューではこのように配置されています。弾き飛ばすオブジェクト次に、ボールを弾くためのオブジェクトを作成します。Cubeを作成し、位置とサイズを変更。リジッドボディを追加し、質量を10に。Raycastに変更します。Raycastにしましょう。Cubeを透明にします。マテリアルを作成して、名前をToumeiに変更。ModeをFadeに変更し、Aの値を0にします。ToumeiマテリアルをCubeに追加します。ゲームビューではこのように見えています。弾き飛ばすスクリプト力を加えるために、Cubeを弾き出すスクリプトを作成します。BaseShot.csを作成し、Cubeに追加しましょう。power;}}ターゲットのフィールドに、Targetオブジェクトを入れます。クリックで標的を動かすスクリプトCubeを発射するための狙いとして、Targetを動かすスクリプトを作成します。PutTarget.csを作成し、Targetに追加します。hit.point.z);cube.GetComponent<BaseShot>().KickStart();}}}}Targetを選択し、キューブのフィールドの中に、Cubeオブジェクトを入れます。ゲームプレイしてみましょう。クリックでTargetが置かれ、そこに向かってCubeが弾き飛ばします。最後に、Targetを透明にしましょう。一度プレイしてみましょう。クリックした場所によって、飛んでいく方向が変わりました。Raycastによる標的と、そこに向けた力の加え方によって、ボールの飛んでいく方向が決まります。サッカーのPK合戦のようなゲームで使えそうな仕組みですね。けのプログラミング教室です。関西一円から生徒を募集しています。