关于unity绘制射线的问题

using UnityEngine;
using System.Collections;

public class Rotation: MonoBehaviour {
public GameObject gameobject;

void FixedUpdate(){
    Debug.Log (transform.position);
    Debug.Log (gameobject.transform.position);
    Debug.DrawRay (transform.position, gameobject.transform.position);
}

}

为什么挂到摄像机上没有效果 要么不能指向物体
或者指向物体 但是开始游戏后在场景视图移动相机会导致射线移位 不再连接相机与物体
挂到物体上可以绘制射线到摄像机 并且随便移动

离得远的时候 胡乱指 根本就不是这两个点上的射线

1个回答

//创建一条指定方向的射线
Ray ray = new Ray(this.transform.position, this.transform.forward * 30);
//判断射线碰撞
Debug.DrawRay(this.transform.position, this.transform.forward * 30,Color.red);

        //定义一个保存对象信息的指针
        RaycastHit hit;
        //范围内是否有碰撞
        bool isHit = Physics.Raycast(ray, out hit, 30);
        if(isHit)
        {
            //碰撞对象的那个点
            print(hit.point);

            //碰到的对象
            GameObject obj = hit.collider.gameObject;
            print("碰到了:" + obj.name);
        }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
2018-10-31Debug绘制射线,Unity显示射线Ray
Debug.DrawRay(Vector3,Vector3,Color);//绘制射线 第一个Vector3是起点位置; 第二个是目标点减去起点得到的方向; Color是射线的颜色。   只能在scence场景看到, 运行后看不到。 如果想在运行后看到,可以试用LineRenderer组件绘制。...
Unity日常——关于射线
unity关于射线 ray 表示射线。 射线是一条从原点(origin)向指定方向(direction)无限延长的直线 先来看一下从摄像机发出一条射线的例子 void Update() { //按下滑鼠左键 if (Input.GetMouseButton(0)) { Ray ray = Ca
unity 绘制射线——使用LineRenderer组件
LineRenderer组件基本属性: 一、LineRender是一个以顶点去控制渲染尺寸和位置的条带,顶点个数和具体坐标我们自己可以完全操控。 1.Materials:材质,控制线条整体的颜色 2.Width:控制线宽 。 3.positions:size:长度 4.Use World Space:是否使用世界坐标系,还是使用相对坐标系 5.Color:线条的颜色,这里需要注意,如...
unity射线
1.摄像机位置投放射线,鼠标点到哪移动到哪 using UnityEngine; using System.Collections; public class RayTest : MonoBehaviour { private Ray ray; private RaycastHit hit;//射线碰到的碰撞信息 private NavMeshAgent agent; ...
unity之射线
bool hit = Physics.Raycast(m_muzzlepoint.position, m_camTransform.TransformDirection(Vector3.forward), out info,100,9 ); //发射点,方向,out ,长度,层 RaycastHit info; //从muzzlepoint的位置,向摄像机正面的正
Unity 射线
void Update () {         if (Input.GetMouseButtonUp (0)) {                     ray = Camera.main.ScreenPointToRay(Input.mousePosition);             //这个是射线的起始位置,是世界坐标系的,             Vector3 temp =
Unity 2D射线与 3D射线 UI射线
//3D射线 if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//从摄像机发出到点击坐标的射线 RaycastHit hitInfo; if (Physics.Raycast(r
unity 射线检测总结
后面继续研究,关于layer分层检测的问题,有点头疼,有时间要继续刚 1.射线普通检测,如果 Ray 跟系统命名冲突,只需要在前面加上 UnityEngine. 就行了 UnityEngine.Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if...
unity 射线穿透
首先层级的选择,从而让射线只能选择这个层,然后就是切记else 的写法,需要在射线判处外协
Unity制作红色射线
1.在发射射线的位置创建一个空物体用于存储发射点的位置信息2、制作射线,为发射射线物体添加LineRenderer组件  制作Material材质并把其类型改为Particles/Addictive模式并为其加颜色把纹理放到LineRenderer的Material中,修改LineRenderer 的Width属性改成细线。3、写脚本发射射线public Transform rayPos;publ...
Unity中射线描述
UI的坐标与屏幕的坐标相同,且射线是在摄像机的区域内的,因此射线无法射向UI 要显示射线需添加LineRenderer组件,如添加前物体在UI层上,添加后则会自动到 摄像机的屏幕坐标。   射线的创建和显示 Ray射线类和RaycastHit射线投射碰撞信息类是两个最常用的射线工具类。 创建一条射线Ray需要指明射线的起点(origin)和射线的方向(direction)。这两个参数也...
Unity 物理系统--射线
有关射线(Ray)的几个结构体(类): Physics (物理类):RayCast()用来发射一条射线; Ray(Struct):表示射线本身的对象 RaycastHit(struct):射线和其他碰撞器的碰撞信息 绘制射线函数 1、Debug.DrawLine(transform.position,Vector3.forward * 10,Color.blue,10f); 2、...
unity 射线检测(简易版)
void Update () {         if (Input.GetMouseButton(0))         {             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//从摄像机上鼠标的位置取得一条射线             RaycastHit hitInfo;             ...
Unity 中的射线(Ray)
一、射线分类:线段,球形二、用途:拾取包裹,寻找附近的怪兽,检测碰撞三、如何发射两种射线:1.发射线段//射线只能返回第一碰撞物体信息Ray ray = Camera.main.ScreenToRay(Input.mousePosition);RaycastHit info;if(Physics.Raycast(ray,info,Mathf.Infinity,1<<LayerMask....
unity屏幕射线
Physics类的Raycast可以发射射线,具体可以参考官方文档以下是一个简单的屏幕2D射线Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); RaycastHit2D hit = Phys...
Unity 十四 射线一
Unity 提供了射线功能。 射线最简单的代码,设置两个物体,一个物体发出射线,另外一个物体接受射线。 其中重要的方法Physics.Raycast,这个参数种类有很多。 先用三个参数的。 第一个参数代表:新建的射线,第二个参数代表:射线的碰撞体(注这个参数要带 out)。第三个参数代表射线的距离。 using System.Collections; using System.Collectio...
Unity 射线检测 UGUI
工程示例图: 1.鼠标通过射线检测 UI ,记得 EventSystem和 GraphicRaycaster赋值,变量已经 Public直接拖拽上去即可 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; u...
Unity 射线反射
using UnityEngine; /// <summary> /// descript:射线反射 /// author: wushengnuo /// </summary> public class RayReflect : MonoBehaviour { public Transform p1; public Transform p2; p...
unity 射线的基础使用方法
如果想要实现:用鼠标来移动物体那么就需要使用射线。以下是关键代码: public class PlayerController:MonoBehaviour{ public float speed;//定义移动速度,将代码覆盖给要移动的物体 private Vector3 target;//目标位置 private bool isOver=true;//判断是否结束移动 void St
unity 射线拾取物体
using UnityEngine; using System.Collections; public class RayTest : MonoBehaviour { // Use this for initialization void Start () { } // Update is called o
Unity之射线检测
射线检测在我们平时玩的游戏中并不少见,第一人称设计游戏就是一个案例。我们鼠标或者准星都是用来瞄准敌人的,还有在游戏过程中,我们拾取金币,药水等装备也可以使用射线 那么我们通过下面的例子来简单的说一下射线。 我们首先来一同学习一下如何制作射线。我们简单的分为三步 /// <summary> /// 基础的射线检测 /// </summary> void Task01(
Unity射线,摄像机和物体发射射线
以下是从物体发射摄像的方法: void Update () {        //ray = Camera.main.ScreenPointToRay(fatherPoint.transform.position);         Vector3 down = transform.TransformDirection(Vector3.back);         RaycastHit
Unity 射线检测碰撞
这次用案例讲解射线碰撞。我们要模仿,一个小物体快速碰撞一个大物体时的碰撞效果。新建一个3D工程,场景中新建一个cube位置是(0,0,500),给cube添加tag为cube。再新建一个Sphere,位置是(0,0,0);给Sphere添加刚体组件,取消重力。再添加脚本,名为SphereSpeed,并编辑:using UnityEngine; using System.Collections;pub
Unity射线检测(脚本)
知识点:  1.虚拟轴 2.射线创建与检测 3.根据鼠标屏幕坐标返回射线,射线的起点在摄像机视口,射线方向摄像机朝向鼠标方向    题目:  创建6个cube;鼠标选中cube,就让该cube旋转一个随机的角度,并朝正前方移动; cube被二次点击,就被移除; public class ScreenRay : MonoBehaviour { List&amp;lt;Transform...
在Unity中使用射线
在学习GL教程的过程中正好讲到了射线,于是先看看U3D中的射线用法。 比如从一个Cube 向另一个Cube发射一条射线。 using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization voi
Unity之射线穿透
小白欢迎评论,共同探讨,共同进步      一般的射线射中物体后就被阻挡了,假如碰到物体后,就会被拦截。如果我们想实现穿透某些物体,或者使射线不穿透UI的话。这时候就需要穿透的知识了。 下面写一个简单的射线。   public Transform RayStartPoint; private Ray ray; // Use this for initialization  void
Unity:射线点击
通过鼠标光标射出的射线,检测是否触碰到物体。 if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if(Physics.Raycas...
关于Unity射线忽略层级的坑
unity中的射线检测方法Physics.Raycast 有时侯我们想在射线检测的时候忽略掉某些物体的碰撞,从而达到检测物体背后的物体的碰撞,这是个时候我们使用layerMask layerMask参数使用按位与&amp;lt;&amp;lt;设置的一些总结: 1 &amp;lt;&amp;lt; 10 打开第10的层。 ~(1 &amp;lt;&amp;lt; 10) 打开除了第10之外的层。 ~(1 &amp;lt;&amp;lt; 0) 打开...
Unity 发布WebGL 关于射线检测
今天做WebGL,其中涉及到射线检测RaycastHit hit;if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit))在Unity上运行没有问题,但是发布网页版之后就运行不了,后来输出Physics.Raycast(Camera.main.ScreenPointToRay(Input.mou...
一则 Unity 试题:绘制正四面体并使用射线检测
前言:我假定我的读者对 C# 和 Unity 引擎有初步的了解,并且还保有关于高中数学的记忆,不会为几何形体相关的计算感到疑惑。涉及到的术语和复杂概念会被尽可能向着简单易懂的方向解释。 最近疯狂摸鱼,看到了一则 Unity 程序的测试题。题目长这样: 在摄像机视线范围内,以代码的方式生成四个大小随机,位置随机,角度随机,颜色随机的正四面体(注意不是立方体)。 以鼠标指针为起点对世界空间...
unity:unity 开发基础代码(三)射线检测
方法原型和参数说明: public static bool Raycast(Vector3 origin(起点), Vector3 direction(终点), out RaycastHit hitInfo(返回的信息), float maxDistance(距离),int layerMask(层级),QueryTriggerInteraction queryTriggerInteraction...
ray射线折射绘制路径
转载自注明:&nbsp;http://www.ceeger.com/forum/read.php?tid=10760&amp;fid=2&amp;page=1#123692&nbsp; 任何用过Ray这个类的人都知道,射线不提供折射功能,而折射在某些场合是非常重要的。所以这篇教程将尝试提供一个方案,来解释如何使一束射线碰到一个表面时折射。除此之外,还可以设置射线折射的次数。 using Syste...
unity射线检测的小例子
相关API: 1.Ray Camera.main.ScreenPointToRay(Vector3 pos)   返回一条射线Ray从摄像机到屏幕的一个点 2.Ray Camera.main.ViewportPointToRay(Vector3 pos)   返回一条射线Ray从摄像机到视野上指定的一个点 3.Ray 射线类 4.RaycastHit  光线投射碰撞信息 点击查看
unity中射线碰撞检测总结
这阵子通过看视频,看书对unity中射线碰撞检测,有了一些了解,这里我把它总结一下写下来,希望能帮助到你们,也希望通过各位大神来指正不足之处;射线碰撞检测,就是由某一物体发射出一道射线,射线碰撞到物体之后,可以得到该物体的相关信息,然后就可以对该物体进行一些操作的过程了。PS:个人见解;射线的发射分为可见和不可见,可见的情况就是在游戏当中你可以看到射线,而...
Unity Scene视图射线功能
用反射物理射线的方法,把这个脚本放到Editor下 /** * Author: YinPeiQuan **/ using UnityEngine; using UnityEditor; using System; using System.Linq; using System.Reflection; [InitializeOnLoad] public class RayHitRefrele...
Unity VR手柄发射射线
-
Unity鼠标射线工程源码
通过鼠标射线拾取对象,并拖拽其移动。具体讲解见https://blog.csdn.net/sunbowen63/article/details/89325314
学习Unity射线的创建使用
射线的意义:射线从原始的“触摸”碰撞检测到物体,开始转向“视野”碰撞,以此检测到某个物体,在这个视野(射线)范围内的物体,我都可以拿到他的碰撞器Collider,以此拿到“看到”的物体;拿到物体碰撞器用结构 RaycastHit 类型的变量存储。这个信息可包含Transform组件,以此可以获得碰撞到的物体的所有属性组件。 RaycastHit 光线投射碰撞 Struct Structu
Unity射线检测的用法总结
RayCast 射线检测 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力快速理解 Unity 中射线检测的基本用法...
unity设置射线穿透UI
设置UI穿透的Image这个UI 设置属性Raycast Target不勾选 设置属性Raycast Target不勾选 设置属性Raycast Target不勾选
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制