搜索 Unity

社区全明星:Code Monkey 带来的 Unity 技巧

2022年2月4日 类别 社区 | 5 分 阅读
Code Monkey Banner
Code Monkey Banner
涵盖的主题
分享

最近我们再次邀请 Code Monkey 参加了 @unitygames 推特上的 Dev Takeover 系列活动。他为大家解答了最为急迫的问题,并分享了一些实用的 Unity 小技巧。

@UnityCodeMonkey 不了解的小伙伴们,一定在某处看到过这只俏皮(且具备高技术力)的猴子头像吧。在他的 Unity 探索之路上,Code Monkey 希望用自己总结的最佳实践和捷径让大家的游戏开发更为轻松。在下方的必备小技巧中,你将学到简单的破坏效果、小地图、新输入系统和屏幕空间环境遮蔽(SSAO)的使用。

90 秒做出“破坏”效果 💥

如果你的游戏里会用到“Destroy”方法,一定要看看这条:

  • 选中你想破坏的模型,然后安装 ProBuilder。 
  • 打开 Edit > Preferences > ProBuilder,并启用 Experimental Features
  • 然后打开 Tools > ProBuilder > Experimental > Boolean Tool
  • 复制该对象,点击 ProBuilderize
  • 新建一个 Cube,点击 ProBuilderize。  
  • 拖入对象,摆好 Cube 后点击 Intersection 进行切割。
  • 如果对象会突然消失,试试点击 Center Pivot
  • 继续摆放和缩放 Cube,切出多块碎片。  
  • 将所有碎片放入一个预制件
  • 给每块碎片添加一个 RigidbodyMeshCollider,并启用 Convex
  • Bullet Collision(子弹碰撞)时,摧毁对象并实例化该 Pieces 预制件
  • 额外技巧:调用 Rigidbody.AddExplosionForce();

现在看看破坏的效果吧!

60 秒学会新输入系统 🕑

新的 Input System 第一眼看上去的确有点复杂,我们把它一步步拆开来看:

  • 首先,打开 Package Manager 安装软件包。
  • 然后,新建一个 Input Actions Asset(输入动作配置文件)。
  • 设置好 Action MapType
  • 设置好 Binding(键位绑定),以及监听按键的Input
  • 别忘了保存文件。
  • 添加 PlayerInput 组件
  • 导入刚刚创建的 Input Actions 配置文件
  • 选择方法(推荐使用 UnityEvents)。
  • 将方法绑定至 Action

Input Debugger 中还带有更多的控制选择。

使用 Lerp 做出渐进式动画 👈

如果对象运动起来非常生硬,你可以来看看这条简短的小技巧。

一分钟内做出一张小地图 🗺

你可以跟着下面的步骤来快速做出一张小地图:

  • 新建第二个摄像机
  • 将其放在上方,让镜头指向正下方。
  • 将视角设置为 Orthographic
  • 新建一张 Render Texture
  • 纹理拖到 Camera Output 字段。
  • 玩家/对象添加一张 Sprite,使其正面朝上。
  • Sprite 分配到 Minimap Layer
  • 将这个摄像机修改为只渲染 Minimap Layer
  • UI 上新建一张 Raw Image
  • 拖入 Render Texture

这样就做好了!

用兼容通用渲染管线(URP)的屏幕空间环境遮蔽(SSAO)改善游戏画面✨

你知道通用渲染管线(URP)也有环境光遮蔽吗?用该效果来给场景添加细微的阴影细节吧:

  • 选中你的 Render Pipeline Asset
  • 打开 Render
  • 选择 Add Renderer Feature > Screen Space Ambient Occlusion

调整组件数值,直到做出理想的画面。

更多意想不到的小技巧 #unitytips 🤯

以上只是 Dev Takeover 谈到的为数不多的几条 Unity 小技巧。若想了解更多,请一定要去看看 Code Monkey 的 YouTube 频道,有海量教学等你去发现。你也可以在 Twitter 上关注我们,获取每周一次的 #unitytips 和每月一次的 Dev Takeovers。

期待看到大家的创作!

2022年2月4日 类别 社区 | 5 分 阅读
涵盖的主题