Unity3D制作红色射线

摘要:
1.在发射射线的位置创建一个空对象,以存储发射点的位置信息。

1、在发射射线的位置创建一个空物体用于存储发射点的位置信息。

Unity3D制作红色射线第1张

2、制作射线,为发射射线物体添加LineRenderer组件  制作Material材质并把其类型改为Particles/Addictive模式并为其加颜色把纹理放到LineRenderer的Material中,修改LineRenderer 的Width属性改成细线。

Unity3D制作红色射线第2张

Unity3D制作红色射线第3张

3、写脚本发射射线

    public Transform rayPos;
    public LineRenderer rayLine;
    public int rayLength = 10;

    void Update()
    {
        Ray ray = new Ray(rayPos.position, rayPos.forward);
        rayLine.SetPosition(0, ray.origin);//SetPosition中第一个参数表示射线的发射点还是终点 0表示起始点,1表示终点
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, rayLength))
        {
            rayLine.SetPosition(1, hit.point);
        }
        else
        {
            rayLine.SetPosition(1, ray.origin + ray.direction * rayLength);
        }
    }

Unity3D制作红色射线第4张

免责声明:文章转载自《Unity3D制作红色射线》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SLB(Server Load Balancing 服务器负载均衡)洛谷P1461 海明码 Hamming Codes下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浅析射线检测 raycast 的使用 !Cocos Creator 3D !

哎呀?为什么我设置了节点点击回调没反应呀? 记得在写小鸡拍拍的时候遇到一个问题,想要捕捉排球的点击事件,按照 2d 的写法,给3d 节点添加 node 事件,结果点了没反应。代码大概是以下的样子。 this.node_volleyball.on(Node.EventType.TOUCH_START, () => { console.log('...

Unity 学习笔记5

一:绘制线段:为物体添加linerendenerer组件,在脚本中获得该组件的引用后,增加position数组大小,设置position数组数值即可绘制折线。在脚本中获取了Linerenderer组件后,可以使用linerenderer.SetVertexCount (int numberOfPosition);方法动态的为position的size赋值,然...

ThreeJs 3D 全景项目开发总结

本文来自网易云社区 作者:唐钊 项目背景 那是在一个毫无征兆的下午,我还沉浸在 vue 的世界中,突然编辑跑过来说N的新官网想做一些3D全景的东西,一开始其实我的内心是拒绝的,一是没怎么实质性做过 WEBGL 的东西,只是组内 mini 项目的时候看了看基础的内容,再者当时也很忙,感觉这东西听起来就很复杂,随着项目开发结束在此写下这篇文章,记录一...

Cocos2d-x教程(35)-三维拾取Ray-AABB碰撞检測算法

欢迎增加Cocos2d-x 交流群:193411763 转载时请注明原文出处 :http://blog.csdn.net/u012945598/article/details/39927911 -------------------------------------------------------------------...

Houdini中全景摄像机shader立体左右眼成像方法

熟悉Houdini Shader部分的同学应该多多少少也了解camera自身也可以设定自己的shader。其中polar panoramic shader 能够非常方便的为艺术家渲染360全景视角的cg画面,但是这样渲染出来的画面只是单眼所看到的环境,如果引入立体双摄像机的渲染方法的话,默认的这个摄像机shader就会出现一个严重的问题,那就是所渲染出来的...