热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Unity游戏常用API

1、Vector3属性方法详解normalized返回一个规范化向量magnitude返回向量的模sqrMagnitude返回向量的模的平方zero静态属性,返回Vector3(0

1、Vector3









































































属性方法详解
normalized返回一个规范化向量
magnitude返回向量的模
sqrMagnitude返回向量的模的平方
zero静态属性,返回Vector3(0,0,0)
one静态属性,返回Vector3(1,1,1)
forward静态属性,返回Vector3(0,0,1)
back静态属性,返回Vector3(0,0,-1)
left静态属性,返回Vector3(-1,0,0)
right静态属性,返回Vector3(1,0,0)
up静态属性,返回Vector3(0,1,0)
down静态属性,返回Vector3(0,-1,0)
Angle静态方法,返回两个向量的夹角
Distance静态方法,返回两个点间的距离
Lerp静态方法,插值运算
Dot静态方法,两个向量点乘
Cross静态方法,两个向量叉乘

Unity的Lerp插值运算

float result = Mathf.Lerp(float a, float b, float time)

Vector3 res = Vector3.Lerp(Vector3 startPos, Vector3 endPos, float time)

以上两种方法均为插值运算,第一个是一维插值,第二个是三维插值,其方法含义以第一个方法为例,代表的意义是:

result = a + (b-a) * time, 其中time值在【0,1】范围内起作用,

当time=0时,result = a, 当time=1时,result=b, 当time>1时,result=b

可以利用插值运算来实现各种平滑效果,比如相机的平滑移动,物体的匀速运动


相机的平滑移动:

相机由当前位置移动到targetTrans位置,smooth可调节移动的速度

void Update(){
//smooth为平滑度
cameraTrans.position = Vector3.Lerp(cameraTrans.position, targetTrans.position, smooth);
}

物体的匀速运动

物体由startPos位置移动到endPos位置,匀速移动,花了duration时间

public Vector startPos;
public Vector endPos;
public float duration;
public float time;

void Update(){
time += Time.deltaTime;
transform.position = Vector3.Lerp(startPos, endPos, time/duration)
}

2、Quaternion

3、Debug

4、GameObject

5、Time

6、Mathf

7、Application

8、Scene

9、Transform

推荐阅读
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • 本文探讨了Java中有效停止线程的多种方法,包括使用标志位、中断机制及处理阻塞I/O操作等,旨在帮助开发者避免使用已废弃的危险方法,确保线程安全和程序稳定性。 ... [详细]
  • Mysqlcheck作为MySQL提供的一个实用工具,主要用于数据库表的维护工作,包括检查、分析、修复及优化等操作。本文将详细介绍如何使用Mysqlcheck工具,并提供一些实践建议。 ... [详细]
  • 本项目使用Java语言开发了一个基于B/S架构的指纹识别系统,该系统能够实现指纹的高效采集与精准识别,适用于多种安全认证场景。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • 构建Python自助式数据查询系统
    在现代数据密集型环境中,业务团队频繁需要从数据库中提取特定信息。为了提高效率并减少IT部门的工作负担,本文探讨了一种利用Python语言实现的自助数据查询工具的设计与实现。 ... [详细]
  • 本文详细介绍了如何在本地环境中安装配置Frida及其服务器组件,以及如何通过Frida进行基本的应用程序动态分析,包括获取应用版本和加载的类信息。 ... [详细]
  • 本文详细解析 Skynet 的启动流程,包括配置文件的读取、环境变量的设置、主要线程的启动(如 timer、socket、monitor 和 worker 线程),以及消息队列的实现机制。 ... [详细]
  • 深入解析 RuntimeClass 及多容器运行时应用
    本文旨在探讨RuntimeClass的起源、功能及其在多容器运行时环境中的实际应用。通过详细的案例分析,帮助读者理解如何在Kubernetes集群中高效管理不同类型的容器运行时。 ... [详细]
  • 本文详细介绍了如何在ReactJS项目中集成Onsen-UI的ActionSheetButton组件,并通过具体示例展示了其使用方法及效果。 ... [详细]
  • APP及其接口测试全面解析
    本文深入探讨了移动应用(APP)及其接口测试的关键点,包括安装与卸载、功能一致性、系统兼容性、权限管理等多个方面的测试策略,以及针对接口的功能、边界值、参数组合等专业测试方法。同时,介绍了几款常用的测试工具,帮助开发者提高测试效率和质量。 ... [详细]
  • 本文详细介绍了Java API中文文档的位置、用途及其查看方法,帮助开发者更高效地利用这一资源。 ... [详细]
  • 本文探讨了如何在Sitecore 9环境中通过Postman使用API密钥发送请求,包括解决常见错误的方法。 ... [详细]
  • 探讨在iOS客户端向服务器上传数据流的过程中,若服务器因权限校验失败而未接收流直接响应时,如何有效避免客户端出现超时的问题。 ... [详细]
author-avatar
Hello_DavidLeete_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有