unreal4 静态网格物体_unreal 网格体 - CSDN
  • UE4官方视频学习笔记——LOD与合并静态网格体 大纲如下: ​​ UE4LOD自动创建工具 LOD自动创建工具 选择一个静态网格体,打开静态网格编辑器,并在细节面板中找到LOD Settings分组: 该分组中有一个属性“LOD ...

    UE4官方视频学习笔记——LOD与合并静态网格体

    大纲如下:
    ​​LOD与合并静态网格体

    UE4LOD自动创建工具

    LOD自动创建工具

    LOD自动创建工具
    选择一个静态网格体,打开静态网格编辑器,并在细节面板中找到LOD Settings分组:
    静态网格编辑器
    该分组中有一个属性“LOD Group”:
    LOD Group
    该属性中预存了许多类型的分组,比如Foliage、HighDetail等,当你选择其中一个的时候,UE4将会读取BaseEngine.ini中的配置数据,并按照预设好的配置为该静态网格体生成指定规格的LOD数据:
    配置数据

    手动修改LOD参数

    假如我们应用了LargeProp的分组,那他将会产生4个级别的LOD,但是我们可以发现在细节面板上只有一个LOD0,那怎样切换呢?看这里:LOD选择器
    在LOD选择器中选择任意一个LOD,即可在细节面板中显示出当前选择的LOD的参数配置,比如融合阈值,它表示着当两个顶点(取决于你选择的内容)小于阈值时将会自动合并,从而减少渲染分支。
    Screen Size
    上图表示当屏幕大小为多少倍时将会启用当前的LOD。此处是默认值,可手动修改定制。
    回到UE4中,点击一个指定的静态网格体,我们可以在细节面板中找到LOD,并将“Forced Lod Model”设置为指定值,这样就可以强制渲染该网格体为指定的LOD等级而不受到屏幕距离的影响。
    强制渲染指定等级的LOD

    Actor融合工具

    大纲
    如果从视觉上看起来许多网格体具有类似的视觉效果,那我们就可以通过合并Actor的方式来实现合并贴图和材质,尽管渲染的面数不会减少,但是却可以减少大量的材质、纹理计算,从而节省了大量的渲染算力,优化了性能。

    融合工具

    融合Actor时,选中所有需要融合的网格体,然后在菜单栏中找到窗口→开发者工具→合并Actor
    融合工具
    现在来介绍一下这些选项的作用:
    Mesh Setting
    Pivot Point at Zero:它会保证合并后的枢纽点位于0点,从而方便操作
    Merge Physics Data: 合并物理数据
    Bake Vertex Data to Mesh:它会合并顶点动画等Mesh数据,保证顶点动画等信息在合并后能正常使用

    下面是关于LOD的选项:
    LOD选项
    LODSelection Type: 建议使用第二个,即当前光标所在的那个
    此时下面会出现“Specific LOD”,这样所有的网格体就会使用同一个LOD,尽量写0因为不确定是否所有的网格体都具有相同的LOD设置,只有LOD0是所有网格体都共同拥有的。

    在融合时为了避免融合出错,我们可以选中要融合的网格体之后按Ctrl+C,此时这些网格体将会被以代码的形式储存下来:
    网格体
    一旦出错只需要复制这些代码然后粘贴在世界大纲视图中即可

    分层细节层级工具(Hierarchical Level of Detail Tool,HLOD)

    HLOD
    首先确保功能开启:
    窗口→世界设置→LOD System
    选项开启
    将Enable勾上,然后打开HLOD
    HLOD
    然后生成集群:
    生成集群
    这一步大体工作如下:在世界大体将这些网格体分组,然后将组内物体合并。网格体细节不变,但是将会赋予这几个分组(比如两三个)两三个纹理和材质,这样当摄像机远离的时候将极大的降低渲染相同对象的消耗
    生成结束之后我们点击生成代理网格体:
    生成代理网格体
    这一步相当于融合Actor

    HLOD的优点在于你可以随时撤销和删除生成的群集或融合后的网格体,引擎在后台为你记录了所有的操作,你可以随时重新推倒再来一遍。

    展开全文
  • 之前的版本直接右键都有这个选项的,新版Unreal没有了,原因是这个选项被默认关闭了。 可以在菜单栏->编辑->Plugins->Physic中勾选可破坏物体的插件。再右键就出现该选项了。 参考:...

     之前的版本直接右键都有这个选项的,新版Unreal没有了,原因是这个选项被默认关闭了。

    可以在菜单栏->编辑->Plugins->Physic中勾选可破坏物体的插件。再右键就出现该选项了。



    参考:https://forums.unrealengine.com/development-discussion/content-creation/1389700-solved-create-destructible-mesh-is-missing-from-right-click-menu-4-18-1

    展开全文
  • 方法一: 一.选择要设置碰撞的模型 单击模型即可 二.找到Static Mesh,双击箭头所指的位置 三.在左侧找到碰撞标题下的碰撞复杂度 ...选择第四个:将复杂碰撞用作简单碰撞,这样就设置好了 ...

    方法一:

    一.选择要设置碰撞的模型

    单击模型即可

    二.找到Static Mesh,双击箭头所指的位置

    三.在左侧找到碰撞标题下的碰撞复杂度

    选择第四个:将复杂碰撞用作简单碰撞,这样就设置好了

    方法二:

    还是刚刚的界面,左上角菜单栏有碰撞标题

    点击后可以选择更为简化的碰撞复杂程度,如:胶囊简化碰撞,如图绿色内的区域都无法穿过

    方法三:

    点击刚刚碰撞旁边的窗口,找到,凸包分解

    会在右下角产生分解细节,数量越多碰撞复杂度越高,系统开销越大

    点击应用即可

    展开全文
  • 在“构件更好的三维网格体这部分”,我们会讨论包括系统单位、三角面数量、材质ID、枢轴点,我们会学习什么是光照贴图,然后介绍如何创建光照贴图。我们将学习碰撞网格体的创建和使用,细节层级或 LOD,最后介绍如何...

    在“构件更好的三维网格体这部分”,我们会讨论包括系统单位、三角面数量、材质ID、枢轴点,我们会学习什么是光照贴图,然后介绍如何创建光照贴图。我们将学习碰撞网格体的创建和使用,细节层级或 LOD,最后介绍如何限制过度绘制。

    1.系统单位

    无论你使用哪种数字内容创建软件(DCC),创建对象前你需要先确定系统单位。本文中,我将使用 3d Studio Max,不过我涉及到的原理适用于所有数字内容创建软件。首先,我们需要确保将系统单位设为厘米,因为厘米是虚幻引擎4默认的测量单位。在虚幻引擎4中,一虚幻单位等于一厘米。

    打开 3d Studio Max,我们要确保系统单位被设置为厘米。方法是点击顶部菜单栏的“Customize”->“Units Setup”,然后点击“System Unit Setup”,将单位设为厘米。然后我们要确保将显示单位也设为厘米。

    在这里插入图片描述
    在这里插入图片描述
    确保DCC中的比例与UE4比例一致非常重要,原因就在于这样能保持沉浸感。无论你营造的沉浸感有多强,只要用户在体验时发现场景相对于现实世界变得太大或者太小,你营造的所有沉浸感都会化为乌有。对于VR来说尤为如此,当玩家伸手捡起一个对象,比如一个杯子,假如杯子在玩家手中非常大或者非常小,他们很快就会丧失沉浸感。为了解决这类问题,在项目开始时设置正确的比例能够极大程度地避免任何潜在的比例问题。

    2.三角面数量

    三角面数量直接与你的项目体验挂钩,虽然虚幻引擎可以在屏幕中同时显示数百万个多边形,但在实践中仍需仔细斟酌。当你在DDC中时,请务必开启三角面计数功能。回到3ds Max 中,让我按下键盘上的7键,在左上角会显示多边形数量。
    在这里插入图片描述
    当你在UE4中编辑模型是,需考虑以下几点:首先,不要为小细节建模,比如小螺母或小螺栓,玩家不会注意到这些细节,你浪费这些多边形数量,打造的额外细节不一定会为你带来好处。在构造对象时,请务必在DCC和虚幻引擎4中,经常查看多边形数量。打开静态网格体编辑器,在左上角你能看到LOD、当前屏幕大小以及更重要的三角面数量和顶点数量。在静态网格体编辑器和DCCzech经常关注这两个数值,有助于确保你正在创建模型,确保它既漂亮又节省开销。

    在这里插入图片描述

    3.材质ID

    所有对象,无论你打算显示何种的对象,都至少拥有一个材质ID。材质ID有助于确认多边形面使用的材质类型。遗憾的是,它的缺点是,对象每多用一个材质ID,它就需要被多渲染一次,以便显示该材质效果。例如,加入一个物体上有五个材质ID,它就需要先被渲染5次,然后通过一次最终渲染显示出来。下面的示例是一个带有两个材质ID的模型,顶部有一个材质ID,底部还有一个材质ID。

    在这里插入图片描述
    在3ds Max中,按下键盘上的M键,打开材质编辑器。让我选中一个新的示例球,选中“从对象提取材质”按钮,然后选中模型上的材质。注意模型上有多个子对象材质,如果你在3ds max中需要为对象分配多个材质,你就需要使用这种材质。在你刚创建项目时,你最好为游戏中的各种对象制定好材质ID数量的使用规范。例如,小道具或场景装饰对象应该只有一个材质ID,而角色或武器这类对象,可以有两个或三个材质ID。如果你要使用大型建筑,你可以为地板设置一个材质ID,为墙壁设置一个,为天花板设置一个。记住,每添加一个材质ID,模型的渲染开销就越大,要制定一个管理计划,然后在整个项目周期中坚持执行计划。

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

    4.枢轴点

    UE4中的对象如果使用了错误的枢轴点位置,可能会浪费数分钟、数小时乃至数天的时间,因为美术师在放置对象前,不得不先调整对象的位置。如果你在DCC中正确设置了枢轴点(位于DCC中的0,0,0原点),美术师就不需要这样做。他们可以直接放置对象而无需调整其位置。

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

    5.什么是光照贴图

    光照贴图是专门用于保存光线和阴影复杂信息的纹理,这是因为纹理的开销很低,非常适合存储这类数据,保存在纹理中的另一个好处是,将光照计算信息保存在纹理中,意味着我们在运行时几乎能以零成本获得这些信息。在UE4中,光照贴图是在高质量场景和高性能场景之间保持平衡的关键。

    下面有一张光照贴图和一张阴影贴图,光照贴图和你平常看到的贴图稍有不同,这是因为光照贴图的红、绿、蓝通道中存储着不同类型的数值,这就是为什么它看起来有点像五颜六色的维诺图。这些实际上是不同区域的光照信息,它们全都被写入了红绿蓝通道。
    光照贴图
    在下面的阴影贴图中,你会发现,这类信息更明显。注意,阴影贴图有一点绿色,但主要颜色是红色,这是因为绿色和红色表示不同的阴影信息,所有阴影数据全都被写入了阴影贴图的红绿蓝通道中。
    阴影贴图

    6.光照贴图的创建

    首先,光照贴图需要对象上的每一张面都位于0到1的UV空间中,这些面还需要被单独放置,即他们在UV贴图中不能相互重叠。

    当我们渲染光照贴图时,Lightmass实际上只关心0到1空间内的数据,所以任何外面的数据都会被裁剪。我们需要做的另一件事是,确保UV贴图内的对象没有相互重叠。原因很简单:考虑下面这种情况,假设我们正在制作一张桌子。为了节省空间,我们可以让桌面上层和下层的UV在UV贴图中相互重叠,这样就能节省出很多空间,并且提升桌面上下两层的细节丰富程度。然而,上下两层将会显示完全相同的细节,显然对于底色纹理,这不会导致问题。但当你使用阴影贴图或光照贴图时,桌子上下两面就会呈现完全相同的阴影信息。这将意味着只应该在下面显示的阴影会出现在上面,使对象的光照效果显得异常。要完全避免这个问题,请确保你的贴图位于0到1的UV空间内,并且没有重叠。

    0到1的UV空间
    还有值得注意的一点是,在设置UV通道时,在面板中需要选择UV通道2。这是因为光照贴图UV需要存储在模型的第二个通道中。这里有点令人困惑,因为在3d Studio Max 中,我把它叫做“通道2”,而在虚幻引擎中,它称作“通道1”,原因是虚幻引擎是一种把0作为初始计数的软件,而3ds Max从1开始计算。记住,在3ds Max里面,光照贴图UV需要使用第二个通道,而在虚幻引擎中,UV需要使用第一个通道。

    3ds Max中的通道
    让我们打开虚幻引擎,我们其实能看到光照贴图的作用,我们能看到阴影似乎是动态投射到模型上的?实际上阴影是烘焙进模型的,阴影百分百没有任何开销——呃,应该说90%的阴影没有开销,其实还是有一点开销的,因为要在内存中保存纹理。但从任何角度来说,这个对象的阴影贴图相当于没有任何开销。
    在这里插入图片描述
    如果选中模型,并按Ctrl+E打开静态网格编辑器,我可以点击“UV”。在左下角,这是第一个UV通道。注意,左边有一些红线,它看起来非常复杂,这是因为这个对象的部分UV实际上超出了在0到1的UV空间。虚幻引擎把所有这些部分塞进了0到1的空间范围内,它不会影响UV的渲染方式,只会影响它在静态网格体编辑器内的外观效果。

    在这里插入图片描述
    我们不用关心这个通道,因为这是“UV通道0”我们要关心的是“UV通道1”,也就是光照贴图UV。可以看到这张UV的布局相比3d Studio Max 中的布局略有不同。这是因为网格体的光照贴图被设置成在导入时自动展开。

    在这里插入图片描述

    我想讨论的最后一点是,在虚幻引擎中如何设置光照贴图分辨率或者改变光照贴图的坐标索引。首先,找到“细节”面板的搜索栏,然后输入“Light”向下滚动后能找到“Light Map Resolution”以及“Light Mao Coordinate Index”。我可以在这里编辑光照贴图分辨率以及光照贴图坐标索引。

    在这里插入图片描述
    然而,你可能需要在工作场景中编辑光照贴图分辨率,为此,你只需要选中网格体,找到“细节”面板,搜索“Light”,在“细节”面板的“Lighting”分段下,找到“Overriden Light Map Res”。如果我启用该选项,我可以输入任意的分辨率,这就是光照贴图分辨率的覆盖方法。

    在这里插入图片描述

    7.碰撞

    在虚幻引擎4中,碰撞可以用来界定许多内容,碰撞可以用来判断,你是否碰到了某个场景对象,它被用于物理模拟,使对象与场景发生碰撞以及对象相互间发生碰撞。碰撞能用来确保,玩家可以在他们站立着的地面上走动。有两种方法可以在UE4中创建碰撞,你可以在DCC中创建碰撞,然后把它和几何体一起导入,或者你可以在虚幻引擎内创建碰撞。

    首先,我们来看看在3ds Max中创建碰撞。为此,在右侧找到“Object Type”,选中“Box”,接着创建一个盒体,按下Shift+A键对齐。把盒体与模型对齐,调整盒体形状,以便契合模型的大致轮廓,不一定要完全契合,只需有个大概样子。

    然后你可能会以为只要全部选中它们,然后导出就可以了。但实际上并不是这样的,首先要做的是,我们需要用一个非常具体的名称,为这个碰撞盒命名,命名以“UCX_”开头,然后是网格体全称,最后是碰撞盒编号,即“UCX_(FullNameOfMesh)Number”。 假设这个模型有30个碰撞盒,那么命名就是 “UCX”加上网格体名称,然后是碰撞盒编号,比如1、2、3、4、5等。现在在我们为这个碰撞盒命名后,当我们导入这个模型时,虚幻引擎会识别命名,然后说“嘿,你知道吗,这实际上不是渲染用的几何体,而是碰撞几何体,所以我要设置成碰撞盒”。

    在这里插入图片描述
    现在我们准备好导出了,选择所有对象,点击“File”>“Export”>“Export Selected”,命名保存。回到虚幻引擎后,选择FBX文件导入,在导入选项中,需要关闭“Auto Generate Collision”,还要确保关闭“Import Materials”和“Import Textures”,点击确认导入。模型被导入完毕后,双击网格体打开它。如果点击“Collision”选择“Simple Collision”,就可以看到我们创建的碰撞盒。

    在这里插入图片描述
    我说过你还可以在虚幻引擎中创建碰撞盒。在静态网格编辑器顶部菜单栏中选中“Collision”,可以看到这里能添加不同类型的碰撞网格体,包括球体、胶囊体、盒体。

    在这里插入图片描述
    在本节结束前,我想再介绍一种碰撞。在UE4中,我们找到一块非常不规则的几何体,点击“Collision”选择“Simple Collision”,删除网格体上的碰撞。

    在这里插入图片描述
    这堆瓦砾相对来说不太容易生成优化过的碰撞。你也许可以为这些石块创建不错的碰撞,但其他碎石相较而言很难产生碰撞。虚幻引擎有一个名为“Convex Decomposition”的选项允许你为这类不易生成碰撞盒的不规则网格体创建复杂的碰撞网格体。要使用它,首先确保打开“Convex Decomposition”面板。如果没有,点击“WIndow”>“Convex Decomposition”,然后点击“Apply”。它的作用是让网格体体素化,然后基于体素化生成碰撞参数。它没法保证碰撞网格体百分百精确,但它能确保碰撞盒正好包围住模型表面,并且不会过多使用顶点或折叠自己。

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

    8.限制过度绘制

    当你处理透明或不透明材质时,会出现过度绘制。它表示当许多透明纹理相互重叠时,GPU必须重复绘制这些纹理,尽管其中许多并不会显示。你会发现植被模型会经常出现过度绘制,因为这些模型需要许多重叠平面来模拟树叶、灌木丛、草地或类似植被的真实效果。

    如果你仔细看下面两图,下1图基本上代表了所有游戏都会使用的植被纹理类型。一张映射到平面上、非常漂亮并且带有树叶的树枝纹理,这个平面然后会被用于其他几何体上,用于表示树叶。然而问题是,所有这些空白区域,树枝周围的所有空白区域仍然需要纳入计算,以便之后评估是否要绘制它们。问题在于,我们实际上会在这些不需要绘制的区域上浪费成千上百次运算。我们的解决办法是,使用更多顶点或者调整平面的实际形状,来减少过度绘制的次数。

    如果你看下2图,这张纹理的内容和左边完全一样,但区别在于,左上角四边形被完全移除了。如果观察底部,这些顶点都被移动过了,以便减少透明区域。你永远没法彻底消除所有的过度绘制,这是不可能的,这也不应该使你的目标。你的目标不是消除过度绘制,而是限制它,是把它降低到一个可控程度。最好的方法是,无论树叶范围有多大,在树叶纹理的周围添加一些顶点,然后调整这些顶点,使它们尽可能地贴近树叶纹理。因为你要记住,多渲染一些顶点永远比渲染一堆像素,然后弃用它们更加节省开销。因为每一帧都要浪费这些像素。
    在这里插入图片描述
    在这里插入图片描述
    如果要查看场景中的过度绘制次数,UE4提供了许多方法,你可以用的第一种方法是,“着色器复杂度”模式。点击场景左上角,“Lit”>“Optimization”>“Shader Complicity”。

    9.什么是LOD

    LOD表示“细节层次”,它们相当于模型的副本,只是三角面数量减少了,有时材质指令数量也会减少。我们使用它的原因是,如果模型只占据屏幕中一两百个像素时,就没有必要显示它的所有面。更好的办法是,显示一个分辨率更低,但轮廓相同的模型,只有标准模型的一半顶点数量。这样,如果模型在屏幕上只占据200个像素,它就不会像占满整个屏幕时那样占用那么多内存。你在建模时——当你开发VR应用时这点尤为重要——模型都应具备某些细节层级,你可以设置随意数量的细节层级,但超过一定数量后,它实际上就会对你的项目不利,说到网格体面数的缩减量时,通常你应该减少75%、35%,最后是12%。这些数值并非一成不变,你可以根据项目选择合适的数值,但是你必须确保这些数值保持足够的间距,以便LOD确实有利于节省内存。

    展开全文
  • UE4基础网格体丢失问题解决 (staticMeshActor None) 打开UE4,发现某个基础网格体丢失 随便在模式面板里找到一个基础网格体,将它拖放到视图中,并在世界大纲视图中找到它 3. 在世界大纲视图中选择刚刚拖出来的...
  • UE4物体破碎

    2017-11-24 17:32:13
    文章来自http://blog.ch-wind.com/ue4%E7%89%A9%E4%BD%93%E7%A0%B4%E7%A2%8E/ 2016-02-09 733浏览 游戏开发虚幻引擎UE4粒子系统VR&ARVR技术 想免费获取内部独家PPT资料... UE4的破碎通过可破坏网格物体进行实现
  • 本教程的目标是教你在如何在Matinee中使用骨架网格的一些基础知识。 您将学习如何连接和操纵骨架网格并使骨架网格物体播放动画。
  • 一个蓝图类里添加这个静态网格体 如图 出现碰撞模拟检测 检测不到这个蓝图的问题 而新建的测试蓝图,点击绿色添加组件, 添加的 Cube则可以被检测到 对比发现 笔刷创建那个 静态网格体显示 Collision Prims:0 如图...
  • 2、检查导入模型格式——骨架网格物体 或 静态网格物体3、新建蓝图4、 编辑蓝图5、 主窗口调试 一、 模型的准备 参考:3D Max大神必去的15个国外模型网站 可以找到很多免费的3d模型。推荐下载网址:Free 3D Model 注...
  • Unreal Engine 4 初学者教程:开始 原文:Unreal Engine 4 Tutorial for Beginners: Getting Started 作者:Tommy Tran 译者:kmyhy Unreal Engine 4 是一个游戏开发工具集,能够开发从 2D 手机游戏到 3A ...
  • 首先说明这种方法不是我原创,是从...1.如果发现导入UE4的FPX模型文件中的静态网格物体坐标原点不在物体中心,尝试通过在UE4调整pivot位置只能暂时的用来拖拽和旋转物体时使用,在蓝图中添加诸如旋转等指令节点时依...
  • Unreal引擎术语表

    2015-11-21 08:39:08
    这包括类似于Players(玩家)、Weapons(武器)、 Trash.StaticMeshes(静态网格物体)、Emitters(编辑器)、 Infos以及 Sounds(声效)等。 ActorX - 是一个导出插件,它可以把骨架网格物体和动画导入到一个可以导入到...
  • Unreal 4.22 动态创建一个自定义长方体教程 ##先来看一下效果图: ##接下来是代码思路: 主要是用CustomMesh这个组件。 这个组件能根据添加进的三个点画出一个三角形 这里新建一个TopDown的初始...
  • 一 、预备工作 1、 打开关卡蓝图  ...2、在关卡蓝图中进行下列...1、 将静态网格物体拖拽到场景中,右击 进行如图操作 选择 click事件 2、进行事件内容的填充 3、点击play 点击cube 就会有相应事件被驱
  • 而接着的帽子图标,是显示虚幻4内置的教程。 二. 菜单栏 在标签栏下方就是菜单栏,它提供了大部分应用程序常用的命令和工具: 1) 文件:创建、打开、保存关卡/地图和创建或打开项目。游戏打包也是在这里。...
  • 4.18版本 Plugin - Built in - Apex Destruction
  • UE4笔记C++篇---Actor球物体上下移动 C++文件: // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "GameFramework/Actor.h" #include "Ball....
  • UE4触发器的使用

    2019-04-13 18:24:15
    接着去找到门的模型,为了快速查找我们可以在下面静态网格物体下面查找,注意必须是在开头的文件夹查找 找到之后拖上去就可以,在这里我们不用这种方法建立一个蓝图类下的Actor,双击进入后先在左上角下建立两个...
1 2 3 4 5 ... 20
收藏数 495
精华内容 198
关键字:

unreal4 静态网格物体