默认材质
默认材质及其参数。
模板材质
nanos world 提供了几种内置的模板材质,你可以通过 Base Paintable 方法轻松使用和自定义它们。
如果你使用的网格体包含自定义材质,你可以创建并访问你自己的材质参数!

有关材质类型和混合模式的更多信息,请参考虚幻引擎文档。
默认材质支持的参数
| 类型 | 参数 | 默认值 | 描述 | |
|---|---|---|---|---|
| 颜色 | Tint | Color.WHITE | 影响 Base Color 输入项 | Tint 与 Texture 参数相乘,生成最终颜色 |
| 纹理 | Texture | 白色纹理 | 与 Tint 相乘生成最终颜色 | |
| 纹理 | Normal | 朝上法线贴图 Vector(0.5, 0.5, 1) | 影响光线在物体上反射方式的图像 | |
| 颜色 | Emissive | Color.BLACK | 影响 Emissive 输入项,较高的值会产生辉光效果 | |
| 标量 | Metallic | 0 | 影响 Metallic 输入项 - 范围从 0 到 1 | |
| 标量 | Specular | 0.5 | 影响 Specular 输入项 - 范围从 0 到 1 | |
| 标量 | Roughness | 0.65 | 影响 Roughness 输入项 - 范围从 0 到 1 | |
| 标量 | Opacity | 0 | 影响 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_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_Noise
Opaque(不透明)且 Lit,带有一个 Noise 节点以产生噪声效果。 还提供了 Speed(向量)和 Scale(标量)参数。
M_Wireframe
Translucent 且 Lit,并启用了 Wireframe,意味着它会将物体渲染为线框。
注:本页面中的所有材质均已包含在基础游戏的默认 nanos world 资产包中,你可以像这样引用它们:nanos-world::M_Default_Masked_Lit。
材质概要
| 域 | 混合模式 | 着色模型 | |
|---|---|---|---|
| M_Default_Masked_Lit | Surface | Masked | Default Lit |
| M_Default_Masked_Lit_WorldAligned | Surface | Masked | Default Lit |
| M_Default_Masked_Unlit | Surface | Masked | Unlit |
| M_Default_Translucent_Lit | Surface | Translucent | Default Lit |
| M_Default_Translucent_Lit_Depth | Surface | Translucent | Default Lit |
| M_Default_Translucent_Lit_Decal | Deferred Decal | Translucent | Default Lit |
| M_Default_Translucent_Unlit | Surface | Translucent | Unlit |
| M_Default_Translucent_Unlit_Depth | Surface | Translucent | Unlit |
| M_Noise | Surface | Opaque | Default Lit |
| M_Wireframe | Surface | Translucent | Default Lit |
Opaque(不透明)材质是最高效的,但不支持 Opacity(不透明度)或 Opacity Mask(不透明度遮罩)。
Masked(遮罩)材质最常用,且仅支持 Opacity Mask。 这意味着 Opacity 参数只接受 0 或 1。
Translucent(半透明)材质的渲染开销最大,如果使用不当会导致大量的重绘(以及性能问题)。 它支持 Opacity,但出于优化原因,默认情况下不支持 Normal、Metallic、Specular 和 Roughness 输入。
每个材质支持的常用参数
| 材质名称 | Tint | 纹理 | Normal | Emissive | Metallic | Specular | Roughness | Opacity | VTiling | UTiling | TextureSize |
|---|---|---|---|---|---|---|---|---|---|---|---|
| M_Default_Masked_Lit | true | true | true | true | true | true | true | true* | true | true | false |
| M_Default_Masked_Lit_WorldAligned | true | true | true | true | true | true | true | true* | true | true | true |
| M_Default_Masked_Unlit | false | true | false | true | false | false | false | true* | true | true | false |
| M_Default_Translucent_Lit | true | true | false | true | false | false | false | true | false | false | false |
| M_Default_Translucent_Lit_Depth | true | true | false | true | false | false | false | true | false | false | false |
| M_Default_Translucent_Lit_Decal | true | true | true | true | true | true | true | true | false | false | false |
| M_Default_Translucent_Unlit | false | true | false | false | false | false | false | true | false | false | false |
| M_Default_Translucent_Unlit_Depth | false | true | false | false | false | false | false | true | false | false | false |
| M_Noise | false | false | false | true | true | true | true | false | false | false | false |
| M_Wireframe | true | false | false | true | false | false | false | true | false | false | false |
*Masked 材质的 Opacity 仅支持 Opacity Mask:
0或1
物理材质
物理材质是用来定义物体物理特性的材质。 通过 Paintable.SetPhysicalMaterial(),你可以更改实体的默认物理材质。
除了物体的物理属性(摩擦力、弹性、密度等)之外,nanos world 还使用物理材质在特定事件发生时应用特殊效果和声音。 例如脚步声效果、子弹撞击或物体撞击。
nanos world 提供了一系列内置物理材质,你可以使用它们在游戏中覆盖实体的物理属性。
你也可以创建自己的物理材质并在游戏中使用! 只需记得在其中配置正确的 SurfaceType,以便更好地集成!
| 摩擦力 | 弹性 | 密度 | 表面类型 | |
|---|---|---|---|---|
| PM_Concrete | 0.9 | 0.3 | 2.0 | SurfaceType.Concrete |
| PM_Flesh | 0.7 | 0.3 | 1.0 | SurfaceType.Flesh |
| PM_Glass | 0.2 | 0.2 | 2.0 | SurfaceType.Glass |
| PM_Grass | 0.7 | 0.3 | 1.0 | SurfaceType.Grass |
| PM_Gravel | 0.7 | 0.3 | 1.0 | SurfaceType.Gravel |
| PM_Ground | 0.7 | 0.3 | 1.0 | SurfaceType.Ground |
| PM_Metal | 0.6 | 0.1 | 1.0 | SurfaceType.MetalHeavy |
| PM_MetalLight | 0.6 | 0.2 | 1.0 | SurfaceType.MetalLight |
| PM_Mud | 0.7 | 0.3 | 1.0 | SurfaceType.Mud |
| PM_Plastic | 0.7 | 0.7 | 1.0 | SurfaceType.Plastic |
| PM_Rock | 0.9 | 0.3 | 1.0 | SurfaceType.Rock |
| PM_Rubber | 0.7 | 1.0 | 1.0 | SurfaceType.Rubber |
| PM_RubberBouncy | 0.05 | 0.9 | 1.0 | SurfaceType.Rubber |
| PM_Sand | 0.6 | 0.3 | 1.0 | SurfaceType.Sand |
| PM_Water | 0.7 | 0.3 | 1.0 | SurfaceType.Water |
| PM_Wood | 0.7 | 0.3 | 0.5 | SurfaceType.WoodLight |
| PM_WoodHeavy | 0.7 | 0.3 | 0.5 | SurfaceType.WoodHeavy |