Unity3D知识点精华浓缩

一、细节
1、类与组件的关系
2、Time.deltaTime的含义
3、怎么表示一帧的移动距离
4、Update和LateUpdate的区别和适用场景
5、找游戏对象的方式(别的对象 / 当前对象的子对象)
6、组件1调用组件2中方法的方式
7、在面板中获取外部数据的方法
8、序列化属性、序列化自定义对象的方法及举例
9、百分数的表示
10、文件类资源(文本、表格)的类名
11、GetMouseButonDown和GetMouseDown区别
12、获取鼠标按下的位置信息的方法
13、IK逆向运动学的定义
14、Start和Awake的异同
15、加载资源生成预制体
16、发射射线的方法

二、常用函数及属性
1、计算从一个向量到另一个向量所需要的旋转角度
2、对一个对象进行复制操作
3、vector3的属性(x轴、y轴、z轴、夹角、外积)
4、物体平移函数
5、物体旋转函数
6、瞬间给刚体一个恒定的速度
7、刚体增加推力、爆炸力
8、销毁物体
9、播放音乐、音效

三、人机交互
1、键盘按下按键
2、鼠标按下按键
3、获取左右、前后移动信息

四、角色控制器(CharacterController)
1、在角色移动上和Transform组件、RigidBody组件的区别
2、实现角色移动的方法

五、碰撞体组件Collider
1、2个物体产生碰撞的条件
2、怎么作为触发器使用
3、碰撞器碰撞开始的回调函数
4、触发器触发开始的回调函数

六、UI Toolkit
1、UI Toolkit的概念
2、创建UI Document对象和uxml资源文件
3、查找子元素的方法
4、UI Toolkit工作流

七、ScriptableObject数据容器
1、概念
2、使用流程

八、2D动画
1、Sprite定义
2、Animation功能
3、Animator组件

九、人体模型及动画
1、3D的动画存储格式
2、制作动画游戏步骤
3、动画回调函数的定义及使用方法
4、动画事件与回调函数的区别及使用方法
5、动画曲线定义及使用方法
6、IK动画定义及适用场景

十、导航系统
1、作用
2、使用流程
3、分离路面导航的定义、水平跳方案、往上/下跳方案
4、动态路障导航的定义及实现方法

--------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------

一、细节

1、类与组件的关系

当一个类继承了MonoBehaviour时,就变成了组件

2、Time.deltaTime的含义

表示一帧的时间

3、怎么表示一帧的移动距离

Time.deltaTime * 10,即时间 * 速度

4、Update和LateUpdate的区别和适用场景

Update:每一帧更新时的操作

LateUpdate:所有update后执行,帧更新后的操作

适用场景:Update适用于处理输入、对象的移动、旋转、动画等;后者适用于相机跟随、视角更新等。

5、找游戏对象的方式(别的对象 / 当前对象的子对象)

别的对象:GameObject.Find

子对象:transform.Find

6、组件1调用组件2中方法的方式

GetComponent<xx>()

7、在面板中获取外部数据的方法

序列化

8、序列化属性、序列化自定义对象的方法及举例

[SerializeField] string name;

[System.Serializable]

public struct A   {       public int a;       public GameObject b;       public Vector3 c;   }

9、百分数的表示

Length.Percent(25.00)

10、文件类资源(文本、表格)的类名

TextAsset类

11、GetMouseButonDown和GetMouseDown区别

前者是鼠标按下最后一帧的信息

后者是鼠标按下每一帧的信息

12、获取鼠标按下的位置信息的方法

通过Camera发射Ray获取信息

13、IK逆向运动学的定义

通过手或足带动整个身体运动

14、Start和Awake的异同

相同:生命周期中都只调用一次

不同:awake先调用,在脚本被加载时执行,一般用于获取组件、设置初始化值;start后调用,一定用于启动协程、订阅事件。

15、加载资源生成预制体

Resources.Load<GameObject>(xx)

16、发射射线的方法

首先,定义射线Ray,然后通过Physics.Raycast发射射线,返回RaycastHit碰撞信息

二、常用函数及属性

1、计算从一个向量到另一个向量所需要的旋转角度

Quaternion.LookRotation()

2、对一个对象进行复制操作

Instantiate()

3、vector3的属性(x轴、y轴、z轴、夹角、外积)

vector3.right

vector3.up

vector3.forward

vector3.angle

vector3.cross

4、物体平移函数

transform.translate

5、物体旋转函数

transform.Rotate

6、瞬间给刚体一个恒定的速度

RigidBody.velocity

7、刚体增加推力、爆炸力

RigidBody.AddForce

RigidBody.AddExplosionForce

8、销毁物体

Destory(xx, seconds)

9、播放音乐、音效

player = GetCompent<AudioSource>();

player.Play();

player.PlayOneShot();

三、人机交互

1、键盘按下按键

Input.GetKeyDown(keyCode key)

2、鼠标按下按键

Input.GetMouseButtonDown(int button)

3、获取左右、前后移动信息

左右:Input.GetAxis("Horizontal")

前后:Input.GetAxis("Vertical")

四、角色控制器(CharacterController)

1、在角色移动上和Transform组件、RigidBody组件的区别

transform:通过位置实现移动

rigidbody:通过速度实现移动

characterController:通过速度和模拟碰撞实现移动,前两者不方便爬坡和爬梯,该组件则可以适应各种地形

2、实现角色移动的方法

SimpleMove()

五、碰撞体组件Collider

1、2个物体产生碰撞的条件

1)2个物体都有Collider组件

2)至少有一个物体有Rigidbody

2、怎么作为触发器使用

勾选Is Trigger选项

3、碰撞器碰撞开始的回调函数

OnCollisionEnter(Collision other)

4、触发器触发开始的回调函数

OnTriggerEnter(Collision other)

六、UI Toolkit

1、UI Toolkit的概念

基于Web技术的框架,没有采用GameObject的方式,而是参考了Web技术的XML和CSS方案。

2、创建UI Document对象和uxml资源文件

在Hierarchy窗口右击选择UI Toolkit -> UI Document对象

在Assets窗口右击选择Create -> UI Toolkit -> UI Document创建uxml文件

3、查找子元素的方法

Query方法查找所有符合条件的子元素

Q方法查找第一个符合条件的子元素

4、UI Toolkit工作流

内容布局UXML实现 -> 样式设计USS -> 功能行为C#脚本

七、ScriptableObject数据容器

1、概念

独立于类实例的保存数据的容器,数据存储在assets资源文件中,一般搭配CreateAssetMenu使用

2、使用流程

首先,定义一个类A继承自ScriptableObject,并且注解CreateAssetMenu的信息

然后,在菜单中实例化一个类A,并且修改属性值

接着,定义一个类B,该类中包含对类A的引用,然后在inspector中配置上一步实例化的类A

最后,通过GetComponent加载后即可获取类A的实例化的信息

八、2D动画

1、Sprite定义

在2D游戏中指像素图,比如《超级玛丽》中的马里奥

2、Animation功能

一种简单的动画系统,可以实现物体的移动、旋转等的动画编辑。

3、Animator组件

一种复杂的动画系统,使用状态机来控制游戏对象的动画。

九、人体模型及动画

1、3D的动画存储格式

fbx格式

2、制作动画游戏步骤

1)创建AnimatorController,并成为对象的组件

2)双击AnimatorController打开Animator窗口,状态间通过Make Transition创建连接线

3)在Animator窗口选择Parameters来设置动画状态转换条件

3、动画回调函数的定义及使用方法

在动画开始、执行中、结束时回调的函数,

在Animator窗口中选中动画,在Inspector窗口点击Add Behaviour添加脚本,脚本中的类继承自StateMachineBehaviour.

4、动画事件与回调函数的区别及使用方法

区别:回调函数只能给首帧、尾帧等添加回调方法,而事件能给任意帧添加回调方法。

使用:点击动画,在Inspector的Events中添加方法,然后在脚本中实现方法。

5、动画曲线定义及使用方法

设置一个变量的值随着动画执行而变化,在任意时刻都希望获取到这个变量的值。

使用:点击动画,在Inspector的Curves中添加变量并编辑曲线,在脚本中通过animator.GetFloat("<变量>")获取值

6、IK动画定义及适用场景

定义:一种由手部带动肩部运动的形式

场景:手触电、开枪时手的抖动

十、导航系统

1、作用

用于智能避障并寻找目标物体。

2、使用流程

1)将路面、路障等静态对象设置为Navigation Static

2)烘培(Bake)导航网络

3)给导航角色添加NavMeshAgent组件

4)给导航角色添加脚本组件,并在脚本中通过navMeshAgent.SetDestination设置导航目标位置

3、分离路面导航的定义、水平跳方案、往上/下跳方案

定义:分离的路面的导航

水平跳:给分离路面对象勾选Generate OffMeshLinks属性

上/下跳:在路面分离处创建两个空对象作为跳跃点,给一个跳跃点添加OffMeshLinks组件,并将两个跳跃点对象拖拽到OffMeshLinks组件中

4、动态路障导航的定义及实现方法

定义:导航系统、分离路面导航都是静态的,而动态路障导航是动态的。

实现:给动态路障添加NavMeshObstacle组件,此时U3D会对此对象附近的导航网络进行动态烘培

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Windows系统中开启SSH服务

文章目录 引言I 使用Windows内置的OpenSSH服务器功能1.1 安装并启用SSH服务器1.2 配置SSH服务器的端口号II Windows的run功能III SSH的其他操作3.1 绑定本地端口3.2 本地端口转发3.3 远程端口转发3.4 后台运行3.5 不执行远程操作3.6 在Linux上创建一个git用户用于SSH访问see al…

ChatGPT智能写作:开启论文写作新视野

ChatGPT无限次数:点击直达 html ChatGPT智能写作&#xff1a;开启论文写作新视野 引言 在当今信息爆炸的时代&#xff0c;人们需要更有效的工具来帮助他们在各种领域进行写作。ChatGPT作为一项基于人工智能技术的顶尖产品&#xff0c;为论文写作提供了全新的视角和可能性。…

海外博士后政策,这些重点你不能错过!

​ ​海外高层次人才博士后专项申报政策是针对具有较高学术造诣和研究潜力的海外学者、研究人员&#xff0c;旨在吸引他们回国从事科研工作&#xff0c;推动国内科技创新发展。该政策不仅为海外人才提供了良好的职业发展平台&#xff0c;还为他们提供了丰富的科研资源和优厚…

20240408在线给加密的PDF文件解密【打印限制】

20240408在线给加密的PDF文件解密 百度&#xff1a;PDF解密 https://smallpdf.com/cn/unlock-pdf PDF解密 未选择任何文件 或拖放PDF至此处 无文件大小限制&#xff0c;无广告水印 - 这款易于使用且免费的在线密码移除工具可为您移除恼人的PDF密码。 无需注册 数秒内解锁 PDF …

【GitHub技术全面解析及游戏开发者的应用】

GitHub技术全面解析及游戏开发者的应用 GitHub作为全球最大的开源代码托管平台&#xff0c;不仅为软件开发者提供了一个强大的工具&#xff0c;也为游戏开发者带来了前所未有的便利。在游戏开发领域&#xff0c;GitHub的技术可以帮助开发者更高效地管理代码、协作开发、分享资…

CommandLineRunner实现项目启动时预处理

如果希望在SpringBoot应用启动时进行一些初始化操作可以选择使用CommandLineRunner来进行处理。 我们只需要实现CommandLineRunner接口&#xff0c;并且把对应的bean注入容器。把相关初始化的代码重新到需要重新的方法中。 这样就会在应用启动的时候执行对应的代码。 Compon…

python基础语法--输入和输出

一、 输入 input() python使用input输入变量&#xff0c;input输入的变量为字符串形式&#xff0c;可以通过其他方式转换为整型或其他类型。 &#xff08;1&#xff09;单行读入已知个数的字符串或数字 读入字符串 # 单行读入字符串a,并给出一句输入提示 a input("请…

【随笔】Git 高级篇 -- 提交的技巧(下) cherry-pick commit --amend(十九)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

Vue插件使用详细介绍

介绍​ 插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。下面是如何安装一个插件的示例&#xff1a; import { createApp } from vueconst app createApp({})app.use(myPlugin, {/* 可选的选项 */ }) 一个插件可以是一个拥有 install() 方法的对象&#xff0c;也可以直…

pose_iter_116000.caffemodel 下载地址(github)

没有百度云会员&#xff0c;github上几秒就下完了 face&#xff1a;pose_iter_116000.caffemodelhttps://github.com/ihp-lab/OpenSense/blob/fefe13ccf250e4811f4f61edf0b212e4ded78d19/Interoperations/OpenPose.PInvoke/OpenPoseLib/models/face/pose_iter_116000.caffemode…

搭建网站的步骤

搭建网站的步骤 我们选择了白嫖雨云的二级域名 浏览器输入https://www.rainyun.com/z22_ 创建账号然后选择一个你喜欢的子域名我建议后缀选择ates.top的 选择自定义地址&#xff0c;类型选择cname 现在要选择记录值了&#xff0c;有a&#xff0c;aa&#xff0c;txt等 根据实际…

加速度JUSDO | 电子元器件商城行业调研及运营方案

一、行业背景与竞品分析 随着电子元器件行业的快速发展&#xff0c;线上元器件商城已成为行业交易的重要渠道。目前市场上存在多个知名的元器件商城&#xff0c;如立创、云汉芯城、贸泽商城等&#xff0c;它们都提供了丰富的元器件产品和便捷的线上交易服务。 立创商城&#x…

1200/天,长期兼职贵么?

今天收到一个客户询盘&#xff0c;问公司长期招聘一个兼职程序员&#xff0c;包月的这种。问我多少钱一个月&#xff0c;在这种需求未明确的情况下&#xff0c;单纯的问价格其实意义不大的&#xff0c;只要报价不在客户心理预期范围内基本没戏的。 关于定价 关于程序员价格的定…

MySQL-----索引

一 概述 索引(index)是帮助MysQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c; 这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c;这样就可以在这些数据结构上实现高级查找算法&…

Excel 记录单 快速录入数据

一. 调出记录单 ⏹记录单功能默认是隐藏的&#xff0c;通过如下如图所示的方式&#xff0c;将记录单功能显示出来。 二. 录入数据 ⏹先在表格中录入一行数据&#xff0c;给记录单一个参考 ⏹将光标至于表格右上角&#xff0c;然后点击记录单按钮&#xff0c;调出记录单 然后点…

[目标检测] OCR: 文字检测、文字识别、text spotter

概述 OCR技术存在两个步骤&#xff1a;文字检测和文字识别&#xff0c;而end-to-end完成这两个步骤的方法就是text spotter。 文字检测数据集摘要 daaset语言体量特色MTWI中英文20k源于网络图像&#xff0c;主要由合成图像&#xff0c;产品描述&#xff0c;网络广告(淘宝)MS…

Kali系统开启SSH服务结合内网穿透工具实现无公网IP远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 本文主要介绍如何在Kali系统编辑SSH配置文件并结合cpolar内网穿透软件&#xff0c;实现公网环境ssh远程连接本地kali系统。 1. 启…

Java特性之设计模式【外观模式】

一、外观模式 概述 外观模式&#xff08;Facade Pattern&#xff09;隐藏系统的复杂性&#xff0c;并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式&#xff0c;它向现有的系统添加一个接口&#xff0c;来隐藏系统的复杂性 这种模式涉及到一…

漏洞挖掘 SSRF 一次很菜的SSRF低危小通杀

前言 一转眼貌似很长时间都没更新博客了&#xff0c;甚至连标题的大小和格式都有点忘了&#xff0c;今后应该尽量保持每周更新一次&#xff0c;主要是平常上课太忙了&#xff0c;在学校还总是不定时会刷新一些烂事&#xff0c;就耽误了很多时间。这篇文章用于记载我最近的一次…

PixArt-β:Fast and controllable image generation with latent consistency models

PixArt α to Σ: All about Efficient Diffusion Models - 知乎前言自年初Sora和Stable Diffusion 3推出以来&#xff0c;笔者就开始关注基于Diffusion Transformer的工作。在我的往期文章《 Diffusion Transformer Family&#xff1a;关于Sora和Stable Diffusion 3你需要知道…