add some extra assets FX and SFX
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using EzySlice;
|
||||
|
||||
/**
|
||||
* An example fun script to show how a shatter operation can be applied to a GameObject
|
||||
* by repeatedly and randomly slicing an object
|
||||
*/
|
||||
public class ShatterExample : MonoBehaviour
|
||||
{
|
||||
|
||||
/**
|
||||
* This function will slice the provided object by the plane defined in this
|
||||
* GameObject. We use the GameObject this script is attached to define the position
|
||||
* and direction of our cutting Plane. Results are then returned to the user.
|
||||
*/
|
||||
public bool ShatterObject (GameObject obj, int iterations, Material crossSectionMaterial = null)
|
||||
{
|
||||
if (iterations > 0) {
|
||||
GameObject[] slices = obj.SliceInstantiate (GetRandomPlane (obj.transform.position, obj.transform.localScale),
|
||||
new TextureRegion (0.0f, 0.0f, 1.0f, 1.0f),
|
||||
crossSectionMaterial);
|
||||
|
||||
if (slices != null) {
|
||||
// shatter the shattered!
|
||||
for (int i = 0; i < slices.Length; i++) {
|
||||
if (ShatterObject (slices [i], iterations - 1, crossSectionMaterial)) {
|
||||
// delete the parent
|
||||
GameObject.DestroyImmediate (slices [i]);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return ShatterObject (obj, iterations - 1, crossSectionMaterial);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Given an offset position and an offset scale, calculate a random plane
|
||||
* which can be used to randomly slice an object
|
||||
*/
|
||||
public EzySlice.Plane GetRandomPlane (Vector3 positionOffset, Vector3 scaleOffset)
|
||||
{
|
||||
Vector3 randomPosition = Random.insideUnitSphere;
|
||||
|
||||
randomPosition += positionOffset;
|
||||
|
||||
Vector3 randomDirection = Random.insideUnitSphere.normalized;
|
||||
|
||||
return new EzySlice.Plane (randomPosition, randomDirection);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user