服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - unity实现弧形移动 可角度自定

unity实现弧形移动 可角度自定

2022-09-16 13:33于子潇 C#

这篇文章主要为大家详细介绍了unity实现弧形移动,可角度自定,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了unity实现弧形移动的具体代码,自定角度,供大家参考,具体内容如下

unity实现弧形移动 可角度自定

两点之间弧形移动

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using UnityEngine;
using System.Collections;
 
public class MoveTest : MonoBehaviour
{
  public GameObject target;  //要到达的目标
  public float speed = 10;  //速度
  public int rotationAngle = 60;
  private float distanceToTarget;  //两者之间的距离
  private bool move = true;
 
  void Start()
  {
    //计算两者之间的距离
    distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position);
    StartCoroutine(Move());
  }
 
  IEnumerator Move()
  {
 
    while (move) //移动到目标点停止移动
    {
      Vector3 targetPos = target.transform.position;
 
      //让始终它朝着目标
      this.transform.LookAt(targetPos);
 
      //计算弧线中的夹角
      float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * rotationAngle;
      this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-angle, -42, 42), 0, 0);
      float currentDist = Vector3.Distance(this.transform.position, target.transform.position);
      if (currentDist < 0.5f)
        move = false;
      this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
      yield return null;
    }
  }
 
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/yzx5452830/article/details/78064024

延伸 · 阅读

精彩推荐
  • C#C#调用OpenCV开发简易版美图工具【推荐】

    C#调用OpenCV开发简易版美图工具【推荐】

    本文主要介绍在WPF项目中使用OpenCVSharp3-AnyCPU开源类库处理图片,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧...

    kiba5189072022-08-07
  • C#C#异常处理的技巧和方法

    C#异常处理的技巧和方法

    在本篇文章里小编给大家整理了关于C#异常处理的技巧和方法以及相关知识点,需要的朋友们学习下。...

    C#教程网7362022-07-16
  • C#详谈C# 图片与byte[]之间以及byte[]与string之间的转换

    详谈C# 图片与byte[]之间以及byte[]与string之间的转换

    下面小编就为大家带来一篇详谈C# 图片与byte[]之间以及byte[]与string之间的转换。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编...

    C#9742021-12-24
  • C#c# WinForm 窗体之间传值的几种方式(小结)

    c# WinForm 窗体之间传值的几种方式(小结)

    这篇文章主要介绍了WinForm 窗体之间传值的几种方式(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    大白快跑86352022-02-28
  • C#WPF实现窗体中的悬浮按钮

    WPF实现窗体中的悬浮按钮

    这篇文章主要为大家详细介绍了WPF实现窗体中的悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    秋荷雨翔5942022-03-05
  • C#C#实现txt定位指定行完整实例

    C#实现txt定位指定行完整实例

    这篇文章主要介绍了C#实现txt定位指定行的方法,涉及C#针对文本文件进行光标定位的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    我心依旧11472021-10-20
  • C#C#实现JSON解析器MojoUnityJson功能(简单且高效)

    C#实现JSON解析器MojoUnityJson功能(简单且高效)

    MojoUnityJson 是使用C#实现的JSON解析器 ,算法思路来自于游戏引擎Mojoc的C语言实现 Json.h。这篇文章主要介绍了C#实现JSON解析器MojoUnityJson的方法,需要的朋友...

    scottcgi11762022-02-19
  • C#C#编程实现动态改变配置文件信息的方法

    C#编程实现动态改变配置文件信息的方法

    这篇文章主要介绍了C#编程实现动态改变配置文件信息的方法,涉及C#针对xml格式文件的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    aparche3772021-11-24