版本:Unity 6 (6000.0)
语言英语
  • C#

Graphics.DrawMesh

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们会阅读用户建议的每项更改,并会在适用处进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static void DrawMesh(Mesh mesh, Vector3 position, Quaternion rotation, Material material, int layer, Camera camera = null, int submeshIndex = 0, MaterialPropertyBlock properties = null, bool castShadows = true, bool receiveShadows = true, bool useLightProbes = true);

声明

public static void DrawMesh(Mesh mesh, Vector3 position, Quaternion rotation, Material material, int layer, Camera camera, int submeshIndex, MaterialPropertyBlock properties, Rendering.ShadowCastingMode castShadows, bool receiveShadows = true, Transform probeAnchor = null, bool useLightProbes = true);

声明

public static void DrawMesh(Mesh mesh, Matrix4x4 matrix, Material material, int layer, Camera camera = null, int submeshIndex = 0, MaterialPropertyBlock properties = null, bool castShadows = true, bool receiveShadows = true, bool useLightProbes = true);

声明

public static void DrawMesh(网格 mesh, 矩阵 4x4 matrix, 材质 material, int layer, 相机 camera, int submeshIndex, 材质属性块 properties, 渲染.阴影投射模式 castShadows, bool receiveShadows = true, 变换 probeAnchor = null, bool useLightProbes = true);

声明

public static void DrawMesh(网格 mesh, 矩阵 4x4 matrix, 材质 material, int layer, 相机 camera, int submeshIndex, 材质属性块 properties, 渲染.阴影投射模式 castShadows, bool receiveShadows, 变换 probeAnchor, 渲染.光照探针使用 lightProbeUsage, 光照探针代理体积 lightProbeProxyVolume = null);

参数

网格 要绘制的网格
位置 网格的位置。
旋转 网格的旋转。
matrix 网格的变换矩阵(结合了位置、旋转和其他变换)。
材质 要使用的材质
layer 图层在该图层上绘制网格。
相机 如果为null(默认值),则该网格将在所有相机中绘制。否则,它将仅在给定的相机中渲染。
submeshIndex 要绘制的网格子集。这仅适用于由多种材质组成的网格。
属性 在绘制该网格之前要应用到材质上其他材质属性。请参阅MaterialPropertyBlock
投射阴影 确定网格是否可投射阴影。
接收阴影 确定网格是否可接收阴影。
useLightProbes 网格应使用光照探针吗?
探针锚点 如果使用了它,网格会使用此变换的位置来对光照探针进行采样并查找匹配的反射探针。
光照探针使用 网格的光照探针使用

说明

绘制网格。

此功能现已过时。改用图形.绘制网格

DrawMesh 为一帧绘制网格。该网格将受到光照的影响,能渲染和接收阴影并受到投影仪的影响,就像它是某个游戏对象的一部分。它可以绘制到所有摄像机或者只针对某个特定摄像机。

在希望绘制大量网格,但不想要创建和管理游戏对象所带来的开销的情况下,请使用 DrawMesh。请注意,DrawMesh 不会立刻绘制网格;它只是将其“提交”以进行渲染。该网格将作为正常渲染过程的一部分进行渲染。如果您希望立即绘制网格,请使用 Graphics.DrawMeshNow

因为 DrawMesh 不会立刻绘制网格,因此在对该函数的调用之间修改材质属性,也不会使网格接受这些属性。如果您希望绘制具有相同材质但属性略有不同的系列网格(例如,更改每个网格的颜色),请使用 MaterialPropertyBlock 参数。

请注意,该调用会在网格排队渲染期间创建一些内部资源。分配会立即发生,并将保留至帧结束(如果该对象排队呈现到所有摄像机)或直到指定的摄像机完成渲染为止。

其他资源:Graphics.RenderMeshMaterialPropertyBlock

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Mesh mesh; public Material material; public void Update() { // will make the mesh appear in the Scene at origin position Graphics.DrawMesh(mesh, Vector3.zero, Quaternion.identity, material, 0); } }