新闻资讯

3DCAT实时渲染云平台

让任意设备随时随地访问您的3D应用

几种将将虚幻引擎内容流送到多个平台的推流方案比较
将虚幻引擎内容流送到多个平台,比较 HTML5、WebGL 和像素流送、Raystreaming。 简介 在开发联网用户体验时,如何共享内容始终影响着协作、生产和发布中的关键决策。假如用户在消费并与共享内容进行交互时会使用个人电脑、平板电脑、智能手机等各类设备,那么就会面临一个关键问题:如何向这些硬件性能各异的平台发布内容。 常见的办法是,首先确定目标受众可能使用的性能最低的平台,然后确定受众能够接受的质量级别,最后以此为基准开发内容。然而,这种方法的弊端是会普遍降低所有最终用户的体验。 而且在这类部署中,负责为最终用户显示实时内容的设备同时还需下载相关的数据和代码,并将结果渲染到屏幕上。将数据下载到设备中容易产生多种问题,比如为了减小下载文件的尺寸或者加快下载速度,有时不得不牺牲一些画面质量。 本文比较了多种可用方案,对允许以像素流送方式共享 虚幻引擎体验的方案和工具进行了对比,旨在确保用户在使用基于虚幻引擎的非游戏类应用时,能够获得最高的画面质量和最佳体验。 发布内容时面临的挑战 我们已跨越信息时代,迈入了体验时代;在这个时代中,那些拥有高质量画面、创意十足、并能提供沉浸式体验的内容最容易获得消费者的青睐。这类内容越来越多地开始加入交互式体验,并且引入了 3D 模型以及增强现实或混合现实相关的内容。为了尽可能触及到更多的消费者,开发人员需要让这些内容能在不同的平台上分享,包括手机、平板电脑、个人电脑以及交互式屏幕。 在一些基于 WebGL或HTML5技术的传统或现代解决方案中,显示内容的真实程度和交互体验取决于消费者的设备性能,特别是该设备的硬件性能、显示机制和操作系统。这就意味着如果要让内容尽可能地触及到更多用户,就要以性能最低的设备为基准开发应用程序,并在所有其它平台上共享该应用,或者针对各个平台开发出多个版本的应用程序,以便满足不同平台用户的需求。 在创建流送解决方案时,开发人员面临的一大挑战是如何通过多个通信渠道交付内容,并且无论最终用户使用哪种设备,都能保证画面的真实感以及交互性,并忠实还原品牌的外观和感受。要实现这一目标,就需要将共享应用程序本身与运行它的高端硬件分离开来,让用户的显示设备只负责显示画面。 用户体验和性能因素 在为各类用户设备开发共享应用程序时,需要考虑到多种因素,例如用户体验及其背后的驱动技术。 (1)交互因素 在成功的部署方案中,用户在浏览器中输入后,服务器必须在规定的时间内给出反馈,否则用户就无法获得流畅的体验。这包括内容在展示前的等待时间。一般来说,非游戏类内容的用户会比那些体验快节奏游戏的玩家更有耐心。例如,在使用车辆配置器时,用户通常不介意一到两秒的操作延迟,也不介意为了看到最终渲染效果而等上10秒钟。 (2)播放速度因素 内容本身可能需要针对实时性能进行优化。首先,你需要界定这些应用程序的受众可接受的播放速度范围。虽然让用户产生沉浸感的公认标准帧率为60FPS,但有些应用程序可能只需要5FPS,而其他应用程序则可能需要 90FPS。 (3)图像质量因素 用户体验到的画面质量和真实程度,通常取决于应用程序端的内容设置(包括实时播放相关因素)、编码质量和硬件的GPU性能。画面质量预期以及成本考量会影响商业用例的实现方式,从而确定该设置方案的最终输出效果。 (4)技术因素 主机和数据——从技术上说,分布式体验既可以从客户端运行,也可以从应用程序端运行。但为了避免受到客户端的质量瓶颈限制,同时避免向客户端传输数据时产生时间、存储和安全方面的问题,最理想的方式是从应用程序端进行流送。如果应用程序比较简单并且用户数量有限,那么从单个可访问工作站进行流送通常就足够了。如果应用程序拥有大量用户,并且每个用户都能完全控制一个唯一版本的应用程序,云解决方案就能提高内容的可用性和可延展性。此外,如果某个应用程序十分复杂,并且用户数量很少,那么它同样适用云解决方案。如果采用此方案,开发人员必须根据存储成本谨慎决定内容的数据大小。 (5)用户负载因素 用户数量和应用程序的复杂程度将决定单个托管实例能够发送哪些内容,以及需要何种负载平衡来响应并发用户。一个拥有高真实度和完全交互式体验的车辆配置器,可能需要一万个拥有相同设置的实例。所需服务器的数量取决于首次交互发生时所需的速度,其往往是一项关键因素。 (6)流送带宽因素 如果目标用户使用某个特定平台,比如移动设备,那么你可能就需要准备好大小不同的视频流送内容,以保证流送内容不会超出该平台的最大带宽限制。 (7)更新因素 如何部署更新并修复错误?是替换整个应用程序,还是想办法实时更新内容?你还需要考虑如何在大量实例上大规模更新内容。 (8)安全性因素 使用用例首先会受到主机和客户端之间的访问情况和安全性因素的影响。如果系统要求对设计审查中的保密数据进行分享和探讨,或者必须在一定时间范围内部署新信息并且要稍后才能访问,那么就有必要在网络或访问站点上实施安全措施。 (9)指标因素 如果用户行为和场景统计数据属于关键绩效指标,那么你就需要对需要跟踪和保存到分析软件的事件进行定义、激活和关联。 不同发布方案之间的比较 一、WebGL WebGL 是一种基于JavaScript的API接口,它能渲染交互式2D和3D图形,并在网页浏览器中显示结果,用户无需下载任何应用程序或插件就能访问内容。WebGL 由Khronos Group——一个专注于创建免费开放标准的非盈利性组织设计和维护。 WebGL基于OpenGL ES(OpenGL 的衍生版本,专用于嵌入式系统)实现,OpenGL专为智能手机、平板电脑、视频游戏主机和掌上电脑等嵌入式系统设计。WebGL通过HTML5的Canvas元素工作,该元素可用于在网站页面上绘制图形。 WebGL支持基于 GPU 加速的物理模拟、图像处理和效果。 WebGL的部署内容包含两部分: 由JavaScript编写的控制代码 由OpenGL ES着色器语言(OpenGL ES SL)编写的着色器代码 按照其实现方式,WebGL 在部署前不需要编译。 WebGL的局限性 WebGL作为一款广泛使用的内容发布工具,它的主要局限在于内容的创建和发送上。内容必须使用 OpenGL ES SL着色器语言生成,而这种语言目前只能用于在网站上部署的交互式应用程序。如果要部署基于虚幻引擎这类实时引擎的内容,内容和交互元素就必须符合WebGL的框架。 此外,WebGL的显示效果完全依赖于客户端浏览器的功能以及客户端本身的硬件性能;图像质量则取决于浏览器的显示能力。数据必须下载到客户端中,而下载时间决定了用户必须等待一段时间才能开始体验。如果用户的体验内容十分复杂并且包含大量数据,那么客户端还必须保证具有足够的数据储存空间。 如果数据十分敏感或者需要保密,那么还需要在客户端使用额外措施以保证数据安全。 WebGL 部署中的数据流 如果WebGL内容需要与其他途径生成的内容混合使用,那么WebGL的画面质量将成为用户体验的界定标准。如果考虑到其它一些平台,则系统必须至少维持两套数据、着色器模型和创意设置,以便用于两种不同的终端通道。 关于指标,可以通过网站的常用通道收集登录和会话时间数据。 尽管有其局限性,但WebGL作为一种易于部署的方案,十分适合那些数据量小、安全要求低以及画质要求不高的用户体验。 二、HTML5 HTML5是 HTML(网页开发标记语言)的最新版本。在HTML5内部提供了多种解决方案,它们允许开发人员使用Canvas元素构建3D体验,而不必使用WebGL,所有这些解决方案都需要开发人员对GPU编程有一定了解,并且需要他们知道如何打包数据以供客户端下载,从而导致用户在体验时遇到画质和操作功能方面的局限性。 HTML5 的局限性 在这类方案中,由于应用程序需要在客户端上运行,所以客户端必须在体验开始前下载整个数据集。下载速度和本地可用空间往往是这类方案中的关键因素,为了获得丰富的体验效果,客户端往往需要下载若干GB的数据,从而导致漫长的等待时间,并对储存空间提出严苛的要求,对于移动设备来说,这些障碍尤为明显。 与WebGL一样,这类方案要求系统维持两套数据标准,并且无法保证用户在查看原始内容和发布内容时,能够获得一致的用户体验。如果要更新和维护发布内容,必须完全替换它,这对于那些需要频繁更新的内容来说非常麻烦。此外,HTML5和WebGL拥有相同的安全性考量。 虚幻引擎内置了将项目发布到HTML5平台的工具。 虚幻引擎界面中的HTML5 选项 三、像素流送 Epi 认为,一个理想的跨平台交互式实时内容发送系统应该包括以下特性: 主机可以向客户端流送像素,同时客户端无需下载任何数据 1. 高端和低端用例共享一组数据设置; 2. 独立于平台的部署; 3. 所有平台和设备的质量都是确定性的; 4. 高真实度和高质量; 5. 能够展示虚幻引擎的所有特性; 6. 简单明了,易于维护和更新; 7. 体验刚开始就能快速访问内容; 8. 在部署前后和部署期间保护数据和设置的安全; 9. 能为不同用例提供各种潜在配置; 10. 具备可延展性;可以通过单台服务器或云部署; 11. 能够捕获用户和会话的数据指标; 像素流送以插件形式集成在虚幻引擎中。插件会对主机服务器的图形流送信息进行编码,然后通过WebRTC协议将其发送给位于接收端的浏览器和设备。事实上,通过在高性能主机系统上运行虚幻引擎,用户能在所有终端设备上享受到与主机相同的画质,并且能体验到所有的虚幻引擎功能。 由于数据保存在主机上,并且只有像素被流送到查看设备上,所以诸如像素流送这类流送解决方案本质上要比客户端下载方案更快速、更安全。此外,用户会话数据可以在 UE4 中捕获以满足任何指标需求。 位于启动器界面中的像素流送插件 WebRTC 协议 WebRTC(网页实时通信)是一种通过网页浏览器和移动应用程序进行实时通信的协议。该协议允许以直接链接的方式传输音频和视频,用户无需下载任何插件或应用程序。通信命令通过API接口提交。 要求 像素流送可以通过单台服务器运行,也可以通过允许动态扩展并提供足够硬件的GPU云环境运行。在这些情况中,关键之处是对所需规模进行分析,因为这直接关系到最终主机环境的成本以及用户体验的流畅程度。 借助WebRTC协议,像素流送插件可以在主机服务器上与网络中的服务器或客户端进行通信。最简单的方式就是通过本地IP地址和网络端口80、8124和8888访问本地主机。 像素流送的局限性 首先像素流官方提供的并不是产品,不能拿来直接使用;其次它只适用于UE4模型;再者它在实际中对于不同浏览器的兼容性不太好。而3DCAT 实时云渲染技术,不仅仅是支持3D引擎的模型,对于一些非3D引擎比如一些大型的家装软件、PS、BIM等也能支持。而且还有很多针对运营的负载均衡、调度等信息,更加成熟更加产品化,做到拿来即可使用,可支持软件部署也支持SDK对接。 四、Raystreaming Raystreaming 协议基于WebRTC开发的串流协议,可以将云端渲染结果实时推送到各种终端进行显示。 公有云部署 私有云部署 核心优势包括: (1)兼容多种引擎,如 UE4/U3D/Enscape/Twinmotion 等。 (2)⽀持实时渲染编码和推流。 (3)支持多种 XR 终端设备,如 Oculus、HTC、Pico 和 XIMMERSE 等。 (4)支持微信/小程序直接打开。 (5)支持多种浏览器,如 Chrome、Firefox、Safari 等。 (6)支持系统后台监控 XR 头显内容。 (7)根据资源消耗情况自动调节分辨率/码率,保证终端用户体验流畅。 (8)提供 JSSDK,支持网页和 UE 应用交互(双向)。 (9)最高支持4k@60fps,分辨率自动获取,码率、FPS等参数可调节。 (10)业界领先的调度功能: 可实现高至10000节点/单集群的调度能力; 支持Windows、Linux等多平台调度; 调度策略异常灵活,可对计算节点和任务设置各种属性、要求、约束等; 可通过浏览器来监控和管理后台。 云渲染架构介绍-Rayvision_Cloud 系统交互关系 (1)信令服务器 1)提供 web 访问页面; 2)提供 websocket 接口,应用运行服务器通过 websocket 登录应用; 3)用户端通过 websocket 登录后,可以通过信令服务器中转与应用服务器的会话信息。 (2)共享存储 用于存储应用程序,各节点通过只读方式读取存储服务器中的应用,不需要分发到节点机上运行。 (3)应用运行服务器 1)运行各种应用程序; 2)抓取在系统中运行的应用画面,并完成视频编码;获取应用的音频信息,并完成编码;获取用户端发送的操作信息,并发送到对应的应用程序; 3)WebRTC 功能。 本文《 几种将将虚幻引擎内容流送到多个平台的推流方案比较》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/share/post-id-12

2022-07-22

UE4打包IOS流程
在UE4打包苹果IOS之前我们需要先做几个工作。 1、登录MAC下载并且制作P12证书 如何在MAC下载证书网上教程一大堆,这里我就不做演示了,百度搜索“创建苹果p12证书”,最终生成一个如下样子的文件。 有了这个证书就保存好吧,不用每次都制作一次,一直可以通用着。 2、申请苹果开发者账号 呃.....花钱买吧,这个没办法。百度【苹果开发者账号怎么申请】即可,一年不便宜 99美元....如果贫穷限制了你的想象,那么教程就从这里戛然而止吧。 在做完了基本工作之后,我们的视角回到Window电脑上,首先打开开发者页面的 Apple Developer 登录窗口登录自己的开发者账号,其实也就是日常的苹果ID账号多开通了这个服务而已。 登录以后看到如下页面,如果说你的账号开通了开发者账号的权限,那么会看到的内容跟我是一致的。 接下来你看到如下页面的时候他需要你上传一个文件才可以创建,这时候怎么获得他需要的描述文件教程也很多 要在苹果电脑上操作以后在回到windows电脑就可以永久使用了,可以百度【IOS证书及描述文件申请】来成功在这里创建一个证书。 如果创建成功的话你会看到如下页面 下面我们给我们要开发的App给一个ID 点击Identifiers 继续点击+号添加ID 接下来添加你的测试设备,如果已经添加过了就可以忽略这一步,只需要添加一次就行了。 接下来安装一些东西我们都会用得到。 去下载一个iTunes并且安装,这样我们的电脑在UE4里面才会看到这个设备。 在下载个爱思助手,为了方便日常各种对苹果设备的使用,重点!我们要看自己设备的UDID! iTunes下载传送门 链接: https://pan.baidu.com/s/1hwpfiycLVvbuE-nbsfZOgw  提取码:8dhe  爱思助手下载传送门 链接: https://pan.baidu.com/s/1L0hGJ_F6Ys_JMXjkeC9cEQ  提取码:y97u  打开爱思助手就可以在这里看到设备的UDID 记得先安装iTunes! 复制UDID回去完成自己的设备添加! 补充说明下:创建的App ID和配置文件是可以用给多个App的不用每次都去创建所以具体情况看自己需求。 给这个配置赋予一个App ID,我们就选刚才新建的bilibili吧 接下来出现的这些一切皆打勾就行了~主要是你用于编译的设备和你用来测试的设备 给这个配置文件起个名字 下载该文件会得到一个bilibili.mobileprovision 准备工作做的差不多了,现在开始UE4的IOS打包测试吧!~ 总结一下,接下来我们主要需要的是 我们创建的那个P12证书和bilibili.mobileprovision这两个文件就够了,网上大多教程都是拿IPhonePackager生成这个生成那个,生了一大堆估计新手同学们一脸懵逼只能照猫画虎。 接下来的打包测试我使用的是UE4.27预览版,因为4.26存在一个SDK未更新导致成功打包后因为签名证书无法安装到苹果设备的问题。 开发移动端记得修改配置 打开项目设置-往下拉 在平面里面找到IOS 你们如果未做过IOS开发这里面肯定是没有东西的。 接下来,如果你以上操作全部是是在MAC完成的那么就可以直接开始打包了,如果不是,而使用的是Windows电脑接着往下看。 按照弹出窗口的提示 不断的输入自己MAC电脑的密码不断的按任意键下一步即可。(有些区域的密码它是不显示的,只要你输入的正确即可,不用担心以为是自己没有输上看不到任何信息) 完成了一切配置!我们开始最后一步,,,打包! 插上自己的苹果设备,如果你iTunes安装了 按照正常情况下你就可以通过这里直接打包并安装到设备上 。 打包运行刚开始可能会假死机状态一会 我们不要担心 一个字!等!。 第一次工程打包会很慢 要编译着色器,不过第二次之后就不会了,所以首次打包喝杯茶等一会吧~虽然IOS打包前的准备工作麻烦,但是后面就简单了每次只需要新生成一个 配置文件,如:bilibili.mobileprovision 即可,证书依然一直使用我们的P12证书,又或者说你如果只是为了测试,包名是什么不重要,那么继续使用这两个文件,注意UE4配置里面改名字就行 就是那个com.xxxx.[project]那个地方,名字对应上了,那么配置文件就是有效的。 本文《 UE4打包IOS流程》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.livenews/ue4-ios

2022-06-28

UE4中GPU崩溃或3D设备丢失问题解决方案
原因: 假如GPU在执行指令时花的时间过长,Windows就会认为显卡出现了崩溃,然后会重置驱动器,从而导致引擎关闭。 解决方法: 可以通过更改Windows注册表中的超时检测和恢复(TDR)时间,来增加Windows检测到GPU超时之前所需的时间。 你需要获取管理员权限才能在电脑上进行此类编辑。 要编辑TDR(加载示例项目之前),你需要: 使用 Windows启动菜单搜索栏,输入regedit启动 注册表编辑器。 找到以下路径 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers。 从列表中选择 TdrDelay,然后右键点击并选择 修改(Modify)。 该值以秒为单位。选择 十进制(Decimal),将 数值数据(Value data) 设置为 60,然后点击 确定(OK)。 如果电脑没有Tdrdelay文件 什么是TDR TDR (Timeout Detection and Recovery) 超时侦测与恢复。 操作系统在一定时间内没有收到显卡的响应,便会触发重置。 响应超时的默认时间是2秒 如果TdrDelay这个注册表项不存在,在GraphicsDrivers这一级下右键创建DWORD (32-bit) Value,名称为TdrDelay 然后重复上诉步奏 最后修改完毕侯重启电脑。 本文《 UE4中GPU崩溃或3D设备丢失问题解决方案》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/share/post-id-12

2022-06-28

UE4 Lightmass的设置
Lightmap为HDR,存有灯光方向信息。 UE4使用Lightmass对光照进行预计算,以节省动态光照计算的成本。Stationary light build完灯光后还有Shadowmap,如果有Stationary天光会有sky occlusion map(Bent normal信息)。材质,物体,灯光,后期都可以控制Lightmass。 Static Lighting Level Scale(静态光源等级缩放):这可用于确定在照明中计算多少细节,较小的比例将大大增加构建时间和细节。增加细节。 Indirect Lighting Quality(间接照明质量):设置越高,会导致构建时间大量增加,但解算器穿帮(噪点、斑点)变少。减少噪点 在经验上,我们为了构建时间和最后质量做权衡,我们让他们有一个固定的关系。 Num Indirect/Sky Lighting Bounces:影响场景中中的亮度 ndirect Lighting Smoothness(间接照明平滑度):影响场景中中的亮度 Evironment color/Environment intensity Diffuse Boost(漫反射增强):加 Diffuse Boost 的值是增加场景中间接光照亮度的有效方式 Use Ambient Occlusion(使用环境遮挡):使静态环境遮挡可以通过全局光照计算并内置到您的光照图中。 Direct Illumination Occlusion Fraction(直接照明遮挡率):多少AO应用于直接照明 Indirect Illumination Occlusion Fraction(间接照明遮挡率):多少AO应用于间接照 Occlusion Exponent(遮挡指数):指数越高,对比度越高 Fully Occluded Samples Fraction(完全遮挡样本比例):为了达到完全遮挡,必须遮挡的样本的比例。 Max Occlusion Distance(最大遮挡距离):一个对象对另一个对象造成遮挡的最大距离。 Visualize Material Diffuse(可视化材质漫反射):仅用导出到全局光照的材质漫反射覆盖法线直接和间接照明。这在验证导出的材质漫反射与实际漫反射匹配时非常有用。 Visualize Ambient Occlusion(可视化环境遮挡):仅用AO项覆盖法线直接和间接照明。这在调整环境遮挡设置时很有用,因为它隔离了遮挡项。 Indirect Illumination Occlusion Fraction(间接照明遮挡率):多少AO应用于间接照明 Compress Lightmaps(压缩):是否压缩lightmap 光源设置灯光 Indirect Lighting Saturation(间接照明饱和度) Shadow Exponent(阴影指数)控制阴影半影的衰减,或区域从完全光照到完全阴影的变化速度。 基本材质设置 材质的细节(Details) 面板下的基本节点(Base Node)的材质(Material)中进行调整的全局光照(Lightmass)设置。 Cast Shadow as Masked, Diffuse Boost Export Resolution Scale Lightmass portal Lightmass portal提高lightmap的品质 UE4 Light Scenarios Light Scenarios提供静态光变化的可能性 光照贴图需要注意以下问题: 不要有重叠的部分 不要超过0~1的UV空间 Flag-Mapping并不是最好的方式且经常导致光照贴图错误 尽量占满UV空间 如果模型很大而且复杂,最后分成数个物体,这样也能有助于裁剪等机制 尽量减小光照贴图分辨率以减少贴图尺寸 相互不接触的线之间要保持至少2像素的距离,以防止光照污染 相关推荐 UE4性能优化方法 UE4头发随动作运动而动制作 UE4卡通渲染实现方法 UE4材质节点大全 UE4怎么快速设置打包成安卓 UE4触控插件Ultimate Touch Components的使用 本文《 UE4 Lightmass的设置》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/news/ue4-lightmass

2022-06-07

更胜一筹!3DCAT比UE4和Unity官方推流更强大
UE4官方推流Pixel Streaming Pixel Streaming可以让用户通过网页访问其他主机上正在运行着的UE4项目,在UE4的4.22版本以上,集成了Pixel Streaming,启用这个插件,会将每一帧的结果用H.264视频格式编码,与音频一同打包进媒体流,通过WebRTC协议传输到网页实现交互。大幅降低了 实时渲染的门槛,有电脑设备就可以带来入门级别的云渲染,但是用来商用还有很遥远的路途,根据官方示意图如下: Unity3D官方推流工具 Unity 收购了 Furioos 云视频流服务后,借助其云渲染服务,用户可以将实时3D应用传输到任何可以连接到网络的设备上。可以被应用于建筑、施工、工业产品设计、房地产、市场与广告行业,提供云存储空间和开发SDK给用户。 用户只需拖放包含应用程序的ZIP文件,就可以完成上传。且用户上传并发布的项目,可生成一个 URL,通过这个链接,任何人都可以来访问该项目。客户端支持 Chrome / Firefox / Safari/微信等主流浏览器。 3DCAT比他们的优势在哪里? 首先,3DCAT不会限制任何的访问引擎,超过支持10多种国内外三维制作引擎输出的标准可执行文件,不挑引擎是最大的优势。 另外,上面提到的2个引擎自带的云渲染插件,仅仅在测试阶段,还没有相当成熟的商用,而3DCAT已经用于多个商业生产项目中,并不断的壮大与完善功能,提供最稳定的实时云渲染服务。 Pixel Streaming和Unity官方云渲染配套的服务不是很完善,兼容性较差,没有大规模调度的系统,后台对应用的管理也是空白,3DCAT就不同了,所有模块均支持定制化开发,这是前两者不具备的,它们更像个人测试使用。 此外,3DCAT还有强大的公有云服务,遍布全国的边缘节点,拥有超3万台的节点,而不是本地化单机部署能够比拟的。 本文《 更胜一筹!3DCAT比UE4和Unity官方推流更强大》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/news/post-id-69

2022-04-11

UE4性能优化方法
帧率很低,或者有卡顿的现象,可能会有很多原因,这时候不要乱猜,比如是不是人物太多了或者渲染的东西太多了,这样猜意义是不大的,可能会浪费很多时间,但是总找不到点上,当然如果运气好也可以找到瓶颈,这个时候我们可以借助相应的工具来查找性能瓶颈。 首先要确定瓶颈是在CPU还是GPU,为了找到是谁,以非debug版本启动你的程序,并且在控制台上输入stat unit 命令,如果是在android平台上可以同时按下四个手指,打开控制台,输入stat unit,它会显示如下图所示: Frame时间是产生一帧花的总时间,由于逻辑线程(Game)和渲染线程(Draw)在一帧结束的时候需要同步,一帧花的时间经常跟其中的一个线程花的时间 相近。GPU时间测量了显卡渲染当前场景花的时间。由于 GPU时间是跟当前帧同步的,所以它跟一帧花的时间也基本差不多。 如果一帧花的时间跟逻辑线程的时间比较接近,那么瓶颈在逻辑线程,相反如果跟渲染线程的时间比较接近,那么瓶颈在渲染线程。如果两个时间 都不接近,但跟GPU时间比较接近,那么瓶颈在显卡上。 瓶颈在逻辑线程 可以通过性能分析来确定,通过~打开控制台里面输入”stat startfile”,让它运行一会至少10s来获取一个多帧的平均值。如果时长过长,那么生成的文件就会很大。通过stat stopfile来结束性能分析。一个后缀为ue4stats的文件会在工程的路径下产生,如果是android的话会在你安装的目录下面生成 一个profile目录。如果想要查看分析结果,必须把这个文件拷贝到pc上,可以使用adb pull {ue4stats 完整路径} {pc 保存路径}来拷贝文件到pc上。 这个时候你就可以使用UnrealFrontEnd(跟UE4Editor在同级目录)来打开分析的结果,或者在UE4Edtior里面通过window–>Developper ToolsàSession Frontend,打开后切换到Profiler面板,通过load来打开ue4stats文件。 当打开后你就可以自己来查看耗费时间的地方了 如果要查看卡顿,可以在时间线上查看高峰的地方,通过选择Maximum而不是Average,这样它就会显示一些峰值,如下图所示。 GPU分析 如果是在PC平台上可以使用ProfileGPU命令或者使用快捷键Ctrl+Shift+, 一些常用的命令 stat unit Stat scenerendering stat engine 本文《 UE4性能优化方法》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/news/post-id-67

2022-03-30

UE4头发随动作运动而动制作
如何制作UE4人物头发动力系统 1.首先准备原来的头发和1个低面数的简模头发 2.把简模头发也绑定在原本的模型上,然后导出模型 3.到UE4导入模型 4.选择原本头发执行右键创建毛发系统5.选中低模头发右键执行 6.然后在window窗口把布料系统调出来 7.选中这个Assat激活上面那个笔刷就可以画权重了 8.白色部分代表可以动,黑色部分代表不动 9.画完取消勾选,把人物的头部物理系统加上 10.最后加上动作就可以运动起来了 总结:原本的头发可能有些过于多而且复杂,画遮罩不太还画,可以利用简模的头发然后画遮罩运用到原本头发上,一样可以达到好的效果. 本文《 UE4头发随动作运动而动制作》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/news/post-id-66

2022-03-29

UE4卡通渲染实现方法
什么是卡通渲染 使3D游戏看起来像是2d卡通动画。 比如这样: 卡通渲染的主要特征 就两个特征: 色块和描边 两个效果叠加起来,就是卡通渲染的效果了。 UE4中的卡通渲染效果 卡通渲染材质 色块的实现方式是,判断光照方向和角色法线之间的关系,根据点乘的结果,划分几个范围,涂上不同的颜色。这就造成了色块的效果。 如下是材质。要完成还要对光源进行设置。 选中第一个TextureSample,其贴图是这样的: 这个light,就是一张普通的黑白图,用PS制作的。 这个图,也可以被称为CLUT,在PS中,这个图长这个样子: 大小为1×256 下面那个TextureSample,是一个黑白的图,用来做高光。也是CLUT,在PS中长这个样子: 在卡通渲染中增加BaseColor 上面示例中,没有BaseColor,只有EmissiveColor,其实可以增加BaseColor。 也很简单,就是把diffuse贴图放上去了。 emissivecolor乘以了0.1,要不太像塑料了。specular和roughness都改成了0,也都是为了去除塑料的感觉。 此种卡通渲染的问题 效果要调整好,还是要花不少时间的。而且,如果要做卡通渲染,美术一开始就得做这样的设计,把写实的东西去掉,尽量用单色就可以了。 比如上面这个角色本来是一个很写实很精致的角色,硬套上卡通渲染,看起来怪怪的。 如果一开始没有做卡通渲染的设计,后来再改,那工作量就大了。因为每个角色的材质都要单独再改。 为了简化流程,有没有使用后处理材质来做卡通渲染的办法呢?如果那样就简单很多。其实是有的。 本文《 UE4卡通渲染实现方法》内容由 3DCAT实时渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/news/post-id-65

2022-03-29

UE4材质节点大全
一.基础常量 1.Constant(1+鼠标左键) 2.Constant2Vector(2+鼠标左键) 3.Constant3Vector(3+鼠标左键) 4.Constant4Vector(4+鼠标左键) 5.StaticBool 6.TextureSample 7.TestureObject 8.ParticleSubUV 用法 9.Time 10.TextureCoordinate 用法 11.VertexColor 二.基础变量(将常量提升为变量) 1.ScalarParameter 2.VectorParameter 3.TextureSmapleParameter2D 4.TextureSampleParameterSubUV 5.StaticSwitchParameter 6.Switch 三.运算节点 1.Add 2.Subtract 3.Multiply 4.Divide 5.Power 6.Desaturation 7.Sine 用法: 8.Cosine 9.ConstantBiasScale(无非是加了个1再乘以0.5) 10.LinearInterPolate 11.Switch 12.DepthFade 用法: 13.Fresnel 14.Dot 15.Abs 16.Clamp 四.高级输入常量 1.ParticleRelativeTime 用法 3.ParticleColor 用法: 3.DynamicParameter 用法: 4.SceneTexture:SceneColor 5.CameraVector 用法: 6.VertexNormalWS 五.函数节点 1.Input 2.VectorToRadialValue 用法: 3.ScaleUVsByCenter 4.SimpleGrassWind 5.RadialGradientExponential 6.Fresnel_Function

2022-03-17

MAYA制作的毛发系统如何导入虚幻引擎(UE4)
首先将Maya制作好的毛发选中: 勾选这个就可以了,动力学UE4就可以了,保持毛发的粗细 导入UE4前的准备工作: 在插件里:打开groom插件和niagara插件: 在项目设置里搜索如下: 导出的文件直接拖拽导入到UE4中,可以自行对好位置 选择毛发对应的模型。添加groom组件 打开毛发编辑,开启动力学,框2下的三个组是调整头发具体的效果的。 勾选红框的选项,可以让毛发落在皮肤上 右键毛发选择创建绑定 选择你的模型骨骼 将生成的绑定信息拖拽到右侧箭头位置。这样做表情之类的,毛发就会跟着皮肤一起动了。 参考链接视频:https://www.bilibili.com/video/BV1yC4y1s7xy?from=search&seid=3834296432546615545&spm_id_from=333.337.0.0 以上就是 MAYA制作的毛发系统如何导入虚幻引擎(UE4),3DCAT提供强大的图形实时渲染计算服务,平台配备弹性GPU资源集群,支持自动负载均衡和伸缩扩容,支持海量用户同时安全访问应用,让任意设备,随时随地访问在线三维应用。 3DCAT实时渲染云平台通过提供专业的技术服务,帮助用户实现相关产品及工艺降本增效。3DCAT实时渲染云平台已经和英伟达、平行云、Unity、Unreal Eengine等国内外知名企业达成合作伙伴关系。目前,3D实时渲染云平台已在工业仿真、智慧园区、医疗仿真、游戏试玩、汽车仿真、建筑工程等虚拟仿真和数字孪生相关应用领域提供专业的技术服务。

2022-03-11

业务咨询:400-8037-298