我与Unity一起工作。
我的问题是有时我不确定如何组织文件夹中的脚本和场景中的GameObjects。 (游戏对象是您放置脚本的基本空间对象,场景是要在运行时加载的所有游戏对象的空间)。
我主要遇到以下问题:
“是否要根据gameObject的类型创建文件夹,然后添加与这些gameObject相关的所有脚本?”
例如:
Cameras
↳(CameraActivate, CameraFollow, CameraShakeOnReplay)
还是“我是否要基于技术类型创建文件夹,然后添加与该技术相关的所有脚本?”
Replay
↳(ReplayTimeline, ReplayControl, ReplayShakeCamera)
这种事情有规则吗?
答案 0 :(得分:3)
简单的答案是:不,没有规则。
在这里您可以很好地解释文件夹结构:Is there a standard/recommended directory structure for Unity projects?
关于场景层次,我通常使用的基础是:
Cameras
├── ...
UI
├── ...
Managers
├── ...
Scenery
├── Static
│ └── ...
└── Non-static
└── ...
但这确实取决于项目。
在Unity博客中查看有关如何优化层次结构的帖子:Spotlight Team Best Practices: Optimizing the Hierarchy。组织场景时,应遵循一些良好的做法:
层次结构指南
如果每帧都有东西移动, 确保所有孩子都关心位置。仅渲染,物理, 音频或类似的核心系统应该在那里。
动态时 如果不需要成为子对象,则在运行时创建游戏对象 出于上述原因,生成器的根源是 现场。
您可以轻松注册生成的所有内容并沿 使用OnEnable和OnDisable生成器的ActiveInHeirarchy状态。
尝试对移动的变换进行分组,以使您大约有50个左右 每个根的GameObjects。这使基础系统组可以 将每个作业转换为相当理想的工作量 线。线程开销占支配地位的人很少。没有那么多 您正在等待线程执行。
答案 1 :(得分:-1)
是的,通常您创建一个Scripts文件夹并将所有代码文件放入其中。对于游戏对象,您可能会考虑使用预制文件夹(查找预制)