1.0 Getting Started with CGF

When working with Circular Gravity Force, the main core component is called a CGF Object or CGF 2D when working with 2D objects.

Creating CGF - Toolbar

Under the toolbar click Tools->Resurgam Studios->CGF->Quick CGF or Quick CGF 2D

Creating CGF - Hierarchy

In the Hierarchy right click and go to 3D Object->CGF or Object->CGF 2D

Creating CGF - Shortcut

Press Alt+Q to create a CFG object or Alt+Shift+Q for a CGF 2D

Creating CGF - Add Component

Create and select a new GameObject click Add Component and select Physics->Circular Gravity Force or Physics 2D->Circular Gravity Force 2D

2.0 Main Properties

Enable

Enable/Disable the Circular Gravity Force by using this checkbox, very useful for turning on and off the CGF. You can access this ether animation or through a script.

Shape

The shape of the Circular Gravity Force, you can access this ether animation or through a script.

Sphere

Capsule

Raycast

Box

Force Type

The force type of the Circular Gravity Force, you can access this ether animation or through a script.

Force At Position

Applies force at position. As a result this will apply a torque and force on the objects.

Force

Adds a force to the objects.

Torque

Adds a torque to the objects.

Explosion Force

Applies a force to a objects that simulates explosion effects.

Gravitational Attraction

Adds gravitational attraction based off newtonian gravity.

Force Type

Force Type allows options for how to apply a force. Force adds a continuous force to the rigidbody, using its mass. Acceleration adds a continuous acceleration to the rigidbody, ignoring its mass. Impulse adds an instant force impulse to the rigidbody, using its mass. VelocityChange adds an instant velocity change to the rigidbody, ignoring its mass, you can access this ether animation or through a script.

Project Forward

Projects the CGF forward, only available for Spheres, Capsules, and Box shapes, also not available for Force Type Explosion Force or Torque, you can access this ether animation or through a script.

Force Power

Power of the force, can be negative or positive, you can access this ether animation or through a script.

Positive/Negative Force Example

Velocity Damping

Damps current velocity of the effected rigidbodys from the CGF, only available with Force At Position, Force, and Gravitational Attraction, you can access this ether animation or through a script.

Angular Velocity Damping

Damps current angular velocity of the effected rigidbodys from the CGF, only available with Torque, you can access this ether animation or through a script.

Max Angular Velocity Damping

Sets the max angular velocity of the effected rigidbodys from the CGF, only available with Torque.

Upwards Modifier

Adjustment to the apparent position of the explosion to make it seem to lift objects, only available with Explosion Force.

Size

Size of the CGF for Sphere, Capsule, and Raycast, you can access this ether animation or through a script.

Capsule Radius

Size of the Capsule radius for the CGF if using Capsule, you can access this ether animation or through a script.

Box Size

Size of the Box for the CGF if using Box, you can access this ether animation or through a script.

3.0 Transform Properties

Position

Allows you to override the position of the transform, helpful for when wanting a CGF object to lock in one place. You also have the option to do this ether world or local position.

Rotation

Allows you to override the rotation of the transform, helpful for when wanting a CGF object to lock its rotation. You also have the option to do this ether world or local rotation.

4.0 Force Position Properties

Force Position

Force position is where the CGF starts its emitting force, by default it uses This Transform. The other option is Closest Collider, where you can emit the force from a selection of colliders. NOTE: Only convex, and Unity Primitive collides work for Closest Collider.

Closest Colliders

Is the list of colliders you want the CGF to use when using Closest Collider for the Force Position.

Use Effected Closest Point

If toggled, this will use the closest point from the effected objects collider, to the Closest Colliders. If not then it will use the center of the effected object.

Closest Collider Example

Height Offset

Allows you to give the Closest Collider an height offset, useful for making things hover.

Height Offset Example

5.0 Filter Properties

GameObject Filter

Used to filter out gameobjects, has authority over tags, colliders, physicMaterial, and layermasks.

Tag Filter

Used to filter out tags, has authority over colliders, physicMaterial, and layermasks.

Bounds Filter

Used to filter out colliders, has authority over physicMaterial, and layermasks.

Physic Material Filter

Used to filter out physic material, has authority over layermasks.

Layer Mask Filter

Used for fildering LayerMasks.

6.0 Event Properties

Enable Events

If enabled, you will be able to register the Event OnApplyCGFEvent which will returns the cgf used, the rigidbody it is effecting, and the collider its effecting.

Example below:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using CircularGravityForce;

public class CGFEventExample : MonoBehaviour 
{
    void Awake()
    {
        CGF.OnApplyCGFEvent += CGF_OnApplyCGFEvent;
    }

    void OnDestroy()
    {
        CGF.OnApplyCGFEvent -= CGF_OnApplyCGFEvent;
    }

    private void CGF_OnApplyCGFEvent(CGF cgf, Rigidbody rigid, Collider coll)
    {
        Debug.Log("Hello World");
    }
}

Enable SendMessage

If enabled, you will be able to register the SendMessage OnApplyCGF, which returns the cgf used.

Example below:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using CircularGravityForce;

public class CGFSendMessageExample : MonoBehaviour 
{
    private void OnApplyCGF(CGF cgf)
    {
        Debug.Log("Hello World");
    }
}

7.0 Draw Gravity Properties

Draw Gravity Force

Allows you to see the CGF at runtime, drawn using Unitys Line Renderer. You have the option to select the line width, and material. 

Draw Gizmo

Allows you to toggle on and off the Editor gizmo of the CGF.

8.0 Memory Properties

Collider Layer Mask

This is the master Layer Mask for that CGF and will only see what you have selected under the Layer Mask.

See Colliders

This allows you to see which colliders the CGF is touching at runtime.

Non Alloc Physics

Its good to keep in mind memory allocation when using CGF over time. CGF will use memory depending on what you do, this means that when using CGF memory can play an important factor, mobile is a good example. How CGF uses memory, is in the Shape area of the CGF it looks for colliders and collects them for every FixedUpdate and checks if it needs to apply physics to it or not, over time this can use memory. If you have Non Alloc Physics turned on, it will no longer use memory over time.

Collider Buffer

When Non Alloc Physics is turned on, this is the max collider buffer size it uses, so keep in mind whatever you use, this will be the maximum number of affected objects for that CGF.

9.0 Effects - Align To Force

Applying Align To Force

To apply Align To Force, select the CGF you want to effect and right click the CGF Script in the Inspector and select Effects->Add ‘AlignToForce'

Enable

Enable/Disable the Align To Force by using this checkbox, very useful for turning on and off the Alignment.

Align To Force Example

Align Direction

Allows you to select the direction of the alignment, up, down, left, right, forward, backward.

Rotate Speed

The amount of torque that is applied to the effected objects.

Angular Velocity Damping

Damps the angular velocity of the effected objects.

Use Closest Collider Height Offest

Uses and takes into consideration the Closest Collider Height Offset for the alignment.

Filter Properties

Refer to the CGF Filter Properties, works the same way.

10.0 Effects - No Gravity

Applying No Gravity

To apply No Gravity, select the CGF you want to effect and right click the CGF Script in the Inspector and select Effects->Add ’NoGravity'

Enable

Enable/Disable the No Gravity by using this checkbox, very useful for turning on and off the the effect.

Time Effected

The amount of time the No Gravity is in effect when traveling outside of the CGF.

Filter Properties

Refer to the CGF Filter Properties, works the same way.

100% Independent Game Studio