unity3d用鼠标拖动物体的代码

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
这是一段拖动物体的代码,比较简洁明了,对了解unity3d脚本概念有些帮助!在此加上注释分享! 
var mouseOverColor = Color.blue;//声明变量为蓝色 
private var originalColor : Color;//声明变量存储本来颜色 
function Start () { 
    originalColor = renderer.sharedMaterial.color;//开始时得到物体本来着色 
} 
function OnMouseEnter () { 
    renderer.material.color = mouseOverColor;//当鼠标滑过时改变物体颜色为蓝色 
} 
  
function OnMouseExit () { 
    renderer.material.color = originalColor;//当鼠标滑出时恢复物体本来颜色 
} 
  
function OnMouseDown () { 
    var screenSpace = Camera.main.WorldToScreenPoint(transform.position);//三维物体坐标转屏幕坐标 
    //将鼠标屏幕坐标转为三维坐标,再算出物体位置与鼠标之间的距离 
    var offset = transform.position - Camera.main.ScreenToWorldPoint(Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z)); 
    print("down"); 
    while (Input.GetMouseButton(0)) 
    { 
        //print("button0"); 
        var curScreenSpace = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z); 
        var curPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offset; 
        transform.position = curPosition; 
        yield;//这个很重要,循环执行 
    } 
}

在这里分别处理了鼠标在物体上的四个事件,当在物体上按下时,开始拖动物体。里面需要转换鼠标、物体的坐标,来统一坐标,然后计算移动量
Unity鼠标控制3D物体的移动、旋转、缩放 一、鼠标控制3D物体移动 二、鼠标控制3D物体旋转 三、鼠标控制3D物体缩放 阅读详情

相关推荐

Unity实现鼠标拖动交换两个物体位置,拖动移动及拖动复制

至此,我们已经实现了在Unity中通过鼠标拖动交换两个物体位置、拖动移动物体以及拖动复制物体的功能。你可以根据需要将以上代码添加到适当的脚本组件中,将其附加到相应的物体上,以实现所需的功能。在Update函数中,如果物体正在被拖动,将物体的位置设置为鼠标的当前位置。在Unity3D中,我们经常需要实现一些与物体交互相关的功能,例如通过鼠标拖动交换两个物体的位置,或者拖动物体进行移动和复制。在这个版本的代码中,我们记录了物体鼠标之间的偏移量,在每帧更新物体的位置时应用该偏移量。,用于指定要复制物体

DiAngular的博客 912

Unity 点击生成物体,移动拖拽物体

using System.Collections; using System.Collections.Generic; using UnityEngine; namespace DigitalRubyShared { public class DemoScriptLagTest : MonoBehaviour { private Vector2 offset; public GameObject _picture; private voi.

迷你小猴子村庄 1918

unity3d右键旋转中键平移滚轮缩放

通过鼠标右键控制旋转,滚轮控制缩放,中键控制平移。基于此可以全方位的查看模型。

Unity 3D基本的移动操作

什么!!!这里居然有移动控制教学

2203_76113052的博客 4757

Unity面向新手,如何使物体移动,让物体自由的动起来。几种移动方案讲解

常见的几种控制物体移动的方法

qq_63486332的博客 7247

Unity之各种移动实用代码

1. 摄像机跟随人物移动(第一人称) 思路:摄像机与物体保持一定的高度差、方向、距离 初始值: mCamTrans = Camera.main.transform; Vector3 startPos = transform.position; startPos.y += mCamHeight; mCamTrans.position = startPos; mCamTrans.rotati...

itsxwz 1085

【UGUI】Unity教程:实现物品的拖拽功能

大家好,今天,我们将一起学习如何在Unity中实现物品的拖拽功能。这是一个非常实用的技能,无论你是在制作RPG游戏的背包系统,还是在制作策略游戏的建筑放置功能,都会用到这个技能。那么,让我们开始吧!

leoysq的博客 4400

unity3d鼠标拖动物体一段代码

这是一段拖动物体代码,比较简洁明了,对了解unity3d脚本概念有些帮助!在此加上注释分享! 02 var mouseOverColor = Color.blue;//声明变量为蓝色 03 private var originalColor : Color;//声明变量存储本来颜色 04 function Start () { 05 originalColor ...

118

unity中app实现拖拽_unity3D C#脚本实现鼠标拖动物体

using System.Collections;public class clickmove : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}//下面的函数是当鼠标触碰到碰撞体或者刚体时调用,我的碰撞体设置是mesh ...

weixin_32521765的博客 271
上一篇: Unity3d 动态加载fbx模型文件
下一篇: 关于Assets资源目录结构管理
nnsword
博客等级 码龄19年 186粉丝 372原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值