当前位置: 首页 > news >正文

Unity3D学习笔记(二)

一、Unity编辑器相关

1、 Unity特殊的专属文件夹

1) Editor:编辑器相关资源可以放到此文件中,包括图片、脚本等文件。
2)Editor Default Resources:配合Editor使用不会打包到包中
3)Plugins:存放第三方SDK、插件资源
4)StreamingAssets:Assets下根目录,不会压缩资源,属于只读

2、如何安全的在不同的工程间安全地迁移Asset数据

1) 将Assets和Library一起迁移
2)导出包Package
3)用Unity自带的Assets Server功能

3、Unity提供了几种光源分别是什么?

1) 平行光:Diretional Light
2) 点光源:Point Light
3) 聚光灯:Spot Light
4) 区域光源:Area Light

4、在物体碰撞整个过程中,有几个阶段

  1. OnCollisionEnter
  2. OnCollisionStay
  3. OnCollisionExit

5、获取、增加、删除组件的命令分别是什么?

获取 GetComponent
增加 AddComponent
删除 Destory

6、Unity中记录节点空间几何信息的组件名称及其父类名称?

Transform 父类为Component

7、Unity3d的物理引擎中,有几种施加力的方式

RigidBody.AddForce和RigidBody.AddForceAtPosition

8、物体自身旋转使用的函数和绕某点使用函数是什么?

transform.Rotate()和transform.RotateAround

9、Unity脚本从唤醒到销毁有着一套比较完整的生命周期,列出系统自带的几个重要方法

Awake–>Start–>Update–>FixedUpdate–>LateUpdate–>OnGUI–>Reset–>OnDisable–>OnDestroy

10、Unity中的碰撞器和触发器的区别?

碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。
当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数。
当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。
如果既要检测到物体的接触又不想让碰撞检测影响物体移动或要检测一个物件是否经过空间中的某个区域这时就可以用到触发器

11、物体发生碰撞的必要条件?

两个物体都必须带有碰撞器Collider,其中一个物体还必须带有Rigidbody刚体

12、简述四元数Quaternion作用,四元数对欧拉角的优点?

四元数表示旋转,相对欧拉角优点:
a. 能进行增量旋转
b. 避免万向锁
c. 给定方位的表达方式两种,互为负

13、CharacterController和RigidBody区别?

Rigidbody具有真实物理的特性;
CharacterController是受限的RigidBody,具有一定的物理效果但不是完全真实的

14、什么是协同程序?

在主线程运行时,同时开启另一端逻辑处理,协助当前程序的执行。换句话说,开启协程就是开启一个可以与程序并行的逻辑。可以用来控制运动、序列及对象行为。

update函数返回后将正常协程更新。协程是一个可以暂停执行(yield)直到给定的yieldinstruction达到完成状态的函数。

协程的不同用法
yield 在下一帧调用所有Update函数后,协程将继续;
yiled WaitForSeconds 在为帧调用的所有Update函数后,在指定的时间延迟后继续协程
yield WaitForFixedUpdate 在所有脚本上调用所有FixedUpdate后继续协程;
yield www 在www下载完成后继续
yield StartCoroutine 将协程链接起来,并会等待 MyFunc 协程先完成。

15、Unity3D的协程和C#线程之间区别是什么?

多线程程序同时运行多个线程,而在任一指定时刻只有一个协程在执行,并且这个正在运行的协同程序只在必要时才被挂起。Unity也给我们提供了StartCoroutine(协同程序)和LoadLevelAsync(异步加载关卡)后台加载场景的方法。 StartCoroutine称为协同程序,所谓协同,就是当你在StartCoroutine的函数体里处理一段代码时,利用Yield语句等待执行结果,这期间不影响主程序的继续执行,可以协同工作。

16、在编辑场景时GameObject设置为Static作用有何作用?

设置游戏对象为Static将会禁用网格队形对这些部分被静态物体挡住而不可见时。因此,在你的场景中的所有不会动的物体都应该标记为Static。

17、LocalPosition与Position的使用区别

LocalPosition:自身位置,相对于父级变换的位置;
Position:在世界坐标transform的位置

18、如何与服务器进行交互?

与服务器端交互方式几种,长连接模式(Socket)和短连接模式(http)

http://www.lryc.cn/news/532234.html

相关文章:

  • 个人毕业设计--基于HarmonyOS的旅行助手APP的设计与实现(挖坑)
  • 游戏引擎 Unity - Unity 打开项目、Unity Editor 添加简体中文语言包模块、Unity 项目设置为简体中文
  • python开发:爬虫示例——GET和POST请求处理
  • 开源数据分析工具 RapidMiner
  • Vue canvas画图画线例子,数据回显与隔离,点拖拽修改
  • Python实现CAN FD 通信(基于PCAN开发CAN FD测试工具)
  • LeetCode--347. 前 K 个高频元素/Golang中的堆(container/heap)
  • 关于大数据
  • 9-收纳的知识
  • 堆的实现——堆的应用(堆排序)
  • 机器学习6-全连接神经网络2
  • 基于 SpringBoot 的电影购票系统
  • C++SLT(三)——list
  • C++ Primer 算术运算符
  • 数据结构-堆和PriorityQueue
  • 【玩转 Postman 接口测试与开发2_017】第13章:在 Postman 中实现契约测试(Contract Testing)与 API 接口验证(下)
  • R语言 | 使用 ComplexHeatmap 绘制热图,分区并给对角线分区加黑边框
  • React图标库: 使用React Icons实现定制化图标效果
  • Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API
  • DeepSeek、哪吒和数据库:厚积薄发的力量
  • DDD - 微服务架构模型_领域驱动设计(DDD)分层架构 vs 整洁架构(洋葱架构) vs 六边形架构(端口-适配器架构)
  • 第 1 天:UE5 C++ 开发环境搭建,全流程指南
  • 【华为OD-E卷 - 109 磁盘容量排序 100分(python、java、c++、js、c)】
  • 【大数据技术】编写Python代码实现词频统计(python+hadoop+mapreduce+yarn)
  • 5-Scene层级关系
  • JVM执行流程与架构(对应不同版本JDK)
  • 本地部署 DeepSeek-R1:简单易上手,AI 随时可用!
  • 请求响应(接上篇)
  • 数组排序算法
  • 防火墙的安全策略