虚幻中的常用操作与开发技巧(持续更新)

server/2024/9/23 13:15:55/

文章目录

  • 虚幻中的常用操作与开发技巧(持续更新)
    • 常用操作
      • 2D资产的导入
      • TileMap放入到关卡中后颜色偏亮的解决办法
      • 测试摄像机晃动效果的方法
      • 在游戏暂停时执行完整的Tick操作
    • 开发技巧(自己的一些心得,可能有不对的地方,欢迎指正和沟通)

虚幻中的常用操作与开发技巧(持续更新)

常用操作

2D资产的导入

纹理(Texture) -> 右击 -> Sprite Actions -> Apply Paper2D Texture Settings,这样就能为2D资产自动应用正确的设置。

在这里插入图片描述
在这里插入图片描述

  1. Mip Gen Settings:Mip Map相当复杂,它们会在远离摄像机的时候使用Mip Map减少物体的细节。如果是在使用正交摄像机的项目中,例如2D游戏,所有物体都会与摄像机保持固定的距离,这意味着此时Mip Map派不上任何用场,只能浪费空间,需要手动关闭。
  2. Texture Group:2D Pixels(unfiltered)。通常情况下,纹理过滤会产生平滑的效果从而改善图片的整体外观,然而在2D游戏中,它会让像素图看起来更模糊。
  3. Compression Settings:当选项为UserInterface2D(RGBA)时会禁用纹理压缩,默认值为DXT,对于使用了高清纹理的传统3D美工来说,这种压缩非常有效,几乎不会导致质量缩水。但当纹理分辨率比较低时,例如2D游戏,被压缩后也不会变得太小;另一方面,因为像素比较少,所以压缩产生的任何缺陷都会变得更为明显,这是因为每个像素占整体的比重会比较大。
  4. Chroma Key TextureChroma Key Color:可以用来使纹理的背后区域变为透明,根据实际的纹理使用滴管进行调整。

TileMap放入到关卡中后颜色偏亮的解决办法

  1. 添加Post Process Volume到关卡中(如果没有的话)。
  2. 找到明细中的Post Process Volume Settings -> Infinite Extent(Unbound)选项并勾选。

在这里插入图片描述

  1. 找到明细中的Lens -> Exposure -> Min EV100Max EV100两个选项并勾选,同时将其值都设置为1即可。

测试摄像机晃动效果的方法

1.在场景中放置CameraShakeSourceActor

在这里插入图片描述

2.确保勾选RealtimeAllow Camera Shakes

在这里插入图片描述

3.选择自己创建好的摄像机晃动蓝图,并可以根据自身情况实时调整各类参数。

在这里插入图片描述

4.打开Camera Shake Previewer窗口,此时可以播放摄像机晃动效果,从而可以更好地进行体验。

在这里插入图片描述

在这里插入图片描述

在游戏暂停时执行完整的Tick操作

在这里插入图片描述

当游戏被暂停时,默认情况下,许多游戏逻辑都会停止执行,以节省计算资源并给用户一个清晰的暂停状态反馈。然而,在某些情况下,开发者可能希望在游戏暂停时仍然保持某些逻辑的执行,比如摄像机的平滑移动、某些动画的播放或者特定的后台任务。这个时候就需要勾选Should Perform Full Tick when Paused选项。

开发技巧(自己的一些心得,可能有不对的地方,欢迎指正和沟通)

  1. 可以将一些通用的功能提取成组件蓝图(Actor Component),比方说主角的拾取功能,一方面可以在其他项目中继续使用,另一方,功能进行拆分,逻辑更加清楚。
  2. 玩家控制器(Player Controller)中主要是用来配置玩家的按键行为,或者是玩家的生成和销毁。
  3. 游戏模式(Game Mode)中主要是用来配置游戏的胜利条件,也可以配置开始游戏、结束游戏的事件通知。

http://www.ppmy.cn/server/94115.html

相关文章

Vue 常用组件间通信方式

Vue 常用组件间通信方式 1. 父子组件通信 1.1 Props 父组件通过 props 向子组件传递数据&#xff0c;子组件通过 props 接收数据。 <!-- ParentComponent.vue --> <template><ChildComponent :message"parentMessage"></ChildComponent>…

校园选课助手【5】-解决Elasticsearch和MySQL同步

未优化前&#xff1a;课程检索库中的数据经过一次同步后固定不变&#xff0c;用户搜索到对应的课程后点击跳转到课程详情页面&#xff0c;进行选课 存在的问题&#xff1a; 用户使用不友好&#xff0c;搜索就是为了进行选课&#xff0c;应该返回对应课程的余量&#xff0c;如果…

用60行python代码制作一个扫雷

扫雷游戏&#xff08;Minesweeper&#xff09;是一个经典的逻辑游戏&#xff0c;玩家需要在一个包含隐藏地雷的网格中标记出所有地雷的位置&#xff0c;同时避免触发它们。下面&#xff0c;我将提供一个简单的Python扫雷游戏实现&#xff0c;并附带详细的教程。 第一步&#x…

VS Code C/C++ MSVC编译器

官方教程 通过快捷方式打开VS Code是编译不了的,需要对tasks.json修改(Tasks: Configure default build task) 先创建tasks.json 复制这段配置到tasks.json,记得修改VsDevCmd.bat的路径 {"version": "2.0.0","windows": {"options"…

[Day 42] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

自然語言處理模型訓練 自然語言處理&#xff08;NLP&#xff09;是人工智能的一个重要分支&#xff0c;旨在让计算机理解和生成人类语言。本文将深入探讨如何训练自然语言处理模型&#xff0c;特别是使用深度学习技术。我们将从数据准备开始&#xff0c;逐步介绍模型构建、训练…

vue+element 根据父容器动态设置table高度出滚动条

可以通过CSS样式来控制表格的高度&#xff0c;并使用JavaScript动态地设置这个高度。 HTML: <template><el-table:data"tableData":height"tableHeight"style"width: 100%"><!-- 列配置 --></el-table> </template&…

C#实现数据采集系统-系统优化服务封装

系统优化-服务封装 现在我们调用modbustcp和mqtt都直接在Program,所有加载和功能都混合在一起,比较难以维护 类似asp.net core项目的Program.cs代码如下,构建服务配置和启动 要实现的效果,Main方法中就是一个服务启动,只需要几行代码 分析代码 这里分成两部分,一…

6.key的层级结构

redis的key允许多个单词形成层级结构&#xff0c;多个单词之间用:隔开&#xff0c;格式如下&#xff1a; 项目名:业务名:类型:id 这个格式并非固定的&#xff0c;可以根据自己的需求来删除或添加词条。 例如&#xff1a; taobao:user:1 taobao:product:1 如果value是一个java对…