ここから本文です

Unityでゲームを作っています。 クリックするとそのオブジェクトが消える処理を作...

アバター

ID非公開さん

2017/10/1712:18:16

Unityでゲームを作っています。
クリックするとそのオブジェクトが消える処理を作りましたが、クリックするとその付近にあるものまで消えてしまいます。
付近のものまで消えないようにしたいです。

アドバイスください。よろしくお願いいたします。


Prefabをクローンとして複製しています。
/*GameManeger.cs*/
Instantiate (Prefab, Prefab01.transform.position, Quaternion.identity);

/*Prefab.cs
if (Input.GetMouseButtonDown (0) ) {
Ray ray = Camera .main .ScreenPointToRay( Input .mousePosition );
if ( Physics2D .Raycast(ray.origin, ray.direction)) {
Destroy (this);
}
}

閲覧数:
30
回答数:
2

違反報告

ベストアンサーに選ばれた回答

cos********さん

2017/10/1817:51:27

詳しくありませんが方法としては、プレファブではないところからRayを出すスクリプトを書いてそこから最初にあたったプレファブを見つけて消す、というのはどうでしょう。

ベストアンサー以外の回答

1〜1件/1件中

dea********さん

2017/10/1713:38:39

今のコードだと
「RayがいずれかのCollider(自分以外でも)に衝突したら自分が消える」
というコードになります。

https://docs.unity3d.com/jp/540/ScriptReference/Collider.Raycast.ht...
こちらを参考に
「Rayが自分のColliderに衝突したら消える」
と書き換えてください。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる