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

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

服务器之家 - 编程语言 - C# - Unity实现物体弧线运动到规定的坐标

Unity实现物体弧线运动到规定的坐标

2022-09-16 13:38天人合一moonlight C#

这篇文章主要为大家详细介绍了Unity实现物体以弧线的形式运动到规定的坐标,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Unity实现以弧线的形式运动到规定坐标的具体代码,供大家参考,具体内容如下

1、u3d场景的设置

Unity实现物体弧线运动到规定的坐标

2、 Run 脚本

?
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
using UnityEngine;
using System.Collections;
 
public class Run : MonoBehaviour
{
 public GameObject target; //要到达的目标
 public float speed = 10; //速度
 private float distanceToTarget; //两者之间的距离
 private bool move = true;
 
 void Start()
 {
 //计算两者之间的距离
 distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position);
 StartCoroutine(StartShoot());
 }
 
 IEnumerator StartShoot()
 {
 
 while (move)
 {
 Vector3 targetPos = target.transform.position;
 
 //让始终它朝着目标
 this.transform.LookAt(targetPos);
 
 //计算弧线中的夹角
 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);
 float currentDist = Vector3.Distance(this.transform.position, target.transform.position);
 if (currentDist < 0.5f)
 move = true;
 this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
 yield return null;
 }
 }
 
 
}

3、运行结果

Unity实现物体弧线运动到规定的坐标

重合到一起后,拖动Start的小球,松手后又会重合。

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

原文链接:https://blog.csdn.net/moonlightpeng/article/details/83511850

延伸 · 阅读

精彩推荐
  • C#Unity3D UGUI实现缩放循环拖动卡牌展示效果

    Unity3D UGUI实现缩放循环拖动卡牌展示效果

    这篇文章主要为大家详细介绍了Unity3D UGUI实现缩放循环拖动展示卡牌效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参...

    诗远3682022-03-11
  • C#C#实现简单打字小游戏

    C#实现简单打字小游戏

    这篇文章主要为大家详细介绍了C#实现简单打字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    oOo!!!!!----蔚楠9022022-09-07
  • C#C#使用RichTextBox实现替换文字及改变字体颜色功能示例

    C#使用RichTextBox实现替换文字及改变字体颜色功能示例

    这篇文章主要介绍了C#使用RichTextBox实现替换文字及改变字体颜色功能,结合实例形式洗了C#中RichTextBox组件文字替换及改变字体颜色相关操作技巧,需要的朋友...

    changuncle4492022-03-10
  • C#详解C# 不能用于文件名的字符

    详解C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符,那么具体是包括哪些符号不能作为文...

    lindexi7802022-02-20
  • C#C#简单生成随机密码的方法示例

    C#简单生成随机密码的方法示例

    这篇文章主要介绍了C#简单生成随机密码的方法,结合具体实例形式分析了C#生成随机密码操作的前台界面与后台处理技巧,需要的朋友可以参考下...

    zhangsiyan6282022-01-10
  • C#C#简单连接sql数据库的方法

    C#简单连接sql数据库的方法

    这篇文章主要介绍了C#简单连接sql数据库的方法,涉及C#基于控制台的数据库连接创建于命令执行相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    吕秀才6112021-11-25
  • C#c#将字节数组转成易读的字符串的实现

    c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    森大科技4912022-08-17
  • C#C#自定义DataGridViewColumn显示TreeView

    C#自定义DataGridViewColumn显示TreeView

    我们可以自定义DataGridView的DataGridViewColumn来实现自定义的列,下面介绍一下如何通过扩展DataGridViewColumn来实现一个TreeViewColumn...

    JackWang-CUMT5182021-11-05