質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

1回答

3804閲覧

UnityでRayの衝突判定時に敵オブジェクトをプレイヤーの子にしたい

meso

総合スコア10

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

1クリップ

投稿2016/09/07 08:58

タイトルの通り、Unity5でRayの衝突判定時に敵オブジェクトをプレイヤーの子にしたいのですが方法がわかりません。下記は現状のスクリプト内容です。

void Ray()
{
//Rayの作成
Ray ray = new Ray(transform.position, transform.forward);

//Rayが衝突したColliderの情報を得る RaycastHit hit; //Rayが衝突したかどうか if (Input.GetKey(KeyCode.R)) { anime.Play("catchPrey"); if (Physics.Raycast(ray, out hit, 10.0f)) { GameObject[] gob; gob = GameObject.FindGameObjectsWithTag("Enemy"); //Rayの衝突地点にこのスクリプトがアタッチされているオブジェクトを移動させる this.transform.position = hit.point; //Rayの原点から衝突地点までの距離を得る float diskyori = hit.distance; //衝突したオブジェクトのColliderを非アクティブにする hit.collider.enabled = false; } } //Rayの可視化 Debug.DrawRay(ray.origin, ray.direction, Color.blue, 15.0f); }

Rayに敵オブジェクトが衝突すると敵オブジェクトがプレイヤーの足元に追従するようにしたいです。
なので敵オブジェクトをプレイヤーの足元の座標に移動させてプレイヤーの子にするという方法でやりたいです。
敵オブジェクトは複数いるので、配列でEnemyタグのついたオブジェクトを参照するようにしてます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

親子関係にして問題なければ、敵オブジェクトをSetParentでプレイヤーの子にしてしまえば良いと思います。
http://docs.unity3d.com/jp/current/ScriptReference/Transform.SetParent.html

衝突後の流れとして、
1、敵オブジェクとのコライダーをOFF
2、SetParentでプレイヤーの子へ
3、適切な位置に移動
でしょうか。

投稿2016/09/08 07:40

buibui80

総合スコア1033

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問