鼠标拾取代码总结

原创 2013年12月05日 18:56:29
关于鼠标拾取代码,点击物体可显示所点击物体名称
***************************************************************************
将下面的javascript代码挂在任何一个对象上面均可以实现,当鼠标点击时打印鼠标所点击的对象的名称
function Update ()   
{  
    if (Input.GetMouseButton (0))   
    {  
        var ray = Camera.main.ScreenPointToRay (Input.mousePosition);  
        var hit : RaycastHit;  
        if (Physics.Raycast (ray, hit))   
        {  
            Debug.DrawLine (ray.origin, hit.point);  
            print(hit.collider.gameObject.name);  
        }  
    }  
} 
************************************************************************
c#代码会有些不同
转换成c#代码如下
首先定义 public  RaycastHit hit;
if (Input.GetMouseButton (0))   
    {  
       Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);  
        
****************************************************************
Assets/scripts/SelectTarget.cs(26,21): error CS1502: The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, out UnityEngine.RaycastHit)' has some invalid arguments
Assets/scripts/SelectTarget.cs(26,21): error CS1620: Argument `#2' is missing `out' modifier
****************************************************************
        if (Physics.Raycast (ray, out hit))   //注意这个地方与javascript不同,需要加OUT不然会报错,错误如******之间的提示
        {  
            Debug.DrawLine (ray.origin, hit.point);  
        } 
        
         if(hit.collider.gameObject.name=="所要点击的物体名称") 
         {
          Debug.Log("选中了"+hit.collider.gameObject.name);
          // *************执行什么操作代码放这即可
*************************比如让选中的物体颜色变为红色
   GameObject  b = Gameobject.Find(hit.collider.gameObject.name);
          b.renderer.material.color = Color.red; //比如将颜色变为红色
         }
    }  
		
		


                    

Unity3D 入门小技巧——鼠标拾取并移动物体

一、鼠标拾取物体的原理 在Unity3D当中,想要在观察面(Aspect)中拾取物体(有碰撞属性)的方法一般如下: 1、声明一个观察的摄像机、一个从摄像机原点出发的射线Ray以及一个用于检...
  • SYSUJackJiao
  • SYSUJackJiao
  • 2017年04月06日 16:23
  • 2994

UE4的射线拾取

Ray-Trace作用于射线拾取。射线拾取主要相关 1.拾取函数是UWorld的多个方法。比如LineTraceSingle是单一拾取,拾取到一个之后就不继续穿透了,而LineTraceMulti会...
  • zzk1995
  • zzk1995
  • 2015年10月10日 00:23
  • 6216

OpenGL选择与拾取GL_SELECT 附源码

讲述在OpenGL下,如何选择和拾取(selecting and picking)三维物体,这里使用3D模型中的obj格式的模型。...
  • Mahabharata_
  • Mahabharata_
  • 2016年12月13日 13:19
  • 2229

UE(虚幻)4 蓝图可视化编程进阶篇 03 鼠标拾取案例(接口)

拾取的基本原理
  • qq_36848370
  • qq_36848370
  • 2017年07月03日 21:10
  • 561

OpenGL—射线拾取(ray pick)

简介: OpenGL中鼠标射线拾取,就是通过鼠标点击屏幕
  • wind_hzx
  • wind_hzx
  • 2014年10月12日 13:18
  • 2892

实现一个简单的Unity3D三维拾取——3D Picking (1)

3D Picking 原理就是从相机位置向空间中发射一条射线,根据射线击中的物体来进行拾取。   这里我们使用触摸屏触摸来进行拾取,鼠标的拾取原理一样,只不过选用的API不同。...
  • linian71
  • linian71
  • 2014年05月20日 21:21
  • 2275

游戏中鼠标拾取方法

在游戏中,鼠标拾取是不可或缺的。 在D3D sample 中有一种方法,对鼠标点进行MVP 的逆变换,得到它的空间位置,然后使用 函数 D3DIntersect ,  和物体的位置进行比较,进而判...
  • himilong
  • himilong
  • 2016年06月25日 08:55
  • 1228

Unity中鼠标拾取的检测代码

[csharp] view plain copy  print? ///    /// 当前视角的摄像机   ///    public Camera _camPla...
  • qq_35135955
  • qq_35135955
  • 2016年06月28日 22:12
  • 137

osg中拾取对象和拾取点

使用osgUtil::PolytopeIntersector来拾取对象,使用这个类可与方便与点、直线等对象进行碰撞求交计算 int COSGViewInternal:PickObject(int x,...
  • wang15061955806
  • wang15061955806
  • 2016年06月07日 16:10
  • 1349

VTK三维坐标点拾取

参考资料 [1]VTK拾取三维空间细胞(vtkcell)坐标参数
  • Q1302182594
  • Q1302182594
  • 2015年05月02日 21:12
  • 3733
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:鼠标拾取代码总结
举报原因:
原因补充:

(最多只允许输入30个字)