当前位置:三九宝宝网 → 宝宝百科 → 宝宝知识 → 正文

我想写个unity3D C脚本用鼠标拖动物体该怎么办呀

更新:01-09 整理:39baobao.com
字体:

[怎么用photoshop改变物体的颜色]1.ps用工具抠出需要改变颜色区域的选区。 2.点击图层面板右下的新建图层,得到新建图层1. 3.将拾色器的前景色设置为需要的颜色。 4.选区在图层1填充上前景色。 5.点击图...+阅读

这是目前我看到的最精简的,仅一个事件完成拖拽./* * 用到了unity3d非常好的协同机制实现这一点,OnMouseDown事件表示鼠标已作了射线判断得到了对象。 * 拖拽时保持z轴不变,因为屏幕是xy二维的,空间是三维的。 * */ IEnumerator OnMouseDown () { var camera = Camera.mainCamera; if (camera) { //转换对象到当前屏幕位置 Vector3 screenPosition = camera.WorldToScreenPoint (transform.position); //鼠标屏幕坐标 Vector3 mScreenPosition=new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPosition.z); //获得鼠标和对象之间的偏移量,拖拽时相机应该保持不动 Vector3 offset = transform.position - camera.ScreenToWorldPoint( mScreenPosition); print ("drag starting:"+transform.name); //若鼠标左键一直按着则循环继续 while (Input.GetMouseButton (0)) { //鼠标屏幕上新位置 mScreenPosition = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPosition.z); // 对象新坐标 transform.position=offset + camera.ScreenToWorldPoint (mScreenPosition);//协同,等待下一帧继续 yield return new WaitForFixedUpdate (); } print ("drag compeleted"); } }---------------------------分割线 下面是unity自带的,在Scripts资源包里有拖拽代码,这个拖拽物体必须附加Rigidbody刚体组件。

DragRigidbody.js var spring = 50.0; var damper = 5.0; var drag = 10.0; var angularDrag = 5.0; var distance = 0.2; var attachToCenterOfMass = false; private var springJoint : SpringJoint; function Update () { // Make sure the user pressed the mouse down if (!Input.GetMouseButtonDown (0)) return; var mainCamera = FindCamera(); // We need to actually hit an object var hit : RaycastHit; if (!Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), hit, 100)) return; // We need to hit a rigidbody that is not kinematic if (!hit.rigidbody || hit.rigidbody.isKinematic) return; if (!springJoint) { var go = new GameObject("Rigidbody dragger"); var body : Rigidbody = go.AddComponent ("Rigidbody") as Rigidbody; springJoint = go.AddComponent ("SpringJoint"); body.isKinematic = true; } springJoint.transform.position = hit.point; if (attachToCenterOfMass) { var anchor = transform.TransformDirection(hit.rigidbody.centerOfMass) + hit.rigidbody.transform.position; anchor = springJoint.transform.InverseTransformPoint(anchor); springJoint.anchor = anchor; } else { springJoint.anchor = Vector3.zero; } springJoint.spring = spring; springJoint.damper = damper; springJoint.maxDistance = distance; springJoint.connectedBody = hit.rigidbody; StartCoroutine ("DragObject", hit.distance); } function DragObject (distance : float) { var oldDrag = springJoint.connectedBody.drag; var oldAngularDrag = springJoint.connectedBody.angularDrag; springJoint.connectedBody.drag = drag; springJoint.connectedBody.angularDrag = angularDrag; var mainCamera = FindCamera(); while (Input.GetMouseButton (0)) { var ray = mainCamera.ScreenPointToRay (Input.mousePosition); springJoint.transform.position = ray.GetPoint(distance); yield; } if (springJoint.connectedBody) { springJoint.connectedBody.drag = oldDrag; springJoint.connectedBody.angularDrag = oldAngularDrag; springJoint.connectedBody = null; } } function FindCamera () { if (camera) return camera; else return Camera.main; }

本文地址:https://www.39baobao.com/show/39_154524.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

比较10以内物体多少区分10以内数字大小中班数学活动——比较10以内数的多少 活动目标: 1、复习巩固10以内的数和数字认读。 2、比较10以内数量的多少。 3、发展幼儿动作的灵活性。活动准备:教具:10以内数量的数群卡...

比较两组物体多少幼儿教案小班数学:比较两组物体多、少 比较两组物体的多、少 (计算活动)活动目标: 1、学习运用并置对应的方法比较两组物体的多、少,具体感知物体的多少。 2、学习将一组物体并置对应摆放...

数学比较两组物体的多少教案《纲要》在科学领域指出,“能从生活和游戏中感受事物的数量关系并体验数学的重要和有趣。”“引导幼儿对周围环境中的数、量等现象产生兴趣,建构初步数概念,并学习用简单的数学...

中班数学教案按物体数量的多少排序设计意图:排序是将两个以上组成一组的物体排出序列,幼儿可根据大小、形状、颜色、数量、名称等排列物体,探索和发现各种不同规律的排序方法。中班的孩子在操作摆弄物品时,已逐渐...

小班关于物体滚动的科学教案课题名称:滚动的物体 3、 课题来源:日常生活中,物体的滚动现象是常见的,也是幼儿 乐于探索的。如:幼儿在玩皮球的时候,总喜欢把球放到滑梯上让它自由滚落,又或者用手推、用脚踢等,在...

幼儿智慧活动课程小班教案比较两组物体的多少设计背景 布置一个池塘,一块萝卜地。 活动目标 1、通过游戏,让幼儿学习比较两组物体的多少及一样多。 2、培养幼儿活泼开朗的性格。 重点难点 采用角色游戏,让幼儿掌握:小猫多还...

托班科学按物体的大小分类课后反思怎么写本节课所授内容为重办数学活动《物品分类一》,活动目标:1、尝试按大小、颜色、用途等两种不同特征对物品进行分类。2、锻炼幼儿的语言表达能力、观察能力及动手操作能力。 “...

比较两组物体相等与不等的教学应注意哪些问题我觉得教学设计更多的是一种处理问题的方法,而教案则是指导教学的一个更具体的事实.它俩的相同点事都是对教学的设计,都是对教学内容的一个组织安排过程,促进学生的学习.不同点...

小班数学比较两组物体的多少教案及评价幼儿园教案:比较两组物体的多少 教师:屈老师 活动目标: 1、学习运用并置对应的方法比较两组物体的多、少,具体感知物体的多少. 2、学习将一组物体并置对应摆放在另一组物体的下...