Files
godot-docs-l10n/classes/zh_Hant/class_visualinstance3d.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

227 lines
13 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_VisualInstance3D:
VisualInstance3D
================
**繼承:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**被繼承:** :ref:`Decal<class_Decal>`, :ref:`FogVolume<class_FogVolume>`, :ref:`GeometryInstance3D<class_GeometryInstance3D>`, :ref:`GPUParticlesAttractor3D<class_GPUParticlesAttractor3D>`, :ref:`GPUParticlesCollision3D<class_GPUParticlesCollision3D>`, :ref:`Light3D<class_Light3D>`, :ref:`LightmapGI<class_LightmapGI>`, :ref:`OccluderInstance3D<class_OccluderInstance3D>`, :ref:`OpenXRVisibilityMask<class_OpenXRVisibilityMask>`, :ref:`ReflectionProbe<class_ReflectionProbe>`, :ref:`RootMotionView<class_RootMotionView>`, :ref:`VisibleOnScreenNotifier3D<class_VisibleOnScreenNotifier3D>`, :ref:`VoxelGI<class_VoxelGI>`
所有可視 3D 節點的父節點。
.. rst-class:: classref-introduction-group
說明
----
**VisualInstance3D** 可用於將資源連接到視覺表示。所有的視覺化 3D 節點都繼承自 **VisualInstance3D**\ 。一般來說,你不應該直接存取 **VisualInstance3D** 的屬性,因為它們是由繼承自 **VisualInstance3D** 的節點存取和管理的。\ **VisualInstance3D**:ref:`RenderingServer<class_RenderingServer>` 實例的節點表示。
.. rst-class:: classref-reftable-group
屬性
----
.. table::
:widths: auto
+---------------------------+-----------------------------------------------------------------------------------------+-------+
| :ref:`int<class_int>` | :ref:`layers<class_VisualInstance3D_property_layers>` | ``1`` |
+---------------------------+-----------------------------------------------------------------------------------------+-------+
| :ref:`float<class_float>` | :ref:`sorting_offset<class_VisualInstance3D_property_sorting_offset>` | |
+---------------------------+-----------------------------------------------------------------------------------------+-------+
| :ref:`bool<class_bool>` | :ref:`sorting_use_aabb_center<class_VisualInstance3D_property_sorting_use_aabb_center>` | |
+---------------------------+-----------------------------------------------------------------------------------------+-------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_AABB>` | :ref:`_get_aabb<class_VisualInstance3D_private_method__get_aabb>`\ (\ ) |virtual| |const| |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_AABB>` | :ref:`get_aabb<class_VisualInstance3D_method_get_aabb>`\ (\ ) |const| |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_base<class_VisualInstance3D_method_get_base>`\ (\ ) |const| |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_instance<class_VisualInstance3D_method_get_instance>`\ (\ ) |const| |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_layer_mask_value<class_VisualInstance3D_method_get_layer_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_base<class_VisualInstance3D_method_set_base>`\ (\ base\: :ref:`RID<class_RID>`\ ) |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_layer_mask_value<class_VisualInstance3D_method_set_layer_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
屬性說明
--------
.. _class_VisualInstance3D_property_layers:
.. rst-class:: classref-property
:ref:`int<class_int>` **layers** = ``1`` :ref:`🔗<class_VisualInstance3D_property_layers>`
.. rst-class:: classref-property-setget
- |void| **set_layer_mask**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_layer_mask**\ (\ )
繪製該 **VisualInstance3D** 的算繪層。
\ :ref:`Camera3D<class_Camera3D>` 的剔除遮罩包含該 **VisualInstance3D** 所設定的任何算繪層時,該物件才在該相機中可見。
對於 :ref:`Light3D<class_Light3D>`\ ,可以用於控制指定的燈光能夠影響哪些 **VisualInstance3D**\ 。對於 :ref:`GPUParticles3D<class_GPUParticles3D>`\ ,可以用於控制哪些粒子受到吸引器的影響。對於 :ref:`Decal<class_Decal>`\ ,可以用於控制哪些 **VisualInstance3D** 受到指定裝飾的影響。
要在腳本中更加方便地調整 :ref:`layers<class_VisualInstance3D_property_layers>`\ ,請使用 :ref:`get_layer_mask_value()<class_VisualInstance3D_method_get_layer_mask_value>`:ref:`set_layer_mask_value()<class_VisualInstance3D_method_set_layer_mask_value>`\ 。
\ **注意:**\ :ref:`VoxelGI<class_VoxelGI>`\ 、SDFGI、\ :ref:`LightmapGI<class_LightmapGI>` 在確定全域光照影響時始終會考慮所有算繪層。如果不希望這樣,請將網格的 :ref:`GeometryInstance3D.gi_mode<class_GeometryInstance3D_property_gi_mode>` 設定為 :ref:`GeometryInstance3D.GI_MODE_DISABLED<class_GeometryInstance3D_constant_GI_MODE_DISABLED>`\ ,將燈光的 :ref:`Light3D.light_bake_mode<class_Light3D_property_light_bake_mode>` 設定為 :ref:`Light3D.BAKE_DISABLED<class_Light3D_constant_BAKE_DISABLED>`\ ,這樣就能從全域光照中剔除。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_property_sorting_offset:
.. rst-class:: classref-property
:ref:`float<class_float>` **sorting_offset** :ref:`🔗<class_VisualInstance3D_property_sorting_offset>`
.. rst-class:: classref-property-setget
- |void| **set_sorting_offset**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_sorting_offset**\ (\ )
按深度排序時該 **VisualInstance3D** 的深度將調整的量。使用與引擎相同的單位(通常是米)。將其調整為更高的值,將使 **VisualInstance3D** 可靠地繪製在位於同一位置的其他 **VisualInstance3D** 之上。為確保它始終繪製在它周圍的其他物件之上(不位於同一位置),請將值設定為大於該 **VisualInstance3D** 與附近其他 **VisualInstance3D** 之間的距離值。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_property_sorting_use_aabb_center:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **sorting_use_aabb_center** :ref:`🔗<class_VisualInstance3D_property_sorting_use_aabb_center>`
.. rst-class:: classref-property-setget
- |void| **set_sorting_use_aabb_center**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_sorting_use_aabb_center**\ (\ )
如果為 ``true``\ ,則該物件會根據其 :ref:`AABB<class_AABB>` 中心點排序。否則會根據其全局位置排序。
對 3D 模型而言,根據 :ref:`AABB<class_AABB>` 的中心點排序一般更為精確。使用 :ref:`GPUParticles3D<class_GPUParticles3D>` 和 :ref:`CPUParticles3D<class_CPUParticles3D>` 時,根據位置排序能夠更好地控制繪製順序。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法說明
--------
.. _class_VisualInstance3D_private_method__get_aabb:
.. rst-class:: classref-method
:ref:`AABB<class_AABB>` **_get_aabb**\ (\ ) |virtual| |const| :ref:`🔗<class_VisualInstance3D_private_method__get_aabb>`
.. container:: contribute
There is currently no description for this method. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_method_get_aabb:
.. rst-class:: classref-method
:ref:`AABB<class_AABB>` **get_aabb**\ (\ ) |const| :ref:`🔗<class_VisualInstance3D_method_get_aabb>`
返回此 **VisualInstance3D** 的 :ref:`AABB<class_AABB>`\ (也叫邊界框)。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_method_get_base:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_base**\ (\ ) |const| :ref:`🔗<class_VisualInstance3D_method_get_base>`
返回與此 **VisualInstance3D** 相關聯的資源的 RID。例如如果該節點是 :ref:`MeshInstance3D<class_MeshInstance3D>`\ ,則會返回相關聯的 :ref:`Mesh<class_Mesh>` 的 RID。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_method_get_instance:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_instance**\ (\ ) |const| :ref:`🔗<class_VisualInstance3D_method_get_instance>`
返回這個實例的 RID。這個 RID 與 :ref:`RenderingServer.instance_create()<class_RenderingServer_method_instance_create>` 返回的 RID 相同。如果你想為這個 **VisualInstance3D** 直接呼叫 :ref:`RenderingServer<class_RenderingServer>` 函數,就需要這個 RID。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_method_get_layer_mask_value:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_layer_mask_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_VisualInstance3D_method_get_layer_mask_value>`
返回是否啟用了 :ref:`layers<class_VisualInstance3D_property_layers>` 的指定層,該層由一個介於 1 和 20 之間的 ``layer_number`` 指定。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_method_set_base:
.. rst-class:: classref-method
|void| **set_base**\ (\ base\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_VisualInstance3D_method_set_base>`
設定由該 **VisualInstance3D** 產生實體的資源,這將改變引擎在底層對該 **VisualInstance3D** 的處理方式。相當於 :ref:`RenderingServer.instance_set_base()<class_RenderingServer_method_instance_set_base>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_VisualInstance3D_method_set_layer_mask_value:
.. rst-class:: classref-method
|void| **set_layer_mask_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_VisualInstance3D_method_set_layer_mask_value>`
基於 ``value``\ ,啟用或禁用 :ref:`layers<class_VisualInstance3D_property_layers>` 中的指定層,該層由一個介於 1 和 20 之間的給定 ``layer_number`` 指定。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要使用者覆寫才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法沒有副作用。不會修改該實例的任何成員變數。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了這裡描述的參數外,還可以接受任意數量的參數。)`
.. |constructor| replace:: :abbr:`constructor (本方法用於建構一個型別。)`
.. |static| replace:: :abbr:`static (本方法無需實例即可呼叫,因此可以直接使用類別名稱呼叫。)`
.. |operator| replace:: :abbr:`operator (本方法描述將本型別作為左運算元時可用的有效運算子。)`
.. |bitfield| replace:: :abbr:`BitField (此值是由下列旗標組成的位元遮罩整數。)`
.. |void| replace:: :abbr:`void (無回傳值。)`