ue4

UE4样条线上生成灯光(根据视角的远近改变灯光参数,类似模型LOD)

送分小仙女□ 提交于 2019-11-30 03:20:34
起因 :前不久 美术 提出一个需求,需要让 样条线 的上生成 点光源, 然后需要 相机的改变 ,使得样条线上的 灯光参数也改变 ,但有一个 最大距离 的灯光参数,和一个 最小距离 的参数,当小于这个最小距离则按照最小距离的参数设置,大于最大距离按照最大距离参数设置,并且需要在 Editor模式 下也能看见设置效果,要实现在Editor模式下也能看见,则UE4蓝图实现不了,必须使用C++调用UE4的 GEditor 这一个变量,此变量是全局变量,所以不用担心引用问题,部分代码为: 1 FLevelEditorViewportClient* Client = (FLevelEditorViewportClient*)GEditor->GetActiveViewport()->GetClient(); 2 if (Client) 3 { 4 FVector ViewLoction = Client->GetViewLocation(); // 编辑器相机世界位置 5 FVector ActorLoction = GetActorLocation(); // 自身Actor的世界位置 6 float Lenght = (ViewLoction - ActorLoction).Size(); // 该长度则为编辑器模式相机位置与自身Actor位置长度 7 OnEditorViewPos

UE4_WindField 战神风力场的实现 (0)_概述

回眸只為那壹抹淺笑 提交于 2019-11-30 00:25:25
由于最近工作中正在做这块的东西,希望借着写Blog的机会把工作的东西总结一下,另外很感激同事和吕总在实现过程中的帮助。 起因是需要在游戏中做动态的植被交互,比如踩踏以及半身高的植物走过会有拨开的效果等等,看了很多别的办法,但效果都并不是太好,正好 GDC上有战神分享的关于风场的实现,因此决定用这种方式来实现场景的交互。 目录: 0. UE4_WindField 战神风力场的实现 (0)_概述 1. UE4_WindField 战神风力场的实现 (1)_框架 2. UE4_WindField 战神风力场的实现 (2)_调试初步 3. UE4_WindField 战神风力场的实现 (3)_风力注入 4. UE4_WindField 战神风力场的实现 (4)_流体模拟 5. UE4_WindField 战神风力场的实现 (5)_创建UTextureRenterTarget3D纹理 参考: Real-Time Fluid Dynamics for Games Wind Simulation in 'God of War' Interactive Wind and Vegetation in ‘God of War’ GDC 2017:UE4 中的内容驱动的多通道渲染 (在视频后半部分) Fast Fluid Dynamics Simulation on the GPU- GPU Gem

UE4蓝图教程(1)

我怕爱的太早我们不能终老 提交于 2019-11-29 08:26:09
简述 Unreal Engine 4是一款游戏开发引擎, 能够开发从2D移动游戏到AAA级主机游戏的的所有产品。基于这款引擎开发的游戏有发方舟,生存进化,铁拳7和王国之心。 对于初学者来说,在虚幻引擎4中开发是非常简单的。使用蓝图可视化脚本系统,您可以创建完整的游戏,而无需编写一行代码!结合一个易于使用的界面,您可以快速地获得一个原型并运行。 注 : 博主水平有限,如有疑问,请参见 原英文教程 本教程的重点是帮助初学者入门。以下是本教程将介绍的要点: 1 安装引擎 2 导入资源 3 创建材质 4 使用蓝图创建具有基本功能的对象 学会这些,你将会创建一个旋转的转盘,并显示一个香蕉。 安装虚幻4引擎 虚幻引擎4使用Epic Games Launcher安装。转到虚幻引擎官网,点击右上角的“虚幻”按钮。 在下载启动程序之前,需要创建一个帐户。在您创建了一个帐户之后,下载您对应操作系统的启动程序 一旦你已经下载并安装启动程序,打开它。会出现下面的窗口: 输入你用来下载启动器的电子邮件和密码,然后点击登录。一旦登入,这个窗口就会出现 在左上角,点击Install Engine。启动程序将带你到一个屏幕,您可以选择要安装的组件。 注:引擎启动程序会不断更新引擎版本,因此你的引擎版本可能会略有不同。例如,由于我编写了本教程的第一稿,版本已经更新到了4.14.3!您至少需要4.14以上的版本

UE4蓝图教程(2)

谁都会走 提交于 2019-11-29 08:26:08
蓝图 蓝图是虚幻4中的可视化脚本系统,是一种快速开发游戏原型的方法。无需逐行编写代码,您可以直观的做所有事情:拖放节点,将它们的属性设置在UI中,并拖动连接线来连接。除了成为一个快速的原型开发工具之外,蓝图还使得非编程人员可以很快速地上手编写脚本。 注 : 博主水平有限,如有疑问,请参见 原英文教程 在本教程中,您将用蓝图: 1 设置一个从上向下看的摄像机 2 创建一个由玩家控制的具有基本动作actor 3 设置玩家输入 4 创建一个物品,当玩家碰到它时消失。 开始 下载 starter project 并解压它。打开项目文件夹并打开BananaCollector.uproject。 注意:如果你收到提示,说这个项目是用旧版本的虚幻4创建的,没关系(引擎经常更新)。您可以选择打开副本,也可以选择在合适的位置进行版本转换。 如果一切正常,你会看到下面的场景。这是玩家移动并收集物品的地方。 我已经将项目文件夹分类了以便于查找文件,正如您所看到的: 如果你愿意,你可以使用红色区域的按钮来显示或隐藏Content面板。 创建玩家 在内容浏览器中,找到Blueprints 文件夹。单击Add New按钮并选择Blueprint class。 因为你想让actor 能够接收到玩家的输入,所以Pawn 类是合适的。从弹出窗口中选择Pawn ,并将其命名为BP_Player。 注意

UE4蓝图教程(3)

空扰寡人 提交于 2019-11-29 08:26:05
简述 和现实世界一样,游戏中也包含各种各样的物体,每个物体都有自己的外表。在虚幻引擎中,材质定义了这些外部。它是什么颜色的?有多亮的?是透明的吗?这些都是在材质中定义的。 在虚幻引擎中,几乎所有的外表元素都使用了材质。你可以将材质应用于各种物体,例如网格,粒子和UI元素。 在本教程中,您将学习如何: 1 操作纹理改变它们的亮度和颜色 2 使用材质实例快速改变物体 3 使用动态材质实例改变物体颜色 在本教程中,您将使用材质和蓝图编辑器。如果您不熟悉它们,请阅读我们的入门教程和蓝图教程。 注 : 博主水平有限,如有疑问,请参见 原英文教程 开始 下载 starter project 并解压它。打开项目文件夹并打开BananaCollector.uproject。 注意:如果你收到提示,说这个项目是用旧版本的虚幻4创建的,没关系(引擎经常更新)。您可以选择打开副本,也可以选择在合适的位置进行版本转换。 你会看到一个地面上有一些香蕉。使用W、A、S和D键控制一个红色立方体。你可以通过移动来收集香蕉。 首先,你要改变香蕉材质的亮度。先导航到Materials文件夹,双击M_Banana在材质编辑器中打开它。 为了调整香蕉的亮度,你需要控制香蕉的纹理。 操作纹理 基本上,纹理就是图像,图像是像素的集合。在彩色图像中,像素的颜色由它的红色(R)、绿色(G)和蓝色(B)通道来决定。 下面是一个例子

UE4蓝图教程(4)

谁说胖子不能爱 提交于 2019-11-29 08:26:04
简述 在游戏中,开发人员使用图像和文字向玩家显示游戏信息,如血量或得分。这就是所说的用户界面(UI)。 在虚幻引擎4中你可以用Unreal Motion Graphics(UMG)创建UI。UMG允许您通过拖拽UI元素,例如拖拽按钮和文本标签快捷的构建UI。 注 : 博主水平有限,如有疑问,请参见 原英文教程 在本教程中,您将学习如何: 1,创建显示信息标签(HUD),显示计数和时间。 2,显示HUD 3,更新数和时间并显示到界面 注意,本教程中将会使用蓝图。如果你需要复习,看看我们的蓝图教程。 开始 下载 starter project 并解压它。转到项目文件夹打开GeometryCatcher.uproject.。 注意:如果你收到提示,说这个项目是用旧版本的虚幻4编辑器创建的,没关系(引擎经常更新)。 按下play后,会控制一个白色方块,并试图接住下落的多边形。你可以通过移动鼠标来平移白色方块。十秒钟后,这些多边形就会停止下落。 你要做的第一件事就是创建一个HUD ,用来显示两个信息: 1,计数,用来记录玩家收集了多少个多边形。 2,时间,显示当前用了多少秒,直到停止产生多边形。 要创建以上这些,您需要使用widgets。 关于Widgets Widgets是一个UI元素,它为用户界面提供了一些比较直观的功能。例如, 用户可以看到按钮widget,并且单击它。 译者注

UE4 Windows Audio Capture 重新编译

天大地大妈咪最大 提交于 2019-11-28 21:57:48
插件地址: https://github.com/kwstasg/WAC WAC(Windows Audio Capture)是用来捕获Windows系统正在播放的声音的插件。具体看GitHub 目前WAC的引擎支持版本是4.20.3,我的项目是4.22.3,所以要对它进行一次更新编译。 更新编译 1.将WAC放在项目路径下的plugins文件夹下 2.删除WAC目录下的Binaries和Intermediate文件夹 3.右键你的项目文件(*.uproject),选择Generate Visual Studio Project files 4.打开生成sln文件,并等待加载完毕 5.在解决方案资源管理器中找到你的项目,右键清理 6.找到AudioCaptureWorker.cpp 7.定位到第8行或CaptureWorker::FAudioCaptureWorker()方法 8.将其方法签名改为 CaptureWorker::FAudioCaptureWorker() : Thread(NULL), m_listener(16, WAVE_FORMAT_PCM, 4, 0), m_sink() 没错,只是改变了一下后面的顺序 9.在解决方案资源管理器中找到你的项目,右键生成 10.ALL DONE,开始工作。 来源: https://www.cnblogs.com

Rendering in UE4

非 Y 不嫁゛ 提交于 2019-11-28 12:59:50
Intro Thinking performance. Identify the target framerate, aim your approach on hitting that target framerate. Everything needs to be as efficient as possible Adjust pipelines to engine and hardware restrictions Try to offload parts to pre-calculations Use the engine’s pool of techniques to achieve quality at suitable cost What is rendering? CPU and GPU handle different parts of the rendering calculations They are interdependent and can bottleneck each other Know how to the load is distributed between the 2 Shading Techniques Deferred shading Compositing based using the G-Buffer Shading

探究光线追踪技术及UE4的实现

爷,独闯天下 提交于 2019-11-27 13:46:26
目录 一、光线追踪概述 1.1 光线追踪是什么 1.2 光线追踪的特点 1.3 光线追踪的历史 1.4 光线追踪的应用 二、光线追踪的原理 2.1 光线追踪的物理原理 2.2 光线追踪算法 2.3 RTX和DXR 2.3.1 RTX(NV) 2.3.2 DXR(Microsoft) 三、UE4的光线追踪 3.1 UE4光线追踪的开启 3.2 UE4光线追踪的特性 3.2.1 光线追踪的阴影 3.2.2 光线追踪的反射 3.2.3 光线追踪的透明 3.2.4 光线追踪的环境光遮蔽 3.2.5 光线追踪的全局光照 3.2.6 光线追踪的其它特性 3.3 UE4光线追踪的调试 3.4 UE4光线追踪的不足 四、UE的底层实现 五、总结 特别说明 参考文献 一、光线追踪概述 1.1 光线追踪是什么 与传统的扫描线或光栅化渲染方式不同, 光线追踪(Ray tracing) 是三维计算机图形学中的特殊渲染算法,跟踪从摄像机发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。 利用光线追踪技术渲染出的照片级画面。 与传统方法的扫描线技术相比,这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以当追求高质量的效果时经常使用这种方法。 在物理学中,光线追迹可以用来计算光束在介质中传播的情况。在介质中传播时,光束可能会被介质吸收