VoxelInstanceLibraryMultiMeshItem
Модель, основанная на использовании MultiMesh чтобы передать.
Модель, основанная на использовании MultiMesh чтобы передать.
Эта модель подходит для производства очень большого количества простых примеров, таких как трава и камни.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
VoxelInstanceLibraryMultiMeshItemКонструктор
public VoxelInstanceLibraryMultiMeshItem();Свойства21
CastShadowСвойство
public RenderingServer.ShadowCastingSetting CastShadow { get; set; }CollisionDistanceСвойство
public float CollisionDistance { get; set; }При конфигурации более 0 и коллайдеров намекает на расстояние, ниже которого могут создаваться коллайдеры. Это позволяет уменьшить количество коллайдеров, сохраняя при этом высокую дистанцию обзора для визуализации. Когда отрицательный, коллайдеры будут создаваться на всех расстояниях. Примечание: Привод создает/отменяет коллайдеры на основе 1 чел., так что это расстояние сопоставляется с расстоянием до кусков, а не с отдельными случаями.
CollisionLayerСвойство
public int CollisionLayer { get; set; }CollisionMaskСвойство
public int CollisionMask { get; set; }CollisionShapesСвойство
public Reckfell.Collections.Array CollisionShapes { get; set; }Пересмешанный список CollisionShape и Transform3DНа первом месте находится форма, за которой следует локальная трансформация по отношению к случаю.
GIModeСвойство
public GeometryInstance3D.GIModeEnum GIMode { get; set; }HideBeyondMaxLodСвойство
public bool HideBeyondMaxLod { get; set; }MaterialOverrideСвойство
public Material MaterialOverride { get; set; }MeshСвойство
public Mesh Mesh { get; set; }MeshLod0DistanceRatioСвойство
public float MeshLod0DistanceRatio { get; set; }MeshLod1Свойство
public Mesh MeshLod1 { get; set; }MeshLod1DistanceRatioСвойство
public float MeshLod1DistanceRatio { get; set; }MeshLod2Свойство
public Mesh MeshLod2 { get; set; }MeshLod2DistanceRatioСвойство
public float MeshLod2DistanceRatio { get; set; }MeshLod3Свойство
public Mesh MeshLod3 { get; set; }MeshLod3DistanceRatioСвойство
public float MeshLod3DistanceRatio { get; set; }RemovalBehaviorСвойство
public VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum RemovalBehavior { get; set; }Это полезно, если они должны превратиться в более сложные объекты с анимацией или логикой.
RemovalSceneСвойство
public PackedEntity RemovalScene { get; set; }Сцена, которая будет использоваться, если VoxelInstanceLibraryMultiMeshItem.RemovalBehavior установлен следующим образом: VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum.Instantiate.
RenderLayerСвойство
public int RenderLayer { get; set; }SceneСвойство
public PackedEntity Scene { get; set; }Сцена, которая будет использоваться в качестве конфигурации вместо свойств вручную. Она должна иметь конкретную структуру узла для поддержки. См. [url]https://voxel-tools.readthedocs.io/en/latest/instancing/#setting-up-a-multimesh-item-from-a-scene[/url]
_MeshLodDistanceRatiosСвойство
public float[] _MeshLodDistanceRatios { get; set; }Методы30
GetCastShadowsSettingRenderingServer.ShadowCastingSetting
public RenderingServer.ShadowCastingSetting GetCastShadowsSetting();RenderingServer.ShadowCastingSettingGetColliderGroupNamesReckfell.Collections.Array<StringName>
public Reckfell.Collections.Array<StringName> GetColliderGroupNames();Получает список групповых имен, добавленных в узлы коллайдеров.
Reckfell.Collections.Array<StringName>GetCollisionDistancefloat
public float GetCollisionDistance();floatGetCollisionLayerint
public int GetCollisionLayer();intGetCollisionMaskint
public int GetCollisionMask();intGetCollisionShapesReckfell.Collections.Array
public Reckfell.Collections.Array GetCollisionShapes();Reckfell.Collections.ArrayGetGIModeGeometryInstance3D.GIModeEnum
public GeometryInstance3D.GIModeEnum GetGIMode();GeometryInstance3D.GIModeEnumGetHideBeyondMaxLodbool
public bool GetHideBeyondMaxLod();boolGetMaterialOverrideMaterial
public Material GetMaterialOverride();MaterialGetMeshMesh
public Mesh GetMesh(int meshLodIndex);| Имя | Тип | По умолчанию |
|---|---|---|
meshLodIndex | int | — |
MeshGetRemovalBehaviorVoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum
public VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum GetRemovalBehavior();VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnumGetRemovalScenePackedEntity
public PackedEntity GetRemovalScene();PackedEntityGetRenderLayerint
public int GetRenderLayer();intGetScenePackedEntity
public PackedEntity GetScene();PackedEntitySetCastShadowsSettingvoid
public void SetCastShadowsSetting(RenderingServer.ShadowCastingSetting mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | RenderingServer.ShadowCastingSetting | — |
SetColliderGroupNamesvoid
public void SetColliderGroupNames(Reckfell.Collections.Array<StringName> names);Устанавливает список групповых имен, которые будут добавлены в узлы коллайдеров, созданные для каждого случая.
| Имя | Тип | По умолчанию |
|---|---|---|
names | Reckfell.Collections.Array<StringName> | — |
SetCollisionDistancevoid
public void SetCollisionDistance(float distance);| Имя | Тип | По умолчанию |
|---|---|---|
distance | float | — |
SetCollisionLayervoid
public void SetCollisionLayer(int collisionLayer);| Имя | Тип | По умолчанию |
|---|---|---|
collisionLayer | int | — |
SetCollisionMaskvoid
public void SetCollisionMask(int collisionMask);| Имя | Тип | По умолчанию |
|---|---|---|
collisionMask | int | — |
SetCollisionShapesvoid
public void SetCollisionShapes(Reckfell.Collections.Array shapeInfos);| Имя | Тип | По умолчанию |
|---|---|---|
shapeInfos | Reckfell.Collections.Array | — |
SetGIModevoid
public void SetGIMode(GeometryInstance3D.GIModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | GeometryInstance3D.GIModeEnum | — |
SetHideBeyondMaxLodvoid
public void SetHideBeyondMaxLod(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetMaterialOverridevoid
public void SetMaterialOverride(Material material);| Имя | Тип | По умолчанию |
|---|---|---|
material | Material | — |
SetMeshvoid
public void SetMesh(Mesh mesh, int meshLodIndex);| Имя | Тип | По умолчанию |
|---|---|---|
mesh | Mesh | — |
meshLodIndex | int | — |
SetRemovalBehaviorvoid
public void SetRemovalBehavior(VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum rb);| Имя | Тип | По умолчанию |
|---|---|---|
rb | VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum | — |
SetRemovalScenevoid
public void SetRemovalScene(PackedEntity scene);| Имя | Тип | По умолчанию |
|---|---|---|
scene | PackedEntity | — |
SetRenderLayervoid
public void SetRenderLayer(int renderLayer);| Имя | Тип | По умолчанию |
|---|---|---|
renderLayer | int | — |
SetScenevoid
public void SetScene(PackedEntity scene);| Имя | Тип | По умолчанию |
|---|---|---|
scene | PackedEntity | — |
SetupFromTemplatevoid
public void SetupFromTemplate(Entity node);| Имя | Тип | По умолчанию |
|---|---|---|
node | Entity | — |
_OnInstanceRemovedvoid
public virtual void _OnInstanceRemoved(VoxelInstancer instancer, Transform3D transform);Этот метод будет назван, если вы установите VoxelInstanceLibraryMultiMeshItem.RemovalBehavior в адрес VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum.Callback.
Примечание: Этот метод можно назвать методом удаления узла, являющегося ребенком VoxelInstancerВ этом контексте, Reckfell не позволит вам добавить новые детские узлы. ReckfellObject.CallDeferredСм. также VoxelInstancerRigidBody.QueueFreeAndNotifyInstancer.
| Имя | Тип | По умолчанию |
|---|---|---|
instancer | VoxelInstancer | — |
transform | Transform3D | — |
Поля и константы1
MaxMeshLodsПоле
public const long MaxMeshLods = 4;VoxelInstanceLibraryMultiMeshItem.RemovalBehaviorEnum
| Значение | Описание |
|---|---|
Callback = 2 | Звонки |
Instantiate = 1 | Необоснованность |
None = 0 | Не будет никакой дополнительной логики, когда будут удалены примеры. |