user-interface - 如何将 2D UI 图像拖放到 3D 游戏对象上,然后在我们放置 2D UI 图像的位置实例化 3D 游戏对象?
问题描述
我的场景中有一个立方体,所以我想要将扳手工具的 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;
}
}
解决方案
通常在堆栈溢出时,您应该添加一些有关您所做操作的信息并显示一些代码,以便我们可以帮助找出您的方法中的问题。人们不会在不知道您的项目当前是什么样子的情况下为您编写所有代码。
话虽如此,如果您还没有任何东西要展示,只是想知道从哪里开始,这里有一个想法:
您可以获取鼠标在世界中的位置,并从中射出一条射线。然后检查此射线是否击中物体。像这样:
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
}
}
推荐阅读
- python-3.x - 安装flask_mysqldb后,python shell显示同样的错误
- clickhouse - 使用 clickhouse-local 打开离线 Clickhouse 数据库
- php - 被调用函数元素上的 SoapClient 属性
- c# - 时间:2019-05-10 标签:c#singletonclassworkingwellconfirmation
- python - 如何在 django 中创建另一个用户(学生和教师)表
- node.js - MongoDb $inc 自动增加两倍
- python - Pickle - 无法将附加的字典正确存储到列表中
- php - 在 codeigniter 中的 form_validation > set_rules > valid_email 中出现错误
- python - 图卷积网络上的词项加权
- rust - 无法将 RefCell 中的 TlsStream 借用为可变的