跳至正文
版本:bleeding-edge 🩸

默认材质

默认材质及其参数。

模板材质​

nanos world 提供了几种内置的模板材质,你可以通过 Base Paintable 方法轻松使用和自定义它们。

信息

如果你使用的网格体包含自定义材质,你可以创建并访问你自己的材质参数!

提示

有关材质类型和混合模式的更多信息,请参考虚幻文档。

默认材质支持的参数​

类型参数默认值描述
颜色​TintColor.WHITE影响 Base Color 输入项。 Tint 与 Texture 参数相乘,生成最终颜色
纹理Texture白色纹理与 Tint 相乘生成最终颜色
纹理Normal朝上法线贴图 Vector(0.5, 0.5, 1)影响光线在物体上反射方式的图像
​​​颜色​EmissiveColor.BLACK影响 Emissive 输入项,较高的值会产生辉光效果
标量Metallic0影响 Metallic 输入项 - 范围从 0 到 1
标量Specular0.5影响 Specular 输入项 - 范围从 0 到 1
标量Roughness0.65影响 Roughness 输入项 - 范围从 0 到 1
标量Opacity0影响 Opacity 和 Opacity Mask 输入项 - 范围从 0 到 1
Opacity 与 Texture 的 Alpha 通道相乘,生成最终的不透明度
提示

有关各个参数如何影响最终视觉效果的更多信息,请查阅虚幻引擎的 基于物理的材质 和 材质输入 文档页面。

M_Default_Masked_Lit​

Masked(遮罩)且 Lit(受光)的材质。

M_Default_Masked_Lit_WorldAligned​

Masked 且 Lit 的材质,带有 WorldAlignedTexture 节点,并使用 TextureSize 标量参数进行缩放。

M_Default_Opaque_Lit_Triplanar​

Opaque(不透明)且 Lit 的材质,从物体自身的三个轴向投影纹理和法线,因此适用于任何网格体,无论其 UV 如何。与 M_Default_Masked_Lit_WorldAligned 不同,纹理在物体移动或旋转时会附着在物体上,并在物体缩放时保持相同大小。除了默认参数(没有 Opacity)之外,它还提供:

类型参数默认值描述
标量TextureSize100一个纹理平铺的大小(厘米)
标量TextureAspect1平铺高度除以其宽度,用于非正方形纹理
标量BlendSharpness8两个投影之间过渡的锐利程度
标量NormalStrength1乘以法线强度

所有表面材质都由它制作而成。

M_Default_Masked_Unlit​

Masked 且 Unlit(不受光)的材质。

M_Default_Translucent_Lit​

Translucent(半透明)且 Lit 的材质。

M_Default_Translucent_Lit_Depth​

Translucent、Lit 且启用了 Disable Depth Test。与 Translucent 相同,但它在屏幕上始终可见,即使被墙壁或其他物体遮挡也是如此。

M_Default_Translucent_Lit_Decal​

Translucent、Lit 且材质域为 Deferred Decal,用于 Decal。

M_Default_Translucent_Unlit​

Translucent 且 Unlit 的材质。

M_Default_Translucent_Unlit_Depth​

Translucent、Unlit 且启用了 Disable Depth Test。与 Translucent 相同,但它在屏幕上始终可见,即使被墙壁或其他物体遮挡也是如此。

表面材质​

即用型表面(木材、砖块、混凝土、金属……)由 M_Default_Opaque_Lit_Triplanar 制作,因此在任何网格体上看起来都正确。每个表面还附带一个合适的物理材质,因此脚步声和撞击声听起来像该表面。你仍然可以使用上述参数对它们进行调整,例如 SetMaterialColorParameter("Tint", Color.RED) 来为木材着色。

my_prop:SetMaterial("nanos-world::MI_Surface_WoodPlanks")
材质
MI_Surface_WoodPlanks
MI_Surface_WoodFloor
MI_Surface_WoodDark
MI_Surface_WoodSiding
MI_Surface_Brick
MI_Surface_Concrete
MI_Surface_ConcreteTiles
MI_Surface_Stone
MI_Surface_Marble
MI_Surface_Gravel
MI_Surface_Dirt
MI_Surface_RoofTiles
MI_Surface_MetalPainted
MI_Surface_MetalDark
MI_Surface_MetalCorrugated
MI_Surface_Wallpaper
MI_Surface_Plastic
MI_Surface_Rubber
MI_Surface_Chrome
MI_Surface_Gold
MI_Surface_Copper
MI_Surface_Neon

特殊实用材质​

M_Noise​

Opaque(不透明)且 Lit,带有一个 Noise 节点以产生噪声效果。还提供了 Speed(向量)和 Scale(标量)参数。

M_Wireframe​

Translucent 且 Lit,并启用了 Wireframe,意味着它会将物体渲染为线框。

提示

注:本页面中的所有材质均已包含在基础游戏的默认 nanos world 资产包中,你可以像这样引用它们:nanos-world::M_Default_Masked_Lit。

材质概要​

域混合模式着色模型
M_Default_Masked_LitSurfaceMaskedDefault Lit
M_Default_Masked_Lit_WorldAlignedSurfaceMaskedDefault Lit
M_Default_Opaque_Lit_TriplanarSurfaceOpaqueDefault Lit
M_Default_Masked_UnlitSurfaceMaskedUnlit
M_Default_Translucent_LitSurfaceTranslucentDefault Lit
M_Default_Translucent_Lit_DepthSurfaceTranslucentDefault Lit
M_Default_Translucent_Lit_DecalDeferred DecalTranslucentDefault Lit
M_Default_Translucent_UnlitSurfaceTranslucentUnlit
M_Default_Translucent_Unlit_DepthSurfaceTranslucentUnlit
M_NoiseSurfaceOpaqueDefault Lit
M_WireframeSurfaceTranslucentDefault Lit
提示

Opaque(不透明)材质是最高效的,但不支持 Opacity(不透明度)或 Opacity Mask(不透明度遮罩)。

Masked(遮罩)材质最常用,且仅支持 Opacity Mask。这意味着 Opacity 参数只接受 0 或 1。

Translucent(半透明)材质的渲染开销最大,如果使用不当会导致大量的重绘(以及性能问题)。它支持 Opacity,但出于优化原因,默认情况下不支持 Normal、Metallic、Specular 和 Roughness 输入。

每个材质支持的常用参数​

材质名称Tint纹理NormalEmissiveMetallicSpecularRoughnessOpacityVTilingUTilingTextureSize
M_Default_Masked_Littruetruetruetruetruetruetruetrue*truetruefalse
M_Default_Masked_Lit_WorldAlignedtruetruetruetruetruetruetruetrue*truetruetrue
M_Default_Opaque_Lit_Triplanartruetruetruetruetruetruetruefalsefalsefalsetrue
M_Default_Masked_Unlitfalsetruefalsetruefalsefalsefalsetrue*truetruefalse
M_Default_Translucent_Littruetruefalsetruefalsefalsefalsetruefalsefalsefalse
M_Default_Translucent_Lit_Depthtruetruefalsetruefalsefalsefalsetruefalsefalsefalse
M_Default_Translucent_Lit_Decaltruetruetruetruetruetruetruetruefalsefalsefalse
M_Default_Translucent_Unlitfalsetruefalsefalsefalsefalsefalsetruefalsefalsefalse
M_Default_Translucent_Unlit_Depthfalsetruefalsefalsefalsefalsefalsetruefalsefalsefalse
M_Noisefalsefalsefalsetruetruetruetruefalsefalsefalsefalse
M_Wireframetruefalsefalsetruefalsefalsefalsetruefalsefalsefalse

*Masked 材质的 Opacity 仅支持 Opacity Mask:0 或 1

物理材质​

物理材质是定义物体物理属性的材质。通过 Paintable.SetPhysicalMaterial(),你可以更改实体的默认物理材质。

除了物体的物理属性(摩擦力、弹性、密度等)之外,nanos world 还使用物理材质在特定事件发生时应用特殊效果和声音。例如脚步声效果、子弹撞击或物体撞击。

nanos world 提供了一系列内置物理材质,你可以使用它们在游戏中覆盖实体的物理属性。

提示

你也可以创建自己的物理材质并在游戏中使用!只需记得在其中配置正确的 SurfaceType,以便更好地集成!

摩擦力弹性密度表面类型
PM_Concrete0.90.32.0SurfaceType.Concrete
PM_Flesh0.70.31.0SurfaceType.Flesh
PM_Glass0.20.22.0SurfaceType.Glass
PM_Grass0.70.31.0SurfaceType.Grass
PM_Gravel0.70.31.0SurfaceType.Gravel
PM_Ground0.70.31.0SurfaceType.Ground
PM_Metal0.60.11.0SurfaceType.MetalHeavy
PM_MetalLight0.60.21.0SurfaceType.MetalLight
PM_Mud0.70.31.0SurfaceType.Mud
PM_Plastic0.70.71.0SurfaceType.Plastic
PM_Rock0.90.31.0SurfaceType.Rock
PM_Rubber0.71.01.0SurfaceType.Rubber
PM_RubberBouncy0.050.91.0SurfaceType.Rubber
PM_Sand0.60.31.0SurfaceType.Sand
PM_Water0.70.31.0SurfaceType.Water
PM_Wood0.70.30.5SurfaceType.WoodLight
PM_WoodHeavy0.70.30.5SurfaceType.WoodHeavy