资讯
展览资讯 大型展会 灯光节 大型盛典 赛事 中标捷报 产品快讯 热门话题 艺术节 活动 演出 新闻 数艺报道 俱乐部签约
观点
大咖专访 观点洞察 书籍推荐 吐槽 设计观点 企业访谈 问答 趋势创新 论文 职场方法 薪资报价 数艺专访
幕后
幕后故事 团队访谈 经验分享 解密 评测 数艺访谈
干货
设计方案 策划方案 素材资源 教程 文案资源 PPT下载 入门宝典 作品合集 产品手册 电子书 项目对接
  • 0
  • 0
  • 0

分享

拍照、修图一条龙,Photo Mode让游戏内摄影乐趣加倍

原创 2021-09-16

随着游戏向精品化发展,无论是角色建模,还是游戏内场景,都有了质的飞跃,这也衍生出了一批虚拟摄影(又称游戏内摄影)爱好者。玩家将游戏中精美、有趣的场景以照片的形式保存下来,与好友分享自己最爱的游戏时刻,这种新奇有趣的方式逐渐在各类游戏中大受欢迎。


玩家分享自己的虚拟摄影作品也有益于游戏本身:这些照片可以提高玩家的参与度与社区活跃度,进而扩大游戏的影响力。



因此,Unity 发布了 Photo Mode 演示包,帮助开发者们学习怎样在游戏中加入拍照功能,该资源包目前支持使用通用渲染管线(URP)的 PC 和主机游戏。演示包中包含了多种相机镜头、图像调整和 UI 操作,允许玩家在自定义的拍照模式中调整游戏环境、截取完美的屏幕截图。


Photo Mode 演示包:

https://plastichub.unity.cn/unity-tech-cn/PhotoMode


下载 Photo Mode 资源包后,玩家便能在游戏中设置相机位置、景深、镜头光晕、覆盖贴纸、滤镜等照片选项。模块化的 Photo Mode 还支持灵活地改变界面外观和按键行为,甚至支持创建自定义效果。



Photo Mode 在设计时考虑到了与各平台原生截图功能的兼容,附带的 Hide UI 选项可在视图中隐藏 UI 来方便保存照片,照片在截取后可通过设备的分享或截图按钮进行保存。


本演示包的运作由几种功能和系统支撑,这里快速介绍下各系统的使用方式:


  UI 菜单系统



大多数 Photo Mode 都包含一个滚动条和输入框,选项依靠 Unity Event 调用对应的方法,在运行期间调整数值,这些参数可以是相应的 Cinemachine、Volume 或 UI 设置。所有方法皆可在 PhotoMode.cs 脚本中找到。滚动条的最小和最大值可在脚本组件中设定,本演示包包含了滚动文本等多种自定义 UI,及一个 Photo Mode 的贴纸摆放系统。 


  Input System


本演示包还使用了 Input System,支持快速修改 Photo Mode 的控制键位,防止与原项目的输入键位冲突,还支持在键盘与游戏手柄两种控制方法之间切换。鉴于在 Photo Mode 中使用 Player Input 组件可能会使其与游戏已有的 Input System 发生冲突,我们借助了 Input System API 来新建了独特的输入操作引用。这些引用具体是在 PhotoModeInputs.cs 脚本中实现的,让用户能够在 Photo Mode 中进行输入操作,而不会影响到 Player Input 组件。我们还建立了自己的事件系统,用以在 Photo Mode 下覆盖原项目的事件系统。 


  Cinemachine



出于模块化的考虑,我们为 Photo Mode 创建了单独的虚拟摄像机,使其能在不影响原摄像机的前提下完成镜头的环绕或升降。要想运行这个单独的摄像机,我们必须要在场景中创建一个 Cinemachine Brain 组件,由组件自动完成摄像机的搜寻,及 PhotoMode.cs 脚本与摄像机的关联。 


  Volumes(体积)组件


Focus Distance(焦距)、Aperture(光圈)、Exposure(曝光)、Contrast(对比度)和 Saturation(色饱和度)等镜头设置由 Photo Mode 的全局 Volume 组件管理。Volume 组件可调整参数来匹配目标工程原来的后期处理设置。 


  Shader Graph


Photo Mode 中的多种滤镜效果皆使用 Shader Graph 制作而来,并借助 URP 的 Render Pass 功能进行实际应用。Shader Graph 支持实现和定制新的渲染通道、扩展渲染管线。在 Photo Mode 中,我们特地使用了一个 Blit 方法将 Shader Graph 着色器应用到纹理中,实现一种全屏滤镜的效果。 


  Custom Sticker System(自定义贴纸系统)



Photo Mode 的贴纸系统借助 EventSystem 的 Navigation 参数来创建一个位置坐标系,用于修改贴纸位置。放置贴纸的光标可显示贴纸的位置、角度、比例和图案,作为粘贴的信息参考。一旦贴纸放置完成的行为被触发,PhotoModeStickerController.cs 脚本就会从当前的贴纸样本库中选中贴纸,再应用给定的变换值与图片设定,并将其设为“可见”。



欢迎下载 Photo Mode 演示包,期待大家的“摄影”作品。


Photo Mode 演示包:

https://plastichub.unity.cn/unity-tech-cn/PhotoMode


长按关注

Unity 官方微信

第一时间了解Unity引擎动向,学习最新开发技巧

阅读原文

* 文章为作者独立观点,不代表数艺网立场转载须知

本文内容由数艺网收录采集自微信公众号Unity官方平台 ,并经数艺网进行了排版优化。转载此文章请在文章开头和结尾标注“作者”、“来源:数艺网” 并附上本页链接: 如您不希望被数艺网所收录,感觉到侵犯到了您的权益,请及时告知数艺网,我们表示诚挚的歉意,并及时处理或删除。

数字媒体艺术 新媒体艺术 科技艺术 作品分享 科技前沿

17563 举报
  0
登录| 注册 后参与评论