Unity(2022.3.38LTS) - 文件夹和常用函数入门

目录

A.简介

B. 文件夹结构

C.常用函数

D. 支持的资源类型


A.简介

此文是对unity文件夹,和一些awake(),Start(),Update()等一些方法的详细介绍

B. 文件夹结构

Assets:这是存放项目各种资源(如模型、材质、脚本、场景等)的主要文件夹。

Library:Unity 自动生成的库文件夹,包含项目导入资源的预处理数据和缓存。

Logs:存储 Unity 运行时产生的日志文件,用于排查问题和错误。

obj:包含中间编译文件和对象文件。

Packages:用于存放 Unity 项目所使用的包(Package)的相关信息和资源。

ProjectSettings:保存项目的各种设置,如输入设置、图形设置、物理设置等。

Temp:临时文件存储文件夹,可能包含临时生成的数据或缓存。

UserSettings:存储用户特定的设置,例如编辑器布局、窗口大小等。

.vsconfig:与 Visual Studio 相关的配置文件。

Assembly-CSharp.csproj:C# 项目文件,用于在 Visual Studio 中打开和管理 C# 代码。

One.sln:解决方案文件,用于在 Visual Studio 中打开整个项目的解决方案。

这些文件夹和文件在 Unity 项目的开发和运行中都有着特定的作用,共同构成了一个完整的 Unity 项目结构。

下面是Assets文件夹内:

Scenes(场景文件夹)
用于存放 Unity 场景文件(.unity)。

Scripts(脚本文件夹)
专门存放 C# 或其他编程语言编写的脚本文件,用于控制游戏逻辑和对象行为。

Prefabs(预制体文件夹)
预制体是可重复使用的游戏对象模板。将经常使用或需要统一管理的游戏对象制作成预制体存放在此。

Textures(纹理文件夹)
存储各种图像纹理资源,如图片文件。

Materials(材质文件夹)
包含用于渲染物体的材质文件。

Animations(动画文件夹)
存放动画剪辑(Animation Clip)等动画相关资源。

Audio(音频文件夹)
用于保存游戏中的声音和音乐文件。

Plugins(插件文件夹)
放置第三方插件或自定义的原生插件。

Editor(编辑器扩展文件夹)
其中的脚本仅在 Unity 编辑器中运行,用于自定义编辑器的功能和行为。

例如,在一个冒险游戏项目中:

  • Scenes 文件夹保存了不同的关卡场景,如 MainLevel.unity 和 BonusLevel.unity
  • Scripts 中有控制角色移动、与 NPC 交互等功能的脚本。
  • Textures 存放角色的皮肤、地图的背景等纹理。

编写的一些编辑器本身的一些功能脚本,要放在Editor文件夹内,插件要放在Plugins(插件文件夹)

通过合理组织和分类项目资源到不同的文件夹,可以提高项目的可维护性和开发效率。

C.常用函数

Awake 函数

  • 执行时机:在脚本实例被创建时立即调用,并且在整个游戏生命周期中只被调用一次,无论该脚本是否启用。
  • 用途:常用于对象的初始化操作,比如获取其他游戏对象的引用、初始化变量、设置一些全局的配置等。因为它在 Start 函数之前调用,所以适合进行一些不依赖于其他脚本初始化完成的操作。

Start 函数

  • 执行时机:在对象第一次启用脚本后的第一帧更新之前调用,仅在对象激活时调用一次。
  • 用途:通常用于进行依赖于其他脚本初始化完成后的设置,或者一些在游戏开始时需要执行的一次性操作。

Update 函数

  • 执行频率:每帧都会被调用(帧速率取决于设备性能和设置)。
  • 用途:用于实现游戏对象的实时逻辑更新,比如处理玩家输入、移动、动画播放等与游戏实时状态相关的操作。

FixedUpdate 函数

  • 执行频率:以固定的时间间隔调用,通常用于处理与物理相关的操作,因为物理模拟是基于固定的时间步长。
  • 用途:例如控制刚体的运动、施加力等物理行为,以获得更稳定和准确的物理效果。

LateUpdate 函数

  • 执行频率:在 Update 函数之后每一帧调用。
  • 用途:常用于跟随后处理的逻辑,比如摄像机跟随玩家的移动,确保在其他对象的位置和状态更新后再进行相关操作。

OnEnable 函数

  • 执行时机:当脚本组件被启用时调用。
  • 用途:可以在此进行一些需要在启用时执行的初始化或重置操作。

OnDisable 函数

  • 执行时机:当脚本组件被禁用时调用。
  • 用途:用于清理资源、停止某些正在进行的操作等。

OnDestroy 函数

  • 执行时机:当对象被销毁时调用。
  • 用途:进行资源释放、清理内存等最终的清理工作。

OnCollisionEnterOnCollisionStayOnCollisionExit 函数

  • 执行时机:分别在与其他碰撞体开始碰撞、持续碰撞、结束碰撞时调用。
  • 用途:处理碰撞相关的逻辑,比如造成伤害、触发事件等。

OnTriggerEnterOnTriggerStayOnTriggerExit 函数

  • 执行时机:分别在进入触发器、在触发器内停留、离开触发器时调用。
  • 用途:常用于实现特殊的交互区域,如触发剧情、加载新场景等。

OnGUI 函数

  • 用途:用于绘制用户界面(GUI)元素,如按钮、文本框、滑块等。在每一帧都会被多次调用以处理 GUI 渲染。

OnMouseDownOnMouseUpOnMouseEnterOnMouseExit 等鼠标相关函数

  • 用途:分别在鼠标按下、抬起、进入、离开游戏对象时触发,可用于实现与鼠标交互的特定逻辑。

OnBecameVisible 和 OnBecameInvisible 函数

  • 用途:当游戏对象在摄像机中变得可见或不可见时调用,可用于优化资源加载或执行特定的视觉效果。

OnAnimatorIK 函数

  • 用途:用于在动画播放过程中控制反向动力学(Inverse Kinematics,IK),以实现更自然的动画效果。

OnParticleCollision 函数

  • 用途:当粒子与其他碰撞体发生碰撞时调用,可用于处理粒子与环境的交互效果。

OnJointBreak 函数

  • 用途:当关节断开时触发,适用于处理与关节相关的物理事件。

D. 支持的资源类型

在 Unity 中,常见支持的图片、模型和音乐格式如下:

图片格式

  • PNG
  • JPEG
  • TGA
  • BMP

模型格式

  • FBX
  • OBJ
  • glTF

音乐格式

  • MP3
  • WAV
  • OGG

需要注意的是,虽然 Unity 支持这些格式,但在实际项目中,根据具体的需求和性能考虑,可能会更倾向于使用某些特定的格式。

例如,对于图片,如果需要透明效果,PNG 格式通常是较好的选择;对于音乐,MP3 格式在文件大小和兼容性方面表现较好,而 WAV 格式则在音质上更优。

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity 2022.3引入了一些新的导航功能,以帮助开发者更方便地为游戏添加导航系统。新版本中的导航系统改进了性能和功能,使其更加强大和灵活。 首先,Unity 2022.3引入了实时路径搜索功能。该功能可以根据场景中的物体位置和碰撞体等信息,在实时场景中进行路径搜索。这意味着开发者可以在游戏运行时动态计算角色或其他游戏实体的路径。这一功能对于实时策略游戏或动态变化的游戏环境非常有用。 其次,新版本的导航系统还改进了自动化的对话框生成功能。开发者可以通过简单的设置,自动生成适应场景的对话框来实现导航指示。这个功能可以大大减轻开发者的负担,并提高游戏中导航的质量。 此外,Unity 2022.3还提供了更多的导航算法选项。不同的游戏场景可能需要不同的导航算法来平衡效率和精度。新版本中的导航系统提供了多种算法选项,让开发者能够根据具体需求选择合适的算法。 最后,Unity 2022.3导航系统的改进还包括了对2D游戏的支持。早期的导航系统主要面向3D游戏,但新版本中加入了对2D游戏的导航支持。这使得开发者能够更方便地为2D游戏创建导航系统,为玩家提供更好的游戏体验。 总的来说,Unity 2022.3版本的导航系统带来了更多强大和灵活的功能,包括实时路径搜索、自动对话框生成、多种导航算法选项以及对2D游戏的支持。这些新功能使得开发者在为游戏添加导航系统时更加便捷,为玩家提供更好的游戏体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一然明月(全栈)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值