55 lines
1.2 KiB
C#
55 lines
1.2 KiB
C#
//
|
|
//SpringCollider for unity-chan!
|
|
//
|
|
//Original Script is here:
|
|
//ricopin / SpringCollider.cs
|
|
//Rocket Jump : http://rocketjump.skr.jp/unity3d/109/
|
|
//https://twitter.com/ricopin416
|
|
//
|
|
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
namespace UnityChan
|
|
{
|
|
public class SpringCollider : MonoBehaviour
|
|
{
|
|
//半径
|
|
private float _defaultRadius = 0;
|
|
public float radius = 0.5f;
|
|
public float scale = 1f;
|
|
|
|
//获取真实半径
|
|
public void SetRealRadius()
|
|
{
|
|
scale = 1;
|
|
if (_defaultRadius == 0)
|
|
{
|
|
_defaultRadius = radius;
|
|
}
|
|
else
|
|
{
|
|
radius = _defaultRadius;
|
|
}
|
|
if (transform.parent)
|
|
{
|
|
SetScale(transform.parent);
|
|
}
|
|
radius = scale * radius;
|
|
}
|
|
|
|
private void SetScale(Transform trans)
|
|
{
|
|
scale *= trans.localScale.x;
|
|
if (trans.parent)
|
|
{
|
|
SetScale(trans.parent);
|
|
}
|
|
}
|
|
|
|
private void OnDrawGizmosSelected ()
|
|
{
|
|
Gizmos.color = Color.green;
|
|
Gizmos.DrawWireSphere (transform.position, radius);
|
|
}
|
|
}
|
|
} |