unity 从工具栏拖动生成物体
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; //*****************************************************脚本挂在需要拖动的Button或者Image即可*************************************************************** public class DragSpawn : MonoBehaviour, IPointerDownHandler { //正在拖拽的物体 private GameObject _objDragSpawning; //是否正在拖拽 private bool _isDragSpawning = false; public Image image; // Update is called once per frame void Update () { if (_isDragSpawning) { //刷新位置 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; LayerMask aa = 1 << 8; if (Physics.Raycast (ray,out hit ,100f,aa)) { _objDragSpawning.SetActive(true); _objDragSpawning.transform.position = hit.point; image.enabled = false; } else { image.enabled = true; _objDragSpawning.SetActive(false); image.transform.position = 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; } } }
下面附上Demo链接:
链接:https://pan.baidu.com/s/18VhVJqXJzrltIJz_he-JvQ
提取码:k5kg
复制这段内容后打开百度网盘手机App,操作更方便哦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南