Перейти к основному содержимому

Collider Binders

Биндеры для управления свойствами коллайдеров через привязку к ViewModel.


Общие биндеры

БиндерТип данныхОписание
ColliderEnabledBinderboolCollider.enabled — включение/отключение
ColliderIsTriggerBinderboolCollider.isTrigger — режим триггера
ColliderMaterialBinderPhysicsMaterialCollider.material — физический материал
ColliderMaterialSwitcherBinderboolPhysicsMaterialВыбор материала по условию
ColliderProvidesContactsBinderboolCollider.providesContacts
ColliderContactOffsetBinderfloatCollider.contactOffset, минимум 0.0001
ColliderIncludeLayersBinderintCollider.includeLayers
ColliderExcludeLayersBinderintCollider.excludeLayers

BoxCollider

БиндерТип данныхОписание
BoxColliderCenterBinderVector3BoxCollider.center
BoxColliderSizeBinderVector3BoxCollider.size, отрицательные компоненты поднимаются до 0

CapsuleCollider

БиндерТип данныхОписание
CapsuleColliderCenterBinderVector3CapsuleCollider.center
CapsuleColliderRadiusBinderfloatCapsuleCollider.radius, не ниже 0
CapsuleColliderHeightBinderfloatCapsuleCollider.height, не ниже 0
CapsuleColliderDirectionBinderintCapsuleCollider.direction, 0..2

SphereCollider

БиндерТип данныхОписание
SphereColliderCenterBinderVector3SphereCollider.center
SphereColliderRadiusBinderfloatSphereCollider.radius, не ниже 0

MeshCollider

БиндерТип данныхОписание
MeshColliderMeshBinderMeshMeshCollider.sharedMesh
MeshColliderConvexBinderboolMeshCollider.convex
MeshColliderCookingOptionsBinderMeshColliderCookingOptionsMeshCollider.cookingOptions

Collider2D

БиндерТип данныхОписание
Collider2DIsTriggerBinderboolCollider2D.isTrigger
Collider2DMaterialBinderPhysicsMaterial2DCollider2D.sharedMaterial
Collider2DOffsetBinderVector2Collider2D.offset, только конечные значения
Collider2DDensityBinderfloatCollider2D.density, не ниже 0; работает при Rigidbody2D.useAutoMass
BoxCollider2DSizeBinderVector2BoxCollider2D.size, отрицательные компоненты поднимаются до 0
CapsuleCollider2DSizeBinderVector2CapsuleCollider2D.size, отрицательные компоненты поднимаются до 0
CircleCollider2DRadiusBinderfloatCircleCollider2D.radius, не ниже 0

Поддерживаемые режимы

Все collider-биндеры поддерживают OneWay, OneTime и OneWayToSource. TwoWay не доступен.


Пример использования

[ViewModel]
public partial class DamageZoneViewModel
{
[OneWayBind] private bool _isActive;
[OneWayBind] private float _radius;
}

В Inspector:

  • ColliderEnabledBinder → привязка к IsActive
  • SphereColliderRadiusBinder → привязка к Radius

См. также