Click or drag to resize

LightningMeshSurfaceScript Class

Script that generates lightning on the surface of a mesh
Inheritance Hierarchy
SystemObject
  Object
    Component
      Behaviour
        MonoBehaviour
          DigitalRuby.ThunderAndLightningLightningBoltScript
            DigitalRuby.ThunderAndLightningLightningBoltPrefabScriptBase
              DigitalRuby.ThunderAndLightningLightningMeshSurfaceScript

Namespace:  DigitalRuby.ThunderAndLightning
Assembly:  Assembly-CSharp (in Assembly-CSharp.dll) Version: 0.0.0.0
Syntax
public class LightningMeshSurfaceScript : LightningBoltPrefabScriptBase

The LightningMeshSurfaceScript type exposes the following members.

Constructors
  NameDescription
Public methodLightningMeshSurfaceScript
Initializes a new instance of the LightningMeshSurfaceScript class
Top
Properties
  NameDescription
Public propertyanimation Obsolete.

The Animation attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyaudio Obsolete.

The AudioSource attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertycamera Obsolete.

The Camera attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertycollider Obsolete.

The Collider attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertycollider2D Obsolete.

The Collider2D component attached to the object.

(Inherited from Component.)
Public propertyconstantForce Obsolete.

The ConstantForce attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyenabled

Enabled Behaviours are Updated, disabled Behaviours are not.

(Inherited from Behaviour.)
Public propertygameObject

The game object this component is attached to. A component is always attached to a game object.

(Inherited from Component.)
Public propertyguiElement Obsolete. (Inherited from Component.)
Public propertyguiText Obsolete.

The GUIText attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyguiTexture Obsolete.

The GUITexture attached to this GameObject (Read Only). (null if there is none attached).

(Inherited from Component.)
Public propertyHasActiveBolts
Whether the script has active lightning bolts
(Inherited from LightningBoltScript.)
Public propertyhideFlags

Should the object be hidden, saved with the scene or modifiable by the user?

(Inherited from Object.)
Public propertyhingeJoint Obsolete.

The HingeJoint attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyisActiveAndEnabled

Has the Behaviour had enabled called.

(Inherited from Behaviour.)
Public propertylight Obsolete.

The Light attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyLightAddedCallback
Fires when a light is added
(Inherited from LightningBoltScript.)
Public propertyLightningEndedCallback
Fires when lightning bolt is ended (trunk width, start, end)
(Inherited from LightningBoltScript.)
Public propertyLightningStartedCallback
Fires when lightning bolt is created (trunk width, start, end)
(Inherited from LightningBoltScript.)
Public propertyLightRemovedCallback
Fires when a light is removed
(Inherited from LightningBoltScript.)
Public propertyname

The name of the object.

(Inherited from Object.)
Public propertynetworkView Obsolete.

The NetworkView attached to this GameObject (Read Only). (null if there is none attached).

(Inherited from Component.)
Public propertyparticleEmitter Obsolete.

The ParticleEmitter attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyparticleSystem Obsolete.

The ParticleSystem attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyRandomOverride
Override the random generator for the bolts
(Inherited from LightningBoltPrefabScriptBase.)
Public propertyrenderer Obsolete.

The Renderer attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyrigidbody Obsolete.

The Rigidbody attached to this GameObject. (Null if there is none attached).

(Inherited from Component.)
Public propertyrigidbody2D Obsolete.

The Rigidbody2D that is attached to the Component's GameObject.

(Inherited from Component.)
Public propertyrunInEditMode

Allow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor).

(Inherited from MonoBehaviour.)
Public propertytag

The tag of this game object.

(Inherited from Component.)
Public propertytransform

The Transform attached to this GameObject.

(Inherited from Component.)
Public propertyuseGUILayout

Disabling this lets you skip the GUI layout phase.

(Inherited from MonoBehaviour.)
Top
Methods
  NameDescription
Protected methodAwake
AWake
(Inherited from LightningBoltScript.)
Public methodBroadcastMessage(String)

Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

(Inherited from Component.)
Public methodBroadcastMessage(String, Object)

Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

(Inherited from Component.)
Public methodBroadcastMessage(String, SendMessageOptions)

Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

(Inherited from Component.)
Public methodBroadcastMessage(String, Object, SendMessageOptions)

Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

(Inherited from Component.)
Public methodCancelInvoke

Cancels all Invoke calls on this MonoBehaviour.

(Inherited from MonoBehaviour.)
Public methodCancelInvoke(String)

Cancels all Invoke calls with name methodName on this behaviour.

(Inherited from MonoBehaviour.)
Public methodCompareTag

Is this game object tagged with tag ?

(Inherited from Component.)
Public methodCreateLightningBolt
Create a lightning bolt
(Overrides LightningBoltPrefabScriptBaseCreateLightningBolt(LightningBoltParameters).)
Public methodCreateLightningBolts
Create multiple lightning bolts, attempting to batch them into as few draw calls as possible
(Inherited from LightningBoltScript.)
Protected methodCreateLightningBoltsNow
Create lightning bolts immediately
(Inherited from LightningBoltPrefabScriptBase.)
Protected methodCreateParameters
Get or create lightning bolt parameters from cache, and set quality setting
(Inherited from LightningBoltScript.)
Public methodCreateRandomLightningPath
Gets a path for lightning starting at a random point on the mesh
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetComponent(Type)

Returns the component of Type type if the game object has one attached, null if it doesn't.

(Inherited from Component.)
Public methodGetComponent(String)

Returns the component with name type if the game object has one attached, null if it doesn't.

(Inherited from Component.)
Public methodGetComponent``1 (Inherited from Component.)
Public methodGetComponentInChildren(Type)

Returns the component of Type type in the GameObject or any of its children using depth first search.

(Inherited from Component.)
Public methodGetComponentInChildren(Type, Boolean) (Inherited from Component.)
Public methodGetComponentInChildren``1 (Inherited from Component.)
Public methodGetComponentInChildren``1(Boolean) (Inherited from Component.)
Public methodGetComponentInParent(Type)

Returns the component of Type type in the GameObject or any of its parents.

(Inherited from Component.)
Public methodGetComponentInParent``1 (Inherited from Component.)
Public methodGetComponents(Type)

Returns all components of Type type in the GameObject.

(Inherited from Component.)
Public methodGetComponents(Type, ListComponent) (Inherited from Component.)
Public methodGetComponents``1 (Inherited from Component.)
Public methodGetComponents``1(ListUMP) (Inherited from Component.)
Public methodGetComponentsInChildren(Type)

Returns all components of Type type in the GameObject or any of its children.

(Inherited from Component.)
Public methodGetComponentsInChildren(Type, Boolean)

Returns all components of Type type in the GameObject or any of its children.

(Inherited from Component.)
Public methodGetComponentsInChildren``1 (Inherited from Component.)
Public methodGetComponentsInChildren``1(Boolean) (Inherited from Component.)
Public methodGetComponentsInChildren``1(ListUMP) (Inherited from Component.)
Public methodGetComponentsInChildren``1(Boolean, ListUMP) (Inherited from Component.)
Public methodGetComponentsInParent(Type) (Inherited from Component.)
Public methodGetComponentsInParent(Type, Boolean)

Returns all components of Type type in the GameObject or any of its parents.

(Inherited from Component.)
Public methodGetComponentsInParent``1 (Inherited from Component.)
Public methodGetComponentsInParent``1(Boolean) (Inherited from Component.)
Public methodGetComponentsInParent``1(Boolean, ListUMP) (Inherited from Component.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetInstanceID

Returns the instance id of the object.

(Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodInvoke

Invokes the method methodName in time seconds.

(Inherited from MonoBehaviour.)
Public methodInvokeRepeating

Invokes the method methodName in time seconds, then repeatedly every repeatRate seconds.

(Inherited from MonoBehaviour.)
Public methodIsInvoking

Is any invoke pending on this MonoBehaviour?

(Inherited from MonoBehaviour.)
Public methodIsInvoking(String)

Is any invoke on methodName pending?

(Inherited from MonoBehaviour.)
Protected methodLateUpdate
LateUpdate
(Inherited from LightningBoltScript.)
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodOnCreateParameters
Create lightning bolt path parameters
(Overrides LightningBoltScriptOnCreateParameters.)
Protected methodOnDrawGizmos
OnDrawGizmos
(Inherited from LightningBoltPrefabScriptBase.)
Protected methodPopulateParameters
Populate lightning bolt parameters from script
(Inherited from LightningBoltPrefabScriptBase.)
Protected methodPopulateSourcePoints
Populate the points for a lightning path. This implementation simply picks a random point and then spreads out in random directions along the mesh.
Public methodSendMessage(String)

Calls the method named methodName on every MonoBehaviour in this game object.

(Inherited from Component.)
Public methodSendMessage(String, Object)

Calls the method named methodName on every MonoBehaviour in this game object.

(Inherited from Component.)
Public methodSendMessage(String, SendMessageOptions)

Calls the method named methodName on every MonoBehaviour in this game object.

(Inherited from Component.)
Public methodSendMessage(String, Object, SendMessageOptions)

Calls the method named methodName on every MonoBehaviour in this game object.

(Inherited from Component.)
Public methodSendMessageUpwards(String)

Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.

(Inherited from Component.)
Public methodSendMessageUpwards(String, Object)

Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.

(Inherited from Component.)
Public methodSendMessageUpwards(String, SendMessageOptions)

Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.

(Inherited from Component.)
Public methodSendMessageUpwards(String, Object, SendMessageOptions)

Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.

(Inherited from Component.)
Protected methodStart
Start
(Overrides LightningBoltPrefabScriptBaseStart.)
Public methodStartCoroutine(IEnumerator)

Starts a coroutine.

(Inherited from MonoBehaviour.)
Public methodStartCoroutine(String)

Starts a coroutine named methodName.

(Inherited from MonoBehaviour.)
Public methodStartCoroutine(String, Object)

Starts a coroutine named methodName.

(Inherited from MonoBehaviour.)
Public methodStartCoroutine_Auto Obsolete. (Inherited from MonoBehaviour.)
Public methodStopAllCoroutines

Stops all coroutines running on this behaviour.

(Inherited from MonoBehaviour.)
Public methodStopCoroutine(String)

Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.

(Inherited from MonoBehaviour.)
Public methodStopCoroutine(IEnumerator)

Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.

(Inherited from MonoBehaviour.)
Public methodStopCoroutine(Coroutine)

Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.

(Inherited from MonoBehaviour.)
Public methodToString

Returns the name of the GameObject.

(Inherited from Object.)
Public methodTrigger
Manually trigger the lightning once
(Inherited from LightningBoltPrefabScriptBase.)
Public methodTrigger(Single)
Manually trigger lightning
(Inherited from LightningBoltPrefabScriptBase.)
Public methodTrigger(NullableVector3, NullableVector3)
Manually trigger lightning
(Inherited from LightningBoltPrefabScriptBase.)
Protected methodUpdate
Update
(Overrides LightningBoltPrefabScriptBaseUpdate.)
Top
Fields
  NameDescription
Public fieldAutomaticModeSeconds
Turns lightning into automatic mode for this number of seconds, then puts it into manual mode.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldCamera
The camera the lightning should be shown in. Defaults to the current camera, or the main camera if current camera is null. If you are using a different camera, you may want to put the lightning in it's own layer and cull that layer out of any other cameras.
(Inherited from LightningBoltScript.)
Public fieldCameraMode
Type of camera mode. Auto detects the camera and creates appropriate lightning. Can be overriden to do something more specific regardless of camera.
(Inherited from LightningBoltScript.)
Public fieldChaosFactor
The chaos factor that determines how far the lightning main trunk can spread out, higher numbers spread out more. 0 - 1.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldChaosFactorForks
The chaos factor that determines how far the forks of the lightning can spread out, higher numbers spread out more. 0 - 1.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldCompensateForParentTransform
Whether to compensate for the parent transform. Default is false. If true, rotation, scale and position are altered by the parent transform. Use this to fix scaling, rotation and other offset problems with the lightning.
(Inherited from LightningBoltScript.)
Public fieldCountProbabilityModifier
Reduces the probability that additional bolts from CountRange will actually happen (0 - 1).
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldCountRange
How many lightning bolts to emit for each interval
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldCustomTransformHandler
Custom handler to modify the transform of each lightning bolt, useful if it will be alive longer than a few frames and needs to scale and rotate based on the position of other objects.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldDelayRange
Delay in seconds (range) before each additional lightning bolt in count range is emitted
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldDestinationBlendMode
Destination blend mode. Default is One. For additive blend use One. For alpha blend use OneMinusSrcAlpha.
(Inherited from LightningBoltScript.)
Public fieldDistancePerSegmentHint
For spline. the distance hint for each spline segment. Set to <= 0 to use the generations to determine how many spline segments to use. If > 0, it will be divided by Generations before being applied. This value is a guideline and is approximate, and not uniform on the spline.
Public fieldDurationRange
For each bolt emitted, how long should it stay in seconds
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldEndWidthMultiplier
How much smaller the lightning should get as it goes towards the end of the bolt. For example, 0.5 will make the end 50% the width of the start.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldFadeFullyLitMultiplier
Modify the duration of fully lit lightning.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldFadeInMultiplier
Modify the duration of lightning fade in.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldFadeOutMultiplier
Modify the duration of lightning fade out.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldFadePercent
What percent of time the lightning should fade in and out. For example, 0.15 fades in 15% of the time and fades out 15% of the time, with full visibility 70% of the time.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldForkedness
How forked should the lightning be? (0 - 1, 0 for none, 1 for lots of forks)
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldForkEndWidthMultiplier
Forks have their EndWidthMultiplier multiplied by this value
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldForkLengthMultiplier
Minimum distance multiplier for forks
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldForkLengthVariance
Fork distance multiplier variance. Random range of 0 to n that is added to Fork Length Multiplier.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldGenerations
Generations (1 - 8, higher makes more detailed but more expensive lightning)
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldGlowIntensity
The intensity of the glow
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldGlowTintColor
Tint color for the lightning glow
(Inherited from LightningBoltScript.)
Public fieldGlowWidthMultiplier
The width multiplier for the glow, 0 - 64
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldGrowthMultiplier
0 - 1, how slowly the lightning should grow. 0 for instant, 1 for slow.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldHideGizmos
True to hide gizmos, false otherwise
(Inherited from LightningBoltScript.)
Public fieldIntensity
Intensity of the lightning
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldIntensityFlicker
Cause lightning to flicker, x = min, y = max, z = time multiplier, w = add to intensity
(Inherited from LightningBoltScript.)
Public fieldIntensityFlickerTexture
Lightning intensity flicker lookup texture
(Inherited from LightningBoltScript.)
Public fieldIntervalRange
Reduces the probability that additional bolts from CountRange will actually happen (0 - 1).
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldJitterMultiplier
Jitter multiplier to randomize lightning size. Jitter depends on trunk width and will make the lightning move rapidly and jaggedly, giving a more lively and sometimes cartoony feel. Jitter may be shared with other bolts depending on materials. If you need different jitters for the same material, create a second script object.
(Inherited from LightningBoltScript.)
Public fieldLevelOfDetailDistance
If non-zero, the Camera property is used to get distance of lightning from camera. Lightning generations is reduced for each distance from camera. For example, if LevelOfDetailDistance was 100 and the lightning was 200 away from camera, generations would be reduced by 2, to a minimum of 1.
(Inherited from LightningBoltScript.)
Public fieldLifeTime
How long (in seconds) this game object should live before destroying itself. Leave as 0 for infinite.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldLightningDestinationParticleSystem
Particle system to play at the point of impact (end). 'Emission rate' particles will be emitted all at once.
(Inherited from LightningBoltScript.)
Public fieldLightningGlowTexture
The texture to use for the lightning glow, or null for the material default texture.
(Inherited from LightningBoltScript.)
Public fieldLightningMaterialMesh
Lightning material for mesh renderer - glow
(Inherited from LightningBoltScript.)
Public fieldLightningMaterialMeshNoGlow
Lightning material for mesh renderer - bolt
(Inherited from LightningBoltScript.)
Public fieldLightningOriginParticleSystem
Particle system to play at the point of emission (start). 'Emission rate' particles will be emitted all at once.
(Inherited from LightningBoltScript.)
Public fieldLightningTexture
The texture to use for the lightning bolts, or null for the material default texture.
(Inherited from LightningBoltScript.)
Public fieldLightningTintColor
Tint color for the lightning
(Inherited from LightningBoltScript.)
Public fieldLightParameters
Light parameters
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldManualMode
Manual or automatic mode. Manual requires that you call the Trigger method in script. Automatic uses the interval to create lightning continuously.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldMaximumLightsPerBatch
Maximum number of lights that can be created per batch of lightning
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldMaximumPathDistance
The maximum distance between mesh points. When walking the mesh, if a point is greater than this, the path direction is reversed. This tries to avoid paths crossing between mesh points that are not actually physically touching.
Public fieldMeshCollider
The mesh collider. This is used to get random points on the mesh.
Public fieldMeshFilter
The mesh filter. You must assign a mesh filter in order to create lightning on the mesh.
Public fieldMeshOffsetRange
Random range that the point will offset from the mesh, using the normal of the chosen point to offset
Public fieldMinimumPathDistanceRange
Range for minimum distance between points in the lightning path
Public fieldMultiThreaded
Whether to use multi-threaded generation of lightning. Lightning will be delayed by about 1 frame if this is turned on, but this can significantly improve performance.
(Inherited from LightningBoltScript.)
Public fieldPathLengthCount
Range for points in the lightning path
Public fieldQualitySetting
Lightning quality setting. This allows setting limits on generations, lights and shadow casting lights based on the global quality setting.
(Inherited from LightningBoltScript.)
Public fieldRenderQueue
The render queue for the lightning. -1 for default.
(Inherited from LightningBoltScript.)
Public fieldSoftParticlesFactor
Soft particles factor. 0.01 to 3.0 are typical, 100.0 to disable.
(Inherited from LightningBoltScript.)
Public fieldSortLayerName
Sort layer name
(Inherited from LightningBoltScript.)
Public fieldSortOrderInLayer
Order in sort layer
(Inherited from LightningBoltScript.)
Public fieldSourceBlendMode
Source blend mode. Default is SrcAlpha.
(Inherited from LightningBoltScript.)
Public fieldSpline
Whether to use spline interpolation between the path points. Paths must be at least 4 points long to be splined.
Public fieldTrunkWidthRange
How long (in seconds) this game object should live before destroying itself. Leave as 0 for infinite.
(Inherited from LightningBoltPrefabScriptBase.)
Public fieldTurbulence
Built in turbulance based on the direction of each segment. Small values usually work better, like 0.2.
(Inherited from LightningBoltScript.)
Public fieldTurbulenceVelocity
Global turbulence velocity for this script
(Inherited from LightningBoltScript.)
Public fieldUseGameTime
True to use game time, false to use real time
(Inherited from LightningBoltScript.)
Public fieldUseWorldSpace
True if you are using world space coordinates for the lightning bolt, false if you are using coordinates relative to the parent game object.
(Inherited from LightningBoltScript.)
Top
See Also