MD Package Technical & APi Documentation
Introduction
Bases
MD_MeshBase
MD_ModifierBase
MD_GeometryBase
CoreTools
MD_MeshProEditor
MD_MeshColliderRefresher
MD_MeshEditorRuntimeAxisGizmo
MD_MeshEditorRuntimePullPushGrab
MD_MeshEditorRuntimeVR
Preferences
MD_Preferences
Modifiers
MDM_AngularBend
MDM_Bend
MDM_FFD
MDM_InteractiveSurface
MDM_MeshCut
MDM_MeshDamage
MDM_MeshDamageGPU
MDM_MeshEffector
MDM_MeshFit
MDM_MeshNoise
MDM_MeshSlime
MDM_Morpher
MDM_SculptingLite
MDM_SoundReact
MDM_Twist
Splines
MDM_SplineHandler
MDM_SplineBinder
MDM_SplineInstanceDistributor
MDM_SplineShapePresets
Geometry
MDG_Cone
MDG_Cube
MDG_HexagonGrid
MDG_Octahedron
MDG_ProceduralExtendedPlane
MDG_ProceduralPlane
MDG_Sphere
MDG_Torus
MDG_Triangle
MDG_Tube
MeshPainting
MDG_MeshPaintingRuntime
MDG_MeshPaintingSource
SplineGeometry
MDG_SplineLineRenderer
MDG_SplinePathEditor
MDG_SplineTunnelEditor
Utilities
MDUtil_PackageSpecifics
MDUtil_Perlin
MDUtil_Transformations
MeshUtils
MD_MeshColliderRefresher
Namespace: MDPackage
A tool that generates a mesh collider with advanced settings.
Read more here (Online documentation slide)
Properties
// Choose between four refresh types - Once (in awake), PerFrame (in update), Interval (in update per interval in sec) or Never
public
RefreshType
CurrentRefreshType {
get
;
set
; }
public
float
IntervalInSeconds {
get
;
set
; }
public
bool
ConvexMeshCollider {
get
;
set
; }
public
MeshColliderCookingOptions
CookingOptions {
get
;
set
; }
// Sets the layer to '2'
public
bool
IgnoreRaycast {
get
;
set
; }
// Offset the mesh collider's vertices by specific vec3
public
bool
AddColliderOffset {
get
;
set
; }
public
Vector3
ColliderOffset {
get
;
set
; }
public
MeshCollider
MeshColliderCache {
get
;
set
; }
Public Methods
// Update current mesh collider
public
void
MeshCollider_UpdateMeshCollider()
Examples
The following paragraphs contain MeshColliderRefresher used in a practical example. Create a new mesh collider refresher and update its source.
using
UnityEngine;
using
MDPackage;
[
RequireComponent
(
typeof
(
MeshFilter
))]
public
class
SampleScript
:
MonoBehaviour
{
private
MD_MeshColliderRefresher
meshColliderRefresher;
private
void
Start()
{
// Add MCR to the current meshFilter gameObject
meshColliderRefresher = gameObject.AddComponent<
MD_MeshColliderRefresher
>();
// Update mesh collider afterwards with custom offset
meshColliderRefresher.CurrentRefreshType =
MD_MeshColliderRefresher
.
RefreshType
.Once;
meshColliderRefresher.AddColliderOffset =
true
;
meshColliderRefresher.ColliderOffset =
Vector3
.down *
0.1f
;
// The collider will be generated slightly below the mesh
meshColliderRefresher.MeshCollider_UpdateMeshCollider();
}
}