你現在的問題是要把螢幕2D的滑鼠座標( x , y , 0 )
轉換成滑鼠在那一點時的空間座標先把你的人物的Transform放入 character
var character : Transform;
創建一個相機
var mainCamera : Camera;  然後做一個平面
var playerMovementPlane : Plane;  function Awake () {
然後把mainCamera設為主相機
mainCamera = Camera.main; 然後把NEW出這個平面並且把這個平面放到角色上
playerMovementPlane = new Plane (character.up, character.position);
}
function Update () {
宣告螢幕2D的滑鼠質點
var cursorScreenPosition : Vector3 = Input.mousePosition;
宣告空間中的滑鼠質點  這裡要進行一些轉換就可以得到了  mainCamera是你的主相機
var cursorWorldPosition : Vector3 = ScreenPointToWorldPointOnPlane (cursorScreenPosition, playerMovementPlane, mainCamera);
}public static function ScreenPointToWorldPointOnPlane (screenPoint : Vector3, plane : Plane, camera : Camera) : Vector3 {  //將滑鼠的螢幕位置轉換成空間中的射線 ray=射線 var ray : Ray = camera.ScreenPointToRay (screenPoint);  //找出射線與平面相交 return PlaneRayIntersection (plane, ray);
}
public static function PlaneRayIntersection (plane : Plane, ray : Ray) : Vector3 {  var dist : float;  //光线投射 一条射线和平面相交。 plane.Raycast (ray, dist);  //获取点 返回沿着射线在distance距离单位的点。 return ray.GetPoint (dist);
}  
 //转换对象到当前屏幕位置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);

Unity 鼠标拾取相关推荐

  1. Three.js - 鼠标拾取(射线追踪法)(十九)

    射线追踪法 射线追踪法是最常见的方法,因为three.js提供了Raycaster对象来实现它. 原理:从鼠标处发射一条射线,穿透场景的视椎体,通过计算,找出与射线相交的对象. Raycaster 属 ...

  2. DirectX11进阶5_硬件实例化与视锥体裁剪及鼠标拾取交互

    一.硬件实例化(Hardware Instancing) 硬件实例化指的是在场景中绘制同一个物体多次,但是是以不同的位置.旋转.缩放.材质以及纹理来绘制(比如一棵树可能会被多次使用以构建出一片森林). ...

  3. unity 鼠标放置 ui_ui层次结构以及不常见但至关重要的任务放置在哪里

    unity 鼠标放置 ui Modern technology is complex. It's not always complicated though, thanks to our consta ...

  4. Unity鼠标图标更换/点击图标更换

    Unity鼠标图标更换/点击图标更换 效果展示: 代码: using System.Collections; using System.Collections.Generic; using Unity ...

  5. 鼠标拾取(光线拾取)

    作者:桑榆 QQ:934440653 有问题,评论留言,或qq联系 案例效果 鼠标拾取 主要代码 1.创建矩形 (1)6-8行限制随机产生的矩形的长.宽.纵深不超过20: (2)14-16行限制随机产 ...

  6. unity鼠标滑动检测

    Unity鼠标滑动检测 private Vector2 first = Vector2.zero; private Vector2 second = Vector2.zero; void Update ...

  7. Unity鼠标控制摄像机 围绕物体旋转

    Unity鼠标控制摄像机 围绕物体旋转 角度范围判定 // An highlighted block using UnityEngine;public class CameraCtrl : MonoB ...

  8. OpenGL3.3鼠标拾取物体

    OpenGL3.3鼠标拾取物体 本文翻译自:http://www.lighthouse3d.com/tutorials/opengl-selection-tutorial/ 在3D场景中拾取或选择特定 ...

  9. 【Unity鼠标从屏幕空间(坐标)转换为世界空间(坐标)】

    Unity鼠标从屏幕空间(坐标)转换为世界空间(坐标) Vector3 screenPos = Camera.main.WorldToScreenPoint(transform.position); ...

最新文章

  1. linux中时间戳与date的互转
  2. 在QT的LineEdit框中输入特定字符(正则表达式的使用)
  3. 045_Collapse折叠面板
  4. Spring Boot开发MongoDB应用实践
  5. 【MATLAB统计分析与应用100例】案例014:matlab读取Excel数据,调用stepwise函数作交互式逐步回归分析
  6. 河流为什么是弯曲的?
  7. UBOOT问题收集(1)--balignl 16, 0xdeadbeef
  8. 更新Windows ActiveX,Ios
  9. js版palppy brid代码_从 JS 引擎到 JS 运行时(上)
  10. LeetCode Binary Tree Right Side View (DFS/BFS)
  11. python计算一定期间的涨幅_python数据分析与挖掘(十一)--- ndarray运算
  12. 力扣-830 较大分组的位置
  13. 【Java必备技能三】自定义注解
  14. 笔记本装那一版本Linux好,在我的新笔记本电脑上安装五种Linux版本
  15. android获取系统签名,Android apk签名详解——AS签名、获取签名信息、系统签名、命令行签名...
  16. list object has no attribute ZScan_【恋爱体验】No.112丨大二男生,河南南阳,身高178,喜欢篮球、羽毛球、兵乓球、足球.........
  17. 翻译:SQL Server 2005中的覆盖索引
  18. 斗战神单机版正在连接服务器,斗战神登录卡在这里,又不提示登录失败或者连接超时什......
  19. lopa分析_SIS知识贴:一文看懂保护层分析暨LOPA分析
  20. 使用u盘安装Fedora14

热门文章

  1. excel文件输入姓名,得到班别
  2. 打印服务器配置与设计文档,配置与管理打印服务器.ppt
  3. 树形结构的json格式封装
  4. 2021年N2观光车和观光列车司机考试技巧及N2观光车和观光列车司机考试试题
  5. 有向图寻找环路python_有向图的深度优先搜索 —— 找出环路
  6. 基于骁龙820A系统的自动驾驶发展趋势
  7. 红米2打冲锋,小米5拼刺刀,与魅族荣耀肉搏到底
  8. IDEA新建项目系列(8)——IDEA创建SSH项目
  9. OSI的七层模型,网线,网卡,集线器,交换机,路由器分别工作在七层模型中的哪一层?
  10. FeedingFrenzy大鱼吃小鱼