Unity射线(Ray)与LineRenderer插件,射线的线条的显示与消失

这篇具有很好参考价值的文章主要介绍了Unity射线(Ray)与LineRenderer插件,射线的线条的显示与消失。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

显示射线

1、必须添加组件LineRenderer

2、在代码里面获取LineRenderer组件,不然报错

3、对于射线的起点与终点位置需要明确,要不然射线显示的位置会出现很大问题.例如在射击类游戏,起始位置都应该在枪口的位置,只需要在枪口给一个空物体去过度一下,把射线的起始位置放在空物体上就可以了。对于方向问题,根据自己的需求判定,一般情况是在世界坐标的z轴方向也就是forward前方位置。

4、注:一定要明确空物体的三维坐标,以及空物体自身会因为某些动画改变空物体的方位,不然射线的位置可能会有很大的偏差,导致射线偏移。文章来源地址https://www.toymoban.com/news/detail-532242.html

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEditor;
using UnityEngine;

public class Players : MonoBehaviour
{
    private LineRenderer line;//线的定义
    public Transform buttle; //射线的起点位置(空物体的位置)
    
    void Start()
    {
         
    line = GetComponent<LineRenderer>();//添加组件
    }

    void Update()
    {
        Fire();
    }
     void Fire()//玩家开火
    {
        if (Input.GetButtonDown(0))
        {
            
           //射线的定义 Ray(射线的开始位置,射线的方向)
            Ray ray = new Ray(buttle.position, transform.forward);

            RaycastHit hit;//被击中位置的点位定义

            line.SetPosition(0, buttle.position);//线的开始位置

            bool b = Physics.Raycast(ray, out hit);//判定射线是否击中目标
            if (b==true)
            {
                line.SetPosition(1, hit.point);//线的最终位置,hit.point被击中的位置

                line.enabled = true; //射线的显示
                //line.enabled = false;//射线的消失      
        
                if (hit.collider.CompareTag("Enemy"))//被击中的目标Tag值
                {
                    Destroy(hit.collider.gameObject,0.1f);//销毁被击中的对象
                       
                }                
            }
        }
    }
}

到了这里,关于Unity射线(Ray)与LineRenderer插件,射线的线条的显示与消失的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】Animator Controller中动画消失 显示问题分析及解决方案

    Unity中的Animator Controller界面突然显示空白,编辑好的动画可以正常播放,但Animator ControllerAnimator Controller界面就是不显示。重启后就再次出现,启动项目后就又消失 可能是Unity缓存问题,重新生成Unity中缓存文件即可。 关闭Unity编辑器 打开项目所在位置的 Library 文件夹 将该文

    2024年02月11日
    浏览(59)
  • unity组件LineRenderer Unity LineRenderer 实现闪电效果

    这是一个好玩的组件 主要作用划线,像水果忍者中的刀光,还有一些涂鸦的小游戏,包括让鼠标划线然后让对象进行跟踪导航也可通过此插件完成 附注:unity版本建议使用稳定一些的版本,有些api可能已经发生变化,请参考unity官方文档 此组件: 线渲染器用于在 3D 空间中绘

    2024年02月03日
    浏览(41)
  • unity组件LineRenderer

    这是一个好玩的组件 主要作用划线,像水果忍者中的刀光,还有一些涂鸦的小游戏,包括让鼠标划线然后让对象进行跟踪导航也可通过此插件完成 附注:unity版本建议使用稳定一些的版本,有些api可能已经发生变化,请参考unity官方文档 此组件: 线渲染器用于在 3D 空间中绘

    2024年02月07日
    浏览(43)
  • Unity LineRenderer的简单使用

    一、创建LineRenderer 1、直接创建 2、添加LineRenderer组件给GameObject 二、组件属性 常用代码

    2024年02月11日
    浏览(36)
  • 【Unity】LineRenderer画线拐点的网格变形问题

    正常情况下,使用Unity中画线工具LineRenderer。可以画出期望的直线。 但当拐点处,两点的距离过小,并且线的宽度不是特别细的情况下。组件动态生成的线会发生变形。 这是因为LineRenderer是根据填入的点位Positions和宽度Width来生成网格。如果两点间距过近,并且有一定的宽度

    2024年02月16日
    浏览(40)
  • Unity中利用LineRenderer绘制寻路路径

    这里主要是Catmull-Rom的应用,最终选用的是Centripetal Catmull–Rom spline 起初想要通过贝塞尔曲线去平滑路径,但是很快便发现路径平滑后它不穿过中途点。 贝塞尔曲线 Catmoll-Rom 参考 由最少4个点进行差值计算,差值结果在p1-p2之间 曲柄是由P’(0) = τ(P i - P i-2 ), P’(1) = τ(P i + 1

    2024年02月15日
    浏览(45)
  • 【Unity开发】给LineRenderer添加碰撞体(使用MeshCollider)

    在这里选择使用MeshCollider组件给Line添加碰撞体。 首先创建Line的Mesh 通过查阅Unity官方文档我们可以得知,使用BakeMesh函数可以获取到Line的Mesh。 创建MeshCollider组件并添加Mesh信息

    2024年02月15日
    浏览(44)
  • 【Unity3D】线段渲染器LineRenderer

    1 LineRenderer 简介         LineRenderer 组件用于绘制线段,可以调整线段条数、端点坐标、颜色、宽度等属性,其属性面板如下: Materials :线段材质,最好设置为 Default-Line; Positions-Size :线段端点个数; Positions-Element :线段端点值; Width :线段宽度,可以是不等宽的;

    2023年04月08日
    浏览(52)
  • unity 曲线可视化图表制作(lineRenderer + 贝塞尔曲线)

    需求要实现一个动态变化的曲线 思路: 分为两部分:画线和平滑曲线 首先解决画线问题: 1.lineRenderer 2.texture的setpixel 肯定选已经做好的轮子1啦 平滑曲线思路: 1.抛物线 2.贝塞尔曲线 抛物线做连续的曲线太抽象了 肯定选贝塞尔曲线 先了解一下贝塞尔曲线 一次贝塞尔 对应

    2023年04月08日
    浏览(45)
  • 【超级入门】Unity如何实现画射线+射线检测+NavMeshAgent结合

           “射线检测 是在3D数字世界里选择某个特定物体常用的一种技术,如在3D、VR游戏中检测子弹命中敌人情况或者从地上捡起一支枪,这都要用到 射线检测 , 射线检测 是在3D数字空间中选择虚拟物体的最基本方法。 ” 效果: 我们先创建一个物体,挂脚本 RayTest ,代码

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包