Unity事例ノート

UNITY

取ったオブジェクトを前で持ち続ける

ターゲットのオブジェクトに触れると、プレーヤーの前方で保持できるしくみを作ってみましょう。

Cube(プレーヤー)を操作して、Sphere(アイテム)を取ります。

取ったSphereを、プレーヤーの前で持ち続けます。

その後も、アイテムを持ったまま、動かすことができます。

次回記事:
②ボールを置く 【Unity C#】オブジェクトを持ったり置いたりする
③ボールを飛ばす 【Unity C#】保持したボールをプレーヤーと同じ向きで発射

プレーヤーを作成

PlaneとCubeを作成します。

Cubeにリジッドボディを追加し、地上に出るように配置します。

わかりやすいように、マテリアルでカラーをつけます。

Sphereを作成し、名前をTargetに変更。

位置とサイズを変更して、Cubeの前に来るように配置します。

シーンビューではこのように見えています。

Targetをドラッグ&ドロップでCubeの中に入れて、親子関係をつくります。

Targetを透明にしましょう。

Toumeiという名前でマテリアルを作成し、レンダリングモードをFadeに変更。

Aの値を0にします。

Toumeiを、Targetに追加して、透明に変えます。

プレーヤーを動かせるように、スクリプトをつくりましょう。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

プレーヤーの前でアイテムを保持

次に、アイテムとしてSphereオブジェクトを作成します。

Sphereを作成し、マテリアルカラーをつけて、位置を変更します。

このように配置されています。

TouchObject.csを作成し、Sphereに追加します。

ゲームオブジェクトのフィールドに、Cubeを入れます。

ターゲットのフィールドに、Targetを入れます。

ゲームプレイして、Sphereを取りにいきましょう。

Sphereが、Targetと同じ座標に移動してから、Cubeの子オブジェクトになります。

一度Sphereに触れると、その後の動きでも、前方で保持しながらくっついて動きます。

次回は、保持したオブジェクトを置く仕組みを作ります。

次回記事:
②ボールを置く 【Unity C#】オブジェクトを持ったり置いたりする
③ボールを飛ばす 【Unity C#】保持したボールをプレーヤーと同じ向きで発射