CanvasTexture

继承: Texture2D < Texture < Resource < RefCounted < Object

带有可选法线和高光贴图的纹理,用于2D渲染。

描述

CanvasTexture是用于2D渲染的ImageTexture的替代方案。它允许在继承自CanvasItem的任何节点中使用法线贴图和高光贴图。CanvasTexture还允许独立于节点属性(或项目设置)覆盖纹理的过滤器和重复模式。

注意:CanvasTexture不能在3D中使用。应用于任何VisualRender时将无法正确显示,例如SpriteDecalActor。对于3D中基于物理的材质,请改用BaseMaterial3D

属性

Texture2D

diffuse_texture

Texture2D

normal_texture

bool

resource_local_to_scene

false (overrides Resource)

Color

specular_color

Color(1, 1, 1, 1)

float

specular_shininess

1.0

Texture2D

specular_texture

TextureFilter

texture_filter

0

TextureRepeat

texture_repeat

0


属性说明

Texture2D diffuse_texture 🔗

要使用的漫反射(颜色)纹理。这是您在大多数情况下要设置的主要纹理。


Texture2D normal_texture 🔗

要使用的法线贴图纹理。

注意:i3D期望法线贴图使用X+、Y+和Z+坐标。有关流行引擎期望的法线贴图坐标的比较,请参阅此页


Color specular_color = Color(1, 1, 1, 1) 🔗

  • void set_specular_color(value: Color)

  • Color get_specular_color()

镜面反射颜色的乘数。


float specular_shininess = 1.0 🔗

  • void set_specular_shininess(value: float)

  • float get_specular_shininess()

Light2D镜面反射的镜面指数。更高的值会导致更有光泽/“湿”的外观,反射变得更加局部化,整体上不太可见。1.0的默认值完全禁用镜面反射。只有当Light2D影响此CanvasTexture时才会产生可见效果。


Texture2D specular_texture 🔗

用于Light2D镜面反射的镜面贴图。这应该是灰度或彩色纹理,较亮的区域导致较高的specular_shininess值。使用彩色specular_texture允许在每个通道的基础上控制镜面光泽。只有当Light2D影响此CanvasTexture时才会产生可见效果。


TextureFilter texture_filter = 0 🔗

  • void set_texture_filter(value: TextureFilter)

  • TextureFilter get_texture_filter()

绘制此CanvasTexture时要使用的纹理过滤模式。


TextureRepeat texture_repeat = 0 🔗

  • void set_texture_repeat(value: TextureRepeat)

  • TextureRepeat get_texture_repeat()

绘制此CanvasTexture时使用的纹理重复模式。