teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コードの追記

2019/07/03 12:58

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -20,6 +20,37 @@
20
20
  RigidBodyとColliderを同じオブジェクトにアタッチしたいのですが、自分の力ではどうしてもすることが出来ませんでした。
21
21
  何か解決策を教えていただけるとありがたいです。
22
22
 
23
+ プレイヤーをテレポートさせる際に、プレイヤーの侵入を検知し、座標を変えるスクリプト
24
+
25
+ このスクリプトは、Is Triggerをオンにした球形のコライダーを作り、そこにアタッチしたものです。
26
+ また、テレポート先にTptoという名のオブジェクトがあり、プレイヤーの侵入を検知した際に、そのオブジェクトにプレイヤーの座標を設定するという仕組みになっています。
27
+ ```C#
28
+ using System.Collections;
29
+ using System.Collections.Generic;
30
+ using UnityEngine;
31
+
32
+ public class into1 : MonoBehaviour {
33
+ public GameObject Player;
34
+ public GameObject Tpto;
35
+ // Start is called before the first frame update
36
+ void Start () {
37
+
38
+ }
39
+
40
+ // Update is called once per frame
41
+ void Update () {
42
+
43
+ }
44
+ void OnTriggerEnter (Collider col1) {
45
+ if (col1.CompareTag ("Player")) {
46
+ Player.transform.position = Tpto.transform.position;
47
+ Debug.Log ("true");
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+
23
54
  ### 試したこと
24
55
  ・Playerの中のBodyなどの一部のオブジェクトにRigidbodyとスクリプトを移動させたがそもそも移動できなくなった。
25
56
  ・MeshColliderを一つにまとめて、Playerに付けちゃおうと思ったが、そもそも一つにまとめてしまうと、オブジェクトごとに当たり判定を消すことができなくなってしまうので断念。

1

追記

2019/07/03 12:58

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -15,6 +15,7 @@
15
15
 
16
16
  また、Playerオブジェクト自体に別に適当なBoxColliderをアタッチしたところ、正常に動き、テレポートしました。
17
17
  結論としては、RigidBodyとColliderが別々のオブジェクトにアタッチされていたのが原因でした。
18
+ ※PlayerにRigidBodyが付いていて、Prim.00000000にMeshColliderが付いていてしまっているということです。
18
19
 
19
20
  RigidBodyとColliderを同じオブジェクトにアタッチしたいのですが、自分の力ではどうしてもすることが出来ませんでした。
20
21
  何か解決策を教えていただけるとありがたいです。