unity物体运动经过特定点并绘出轨迹

这篇具有很好参考价值的文章主要介绍了unity物体运动经过特定点并绘出轨迹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

经过线如果有圆滑可以参考

Unity物体运动时画出轨迹_天人合一peng的博客-CSDN博客

并修改里面的数值轨迹会有变化

float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * 45;
            this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-angle, -42, 42), 0, 0);

经过特定点时螺钉出现并有动画

unity物体运动经过特定点并绘出轨迹

 

1 空物体加linerender设置

unity物体运动经过特定点并绘出轨迹

 2 空物体设置调用linerender绘制线

unity物体运动经过特定点并绘出轨迹

 linemark.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
 
public class LineMark : MonoBehaviour {
 
 
	private GameObject clone;  
	private LineRenderer line;  
	private int i;  
	public GameObject obs;  
	public GameObject run;  
	Vector3 RunStart;
	Vector3 RunNext;
 
	// Use this for initialization
	void Start () {
		RunStart = run.transform.position;
		clone = (GameObject)Instantiate(obs, run.transform.position, run.transform.rotation);//克隆一个带有LineRender的物体   
		line = clone.GetComponent<LineRenderer>();//获得该物体上的LineRender组件  
		i = 0;
	}
 
	// Update is called once per frame  
	void Update () {  


		RunNext = run.transform.position;
 
		if (RunStart != RunNext) {
			i++;
			line.SetVertexCount(i);//设置顶点数 
			line.SetPosition(i-1, run.transform.position);
 
		}
 
		RunStart = RunNext;


	}  
}

3 运动小球

unity物体运动经过特定点并绘出轨迹

 cablelinerun.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;

public class CableLineRun : MonoBehaviour
{

    public Transform cableRun;   //要到达的目标
    public Transform cableStart;   //要到达的目标

    public Transform target01;   //要到达的目标
    public Transform target02;   //要到达的目标
    public Transform target03;   //要到达的目标


    // 固定
    public GameObject GuDing01;
    public GameObject GuDing02;
    public GameObject GuDing03;




    // Start is called before the first frame update
    void Start()
    {



    }

    // Update is called once per frame
    void Update()
    {



        
        if (Input.GetKey(KeyCode.A))
        {
      
            cableRun.DOLocalMove(target01.localPosition, 5f).OnComplete(onCompleteTarget01);

        }

        if (Input.GetKey(KeyCode.B))
        {
      

        }
        
    }


    void onCompleteTarget01()
    {
            GuDing01.SetActive(true);
            // 旋转的同时移动
            var s= DOTween.Sequence();
            s.Append(GuDing01.transform.DOLocalMoveZ(40,3f));
            s.Join(GuDing01.transform.DOLocalRotate(new Vector3(0, 0, 1000),3f));

            cableRun.DOLocalMove(target02.localPosition, 5f).OnComplete(onCompleteTarget02);

    }

        void onCompleteTarget02()
    {
            GuDing02.SetActive(true);
            // 旋转的同时移动
            var s= DOTween.Sequence();
            s.Append(GuDing02.transform.DOLocalMoveZ(-36f,3f));
            s.Join(GuDing02.transform.DOLocalRotate(new Vector3(0, 0, 1000),3f));


            cableRun.DOLocalMove(target03.localPosition, 5f).OnComplete(()=>{

            GuDing03.SetActive(true);
            // 旋转的同时移动
            var s= DOTween.Sequence();
            s.Append(GuDing03.transform.DOLocalMoveZ(-190f,3f));
            s.Join(GuDing03.transform.DOLocalRotate(new Vector3(0, 0, 1000),3f));


            });
    }
}

4 start小球

unity物体运动经过特定点并绘出轨迹

 5 三个经过点

unity物体运动经过特定点并绘出轨迹

 6 三个经过点上的螺钉

unity物体运动经过特定点并绘出轨迹

 7 效果

unity物体运动经过特定点并绘出轨迹文章来源地址https://www.toymoban.com/news/detail-426100.html

到了这里,关于unity物体运动经过特定点并绘出轨迹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity 3D游戏开发+脚本编程完整指南:Unity脚本概览-控制物体的运动

    Unity 3D游戏开发+脚本编程完整指南:Unity脚本概览-控制物体的运动

    教程相关资源 Unity 3D游戏开发+脚本编程完整指南(工程文件+PPT).zip Unity 脚本概览 脚本编写并不困难,但是如果直接从细节开始讲起,会让 读者难以看到脚本编程的全貌。因此本章不急于阐述脚本编写 的细节,只介绍简单的修改物体位置、处理用户输入和检测碰 撞的方法

    2024年02月21日
    浏览(57)
  • Unity3D根据物体运动画出实体轨迹线

    Unity3D根据物体运动画出实体轨迹线

    在Unity3D根据物体运动画出实体轨迹线 在Inspector里面添加组件LineRender,线条圆滑设置如下, 颜色可以新建材质直接拖上该物体上就行。 添加脚本LineMark 将上面的Line放在OBS里面,对应需要画出的物体直接拖入右侧的 — 小技巧:想画出对应阶段的轨迹曲线可以通过启用和不启

    2024年02月12日
    浏览(51)
  • Unity获取物体自身坐标轴的方向以及沿着该方向运动的方法

    有时候对于一个游戏对象,需要其沿着自身的坐标轴方向进行运动,那么首先如何获取自身的坐标轴方向? 获取自身的坐标轴方向可以通过transform组件进行获取(负方向加负号即可)  Vector3 moveDirection = transform.right;  获取自身的x轴的方向  Vector3 moveDirection = transform.forward;  获

    2024年02月12日
    浏览(16)
  • unity3d 物体高速运动下穿模的解决方案

    以下是一些解决Unity 3D中物体高速运动下穿模问题的方法: 提高物理引擎的迭代次数:在Unity中,可以通过增加物理引擎的迭代次数来提高碰撞检测的精度。这可以通过修改项目的物理设置来实现。增加迭代次数可以减少物体在高速运动下穿越其他物体的可能性。 增加物理步

    2024年02月16日
    浏览(100)
  • yolov5当检测到特定物体时发出警报声音

    可以修改detect.py里面的代码 首先先安装pyttsx3依赖:pip install pyttsx3 然后导包,这里采用多线程 import pyttsx3 import threading 在顶部合适位置,定义一个播放声音的方法: 在代码中,找到 **for *xyxy, conf, cls in reversed(det)**这一串代码,然后在它的下面添加判断语句,如下: 我这里是

    2024年02月05日
    浏览(22)
  • ThreeJS-3D教学三:平移缩放+物体沿轨迹运动

    ThreeJS-3D教学三:平移缩放+物体沿轨迹运动

    我们在项目中会有一些这样的需求,我们可视化一个场景,需要俯视、平移、缩放,方便观察场景中的数据或者模型,之所以把这个案例拿出来 1、这是个很实用的需求,我相信很多人会用到 2、我自己认为在实际案例中我们可以学习相关知识点更易吸收些 为了丰富本篇文章

    2024年02月03日
    浏览(14)
  • UE4物体随着样条线(Spline)运动

    UE4物体随着样条线(Spline)运动

    一定要经过起止点,若干个控制点用于控制曲线弯曲的方向,最终形成一条 光滑的曲线 。 由于贝塞尔曲线点太多了不好控制,一般每四个点做一次贝塞尔曲线。得到的若干段相邻贝塞尔曲线的连接点需要共线且距离相同,即为 C1连续 (一阶连续可导)。 得到数学表达式如

    2024年02月11日
    浏览(77)
  • UE5 物体高速移动产生拖影(运动残影)

    UE5 物体高速移动产生拖影(运动残影)

    给一个物体加上一个location的变化,当这个值达到一定大小时,运动会产生残影 速度较小时则不会,或者说不那么明显 这个是因为UE5的抗锯齿采样方法方法改成了 TSR- Temporal Super Resolution 该方法主要是将低分辨率游戏画面扩展至高分辨率,类似英伟达的DLSS,减轻显卡压力从而

    2024年02月11日
    浏览(151)
  • OpenCV实例(九)基于深度学习的运动目标检测(三)YOLOv3识别物体

    OpenCV实例(九)基于深度学习的运动目标检测(三)YOLOv3识别物体

    目标检测,粗略地说就是输入图片/视频,经过处理后得到目标的位置信息(比如左上角和右下角的坐标)、目标的预测类别、目标的预测置信度。前面我们阐述了不少理论知识,现在需要动手实战了。对于初学者来说,自己实现YOLO算法不太现实,幸运的是OpenCV的DNN(Deep Neur

    2024年02月12日
    浏览(16)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包