广州网站的设计公司,遵义市建设厅网站,wordpress 主题移植emlog,设计网络推广方案1 规范项目结构
上期中在导入一系列的商店资源包后#xff0c;Assets 目录已经变的混乱不堪
开发过程中#xff0c;随着资源不断更新#xff0c;遵循一定的项目结构和设计规范是非常必要的。这可以增加项目的可读性、维护性、扩展性以及提高团队协作效率
这里先做下简单的… 1 规范项目结构
上期中在导入一系列的商店资源包后Assets 目录已经变的混乱不堪
开发过程中随着资源不断更新遵循一定的项目结构和设计规范是非常必要的。这可以增加项目的可读性、维护性、扩展性以及提高团队协作效率
这里先做下简单的目录结构调整资源包放入 ArtRes 目录根据业务模块名称创建 Shelter 目录在该目录下创建 Scenes、Scripts 等目录分别存放对应的资源 2 场景搭建
1 创建场景并放置资源
在 Shelter/Scenes 下新建场景将 ArtRes/Pure Poly/Free Low Poly Nature Pack/Scenes/Demo_01 场景中的 Free_Forest 对象复制到业务场景中 在场景中观察到地形的 X 轴正方向与 Unity 中 X 轴正方向相反这里可以将地形的根对象沿 Y 轴旋转180度 拖入角色的预制体放置到地形入口处。考虑到模型需要增加刚体、血条等各种状态为了便于控制在 Hierarchy 中选中对象 右键 Create Empty Parent命名为 PlayerController 2 添加碰撞器
最终目标是控制角色在森林中行走但由于碳基生物的设定角色并不能无视石头、树木等障碍物。因此需要给角色和障碍物增加碰撞器
常见的碰撞器中符合人体形状的非胶囊碰撞器莫属添加胶囊碰撞器后调整尺寸以贴合模型 障碍物在资源包导入时已经添加了网格碰撞器 可以看到 Mesh Collider 中 勾选了 Convex 属性
启用该选项后Unity 会将网格模型简化为一个凸包Convex Hull。凸包是一个包含所有网格顶点的最小凸多面体。凸形状的碰撞检测计算比非凸形状的计算要快得多所以可以提高游戏的性能
但凸包可能无法完全匹配原始网格模型的形状特别是对于那些有凹面的模型凸包可能会大大简化它们的形状。如果需要更精确的碰撞检测应该将 Convex 属性设置为 false
当 Convex 属性被设置为 true 时Mesh Collider 可以与其他类型的碰撞器包括其他的 Mesh Collider进行碰撞检测。但是当 Convex 属性被设置为 false 时Mesh Collider 只能与简单的碰撞器如 Box Collider、Sphere Collider 等进行碰撞检测不能与其他的 Mesh Collider 进行碰撞检测
当两个对象碰撞时可能会发生许多不同的脚本事件具体取决于碰撞对象的刚体配置
以下图表详细列出了根据附加到对象的组件来调用的事件函数。某些组合仅会使两个对象之中的一个对象受到碰撞的影响但一般规则是物理特性不会应用于没有附加刚体组件的对象 因此为了能够让角色和障碍物发生碰撞还需要为其添加刚体 3 调整摄像机位置
简单调整下摄像机的位置和角度让角色保持在视野中心