我的场景中有一个多维数据集,所以我想要的是将扳手工具的2d UI图像拖放到该多维数据集上,并且一旦将该图像放到3d多维数据集上,就必须在其中实例化扳手预制件。
这是一张显示我需要的图像
我正在使用以下代码在场景中拖动我的UI图像,但不知道如何将其拖放到3D Cube上并实例化扳手预制件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class wrench : MonoBehaviour {
public bool Dragging = false;
public bool collision = false;
Vector3 position;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void BeginDrag(){
position = gameObject.transform.position;
Dragging = true;
}
public void Drag(){
transform.position = Input.mousePosition;
}
public void Drop(){
if (!collision) {
gameObject.transform.position = position;
}
Dragging = false;
}
}
答案 0 :(得分:0)
通常在堆栈溢出时,您应该添加有关所做操作的一些信息并显示一些代码,以便我们可以帮助您找出方法中存在的问题。人们不会在不知道您的项目当前状态的情况下为您编写所有代码。
话虽如此,如果您还没有什么可显示的,只是想知道从哪里开始,这里有个主意:
您可以获取鼠标在世界上的位置,并从中发出光线。然后检查此射线是否击中并对准物体。像这样:
if (Input.GetMouseButtonUp(0))
{
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
Debug.Log(hit); // Find a way to figure out what object you hit
}
}