1
RayCast
でオブジェクトを配置できますが、オブジェクトを互いに内側に配置しています。 私はそれがのようにオブジェクトを検出した場合、のオブジェクトがある場合は、その上に新しいオブジェクトを配置する必要があります。または左に衝突する場合は、オブジェクトを右に置く必要があります。オブジェクトを別のオブジェクトの上部に配置するにはどうすればいいですか?
は、ここに私のコード
using UnityEngine;
using System.Collections;
public class targetPosition : MonoBehaviour {
public GameObject obj;
Vector3 newPosition;
void Start() {
newPosition = transform.position;
}
void Update()
{
if (Input.GetMouseButtonDown(0)) //It places cube on left click
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
newPosition = hit.point;
GameObject obj1 = Instantiate(obj,newPosition, Quaternion.identity) as GameObject;
obj1.SetActive (true);
}
}
if (Input.GetMouseButtonDown (1)) //deletes cube on right click
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Destroy(hit.collider.gameObject);
}
}
}
}
おかげです。
こんにちは。コライダーを調べる必要があります(https://docs.unity3d.com/ScriptReference/Collider.html)。トリガーとしても使うことができることを覚えておいてください。だからキューブの配置では、あなたは魔女のトリガーが使用されていることを確認する必要があります、キューブを上または右または何かを移動... –