Files
godot-docs-l10n/classes/zh_CN/class_canvastexture.rst

192 lines
10 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/CanvasTexture.xml.
.. _class_CanvasTexture:
CanvasTexture
=============
**继承:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
用于 2D 渲染的纹理,带有可选的法线和镜面贴图。
.. rst-class:: classref-introduction-group
描述
----
**CanvasTexture** 是用于 2D 渲染的 :ref:`ImageTexture<class_ImageTexture>` 的替代品。它允许在任何继承自 :ref:`CanvasItem<class_CanvasItem>` 的节点中使用法线贴图和镜面贴图。\ **CanvasTexture** 还允许独立于节点的属性(或项目设置)覆盖纹理的过滤模式和重复模式。
\ **注意:**\ **CanvasTexture** 不能在 3D 中使用。当应用于任何 :ref:`VisualInstance3D<class_VisualInstance3D>`\ ,例如 :ref:`Sprite3D<class_Sprite3D>`:ref:`Decal<class_Decal>` 时,它将无法正确显示。对于 3D 中基于物理的材质,请改用 :ref:`BaseMaterial3D<class_BaseMaterial3D>`\ 。
.. rst-class:: classref-introduction-group
教程
----
- :doc:`2D 灯光和阴影 <../tutorials/2d/2d_lights_and_shadows>`
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`diffuse_texture<class_CanvasTexture_property_diffuse_texture>` | |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`normal_texture<class_CanvasTexture_property_normal_texture>` | |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | resource_local_to_scene | ``false`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`specular_color<class_CanvasTexture_property_specular_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`specular_shininess<class_CanvasTexture_property_specular_shininess>` | ``1.0`` |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`specular_texture<class_CanvasTexture_property_specular_texture>` | |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`TextureFilter<enum_CanvasItem_TextureFilter>` | :ref:`texture_filter<class_CanvasTexture_property_texture_filter>` | ``0`` |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| :ref:`TextureRepeat<enum_CanvasItem_TextureRepeat>` | :ref:`texture_repeat<class_CanvasTexture_property_texture_repeat>` | ``0`` |
+-----------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_CanvasTexture_property_diffuse_texture:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **diffuse_texture**
.. rst-class:: classref-property-setget
- void **set_diffuse_texture** **(** :ref:`Texture2D<class_Texture2D>` value **)**
- :ref:`Texture2D<class_Texture2D>` **get_diffuse_texture** **(** **)**
要使用的漫反射(颜色)纹理。这是你在大多数情况下要设置的主要纹理。
.. rst-class:: classref-item-separator
----
.. _class_CanvasTexture_property_normal_texture:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **normal_texture**
.. rst-class:: classref-property-setget
- void **set_normal_texture** **(** :ref:`Texture2D<class_Texture2D>` value **)**
- :ref:`Texture2D<class_Texture2D>` **get_normal_texture** **(** **)**
要使用的法线贴图纹理。仅在有 :ref:`Light2D<class_Light2D>` 影响该 **CanvasTexture** 时才有可见的效果。
\ **注意:**\ Godot 期望法线贴图使用 X+、Y+、Z+ 坐标系。比较流行的引擎所期望的法线贴图坐标系见\ `这个页面 <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>`__\ 。
.. rst-class:: classref-item-separator
----
.. _class_CanvasTexture_property_specular_color:
.. rst-class:: classref-property
:ref:`Color<class_Color>` **specular_color** = ``Color(1, 1, 1, 1)``
.. rst-class:: classref-property-setget
- void **set_specular_color** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_Color>` **get_specular_color** **(** **)**
镜面反射颜色的乘数。在确定反射颜色时,\ :ref:`Light2D<class_Light2D>` 的颜色也会被考虑在内。只有在 :ref:`Light2D<class_Light2D>` 影响到这个 **CanvasTexture** 时才有可见的效果。
.. rst-class:: classref-item-separator
----
.. _class_CanvasTexture_property_specular_shininess:
.. rst-class:: classref-property
:ref:`float<class_float>` **specular_shininess** = ``1.0``
.. rst-class:: classref-property-setget
- void **set_specular_shininess** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_specular_shininess** **(** **)**
用于 :ref:`Light2D<class_Light2D>` 镜面反射的镜面指数。更高的值会产生更有光泽或更加“湿润”的外观,反射变得更局部,且整体上不太明显。默认值为 ``1.0`` ,将完全禁用镜面反射。只有在 :ref:`Light2D<class_Light2D>` 影响到这个 **CanvasTexture** 时才会有可见的效果。
.. rst-class:: classref-item-separator
----
.. _class_CanvasTexture_property_specular_texture:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **specular_texture**
.. rst-class:: classref-property-setget
- void **set_specular_texture** **(** :ref:`Texture2D<class_Texture2D>` value **)**
- :ref:`Texture2D<class_Texture2D>` **get_specular_texture** **(** **)**
用于 :ref:`Light2D<class_Light2D>` 镜面反射的镜面贴图。这应该是一个灰度或彩色纹理,更亮的区域会产生更高的 :ref:`specular_shininess<class_CanvasTexture_property_specular_shininess>` 值。使用彩色 :ref:`specular_texture<class_CanvasTexture_property_specular_texture>` 允许在每个通道的基础上控制镜面反射光泽度。仅当 :ref:`Light2D<class_Light2D>` 影响该 **CanvasTexture** 时才有可见的效果。
.. rst-class:: classref-item-separator
----
.. _class_CanvasTexture_property_texture_filter:
.. rst-class:: classref-property
:ref:`TextureFilter<enum_CanvasItem_TextureFilter>` **texture_filter** = ``0``
.. rst-class:: classref-property-setget
- void **set_texture_filter** **(** :ref:`TextureFilter<enum_CanvasItem_TextureFilter>` value **)**
- :ref:`TextureFilter<enum_CanvasItem_TextureFilter>` **get_texture_filter** **(** **)**
绘制该 **CanvasTexture** 时所使用的纹理过滤模式。
.. rst-class:: classref-item-separator
----
.. _class_CanvasTexture_property_texture_repeat:
.. rst-class:: classref-property
:ref:`TextureRepeat<enum_CanvasItem_TextureRepeat>` **texture_repeat** = ``0``
.. rst-class:: classref-property-setget
- void **set_texture_repeat** **(** :ref:`TextureRepeat<enum_CanvasItem_TextureRepeat>` value **)**
- :ref:`TextureRepeat<enum_CanvasItem_TextureRepeat>` **get_texture_repeat** **(** **)**
绘制该 **CanvasTexture** 时所使用的纹理重复模式。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |const| replace:: :abbr:`const (本方法没有副作用。不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,所以可以直接使用类名调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效操作符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列标志构成的位掩码整数。)`