1.新建场景,建立工具栏。
2.在Resources文件夹下建立预制件person。
3.建立脚本DragSpawn.cs,挂载到要拖拽的按钮上。
拖拽三维实体见:https://blog.csdn.net/zouxin_88/article/details/89237172
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class DragSpawn : MonoBehaviour, IPointerDownHandler
{
//正在拖拽的物体
private GameObject _objDragSpawning;
//是否正在拖拽
private bool _isDragSpawning = false;
// Update is called once per frame
void Update () {
if (_isDragSpawning)
{
//刷新位置
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
_objDragSpawning.transform.position = ray.GetPoint(10);
//结束拖拽
if (Input.GetMouseButtonUp(0))
{
_isDragSpawning = false;
_objDragSpawning = null;
}
}
}
//按下鼠标时开始生成实体
public void OnPointerDown(PointerEventData eventData)
{
GameObject prefab = Resources.Load<GameObject>("person");
if(prefab != null)
{
_objDragSpawning = Instantiate(prefab);
_isDragSpawning = true;
}
}
}