35 lines
765 B
C#
35 lines
765 B
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
public class AdvancedPhysicsMaterial : MonoBehaviour {
|
|
public AdvancedPhysics.Matter matter;
|
|
private float mass = 0.0f;
|
|
private float volume = 0.0f;
|
|
public float Mass{
|
|
get{ return mass; }
|
|
}
|
|
public float Volume{
|
|
get{ return volume; }
|
|
}
|
|
|
|
// Use this for initialization
|
|
void Start () {
|
|
UpdateParameters ();
|
|
}
|
|
|
|
public void UpdateParameters(){
|
|
var mf = gameObject.GetComponent<MeshFilter> ();
|
|
var m = mf.sharedMesh;
|
|
volume = AdvancedMath.MeshVolume (m.vertices, m.triangles, gameObject.transform.localToWorldMatrix);
|
|
mass = matter == null ? 0.0f : matter.Density * volume;
|
|
if (rigidbody != null) {
|
|
rigidbody.mass = mass;
|
|
}
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update () {
|
|
|
|
}
|
|
}
|