Unity3d脚本20:原始绘图接口Graphics
来源:第三维度
Graphics类
Graphics类是Unity绘制函数的原始接口。这个是高级快捷地进去Unity优化网格绘制的地方。只限于Unity Pro.
类方法
◆ static function DrawMesh(mesh:Mesh, position: Vector3, rotation: Quaternion, material: Material, layer: int, camera: Camera=null, submeshIndex: int, properties: MaterialPropertyBlock=null): void
◆ static function DrawMesh(mesh:Mesh,matrix:Matrix4x4,material:Material,layer:int,camera:Camera = null,submeshIndex:int,properties:MaterialPropertyBlock=null):
void
参数
mesh 用于绘制的Mesh.
position 网格的位置。
rotation 网格的旋转。
matrix 网格的变换矩阵(由位置,旋转和变换x组合)
material 使用的Material.
layer 使用的Layer.
Camera 如果是null(缺省),该网格将在所有相机中被绘制,否则它将只会在给定的相机中渲染。
submeshIndex 那个子网格被渲染。这只是在网格使用了多个材质的时候使用。
Properties 在网格绘制前应用到才子的额外材质属性。参考MaterialPropertyBlock.
描述:绘制一个网格, DrawMesh 在一帧中绘制一个网格。这个网格将受到光照的影响,可以投射接收阴影并被投射器影响。就像它是某个物体的一部分。他可以绘制于所有相机,或者只是特定的一些相机.
在你想创建人景的网格,而又不想过多的创建和管理游戏物体的时候使用DrawMesh.注意,DrawMesh不会立即绘制网格;它仅仅提交它用于渲染。网格将被作为普通渲染过程的一部分。如果想立即绘制一个网格。使用Graphics.DrawMeshNow。
因为DrawMesh不会立即绘制网格,在调用这个函数之间修改材质属性并会使材质使用它们。如果你想绘制一系列相同材质的网格,但是稍微有些不同的属性(例如,改变每个网格的颜色),那么使用MaterialPropertyBlock参数。
参见:MateralPropertyBlock.
◆ Static function DrawMeshNow(mesh:Mesh,position:Vector3,rotation:Quatemion):void // 描述:在给定的position,用给定的rotation绘制一个mesh。这个函数将设置模型视矩阵并绘制网络。当前设置材质的pass可以被使用(参考Setpass)
◆ Static function DrawMeshNow(mesh:Mesh,position:Vector3,rotation:Quatemion,materallndex:int):void // 描述:在给定的position,用给定的rotation和一个materialIndex绘制一个mesh.
◆ Static function DrawMeshNow(mesh:Mesh,matrx:Matrix4x4):void // 描述:用给定的matrix绘制一个mesh.如果这个矩阵有一个负的缩放这个函数将不会正确渲染物体。
◆ Static function DrawMeshNow(mesh:Mesh,matrx:Matrix4x4,materialIndex:int):void // 描述:用给定的matrix和materialIndex绘制一个mesh.如果这个矩阵有一个负的缩放这个函数将不会正确渲染物体。
◆ Static function DrawTexture(screenRect:Rect,texture:Texture,mat:Material = null):void // 描述:在屏幕坐标下绘制一个纹理。
◆ Static function DrawTexture(screenRect:Rect,texture:Texture,leftBorder:int,rughtBord:int,topBorder:int,bottomBorder:int,mat:Material=null):void // 描述:在屏幕坐标下绘制一个纹理。
◆ Static function DrawTexture(screenRect:Rect,texture:Texture,sourceRect:Rect,leftBorder:int,rughtBord:int,topBorder:int,bottomBorder:int,mat:Material=null):void // 描述:在屏幕坐标下绘制一个纹理
◆ static function DrawTexture(screenReet:Rect,texture:Texture,sourceRect:Rect,leftBordr:int.rightBrder:int.topBorder:int,bottomBorder:int,color:Bolor,mat:Material=null):void // 描述:在屏幕坐标下绘制一个纹理。