Commit 94d4bb6a authored by Chae Ho Shin's avatar Chae Ho Shin

primitive collision model(known bugs : nullref, no regards for object mass, no...

primitive collision model(known bugs : nullref, no regards for object mass, no rotational forces, etc.)
parent 9766618c
......@@ -20,6 +20,8 @@ public class FlatlandMovement : MonoBehaviour
public Vector3 alpha = new Vector3(0.0f, 0.0f, 0.0f); // proper acceleration
public Vector3 v;
public Vector3 orientation;
Vector3 collisionforce;
protected Vector3 startScale;
public LevelManager levelManager;
public double gamma = 1.0f;
......@@ -47,6 +49,7 @@ public class FlatlandMovement : MonoBehaviour
protected void Start()
{
Physics.IgnoreLayerCollision(0, 1);
startScale = theobject.transform.localScale;
}
protected void FixedUpdate()
......@@ -272,7 +275,12 @@ public class FlatlandMovement : MonoBehaviour
/// <param name="collision"></param>
public virtual void OnCollisionEnterchild(Collision collision)
{
Debug.Log("Collision! ~~~~~~~~~~~~~~~~" + theobject.transform.parent.name + "~~~~~~~~~~~~~~~~~~~~~~" + collision.transform.parent.name);
var tmp = collision.GetContact(0).normal;
tmp = new Vector3(tmp.x, 0, tmp.z);
tmp = tmp.normalized;
tmp *= 100;
collisionforce = tmp;
alpha += collisionforce;
}
/// <summary>
/// 나갔을때 호출
......@@ -280,6 +288,7 @@ public class FlatlandMovement : MonoBehaviour
/// <param name="collision"></param>
public virtual void OnCollisionExitchild(Collision collision)
{
alpha -= collisionforce;
collisionforce = new Vector3(0, 0, 0);
}
}
......@@ -9,6 +9,7 @@ public class Planemovement : FlatlandMovement
public double starttime = 0.0f;
public Planemovement otherclock;
void Start()
{
base.Start();
......@@ -134,6 +135,8 @@ public class Planemovement : FlatlandMovement
transform.rotation = Quaternion.LookRotation(newforward, vt);
theobject.transform.parent = transform;
theobject.transform.localScale = startScale;
transform.localScale = new Vector3(1.0f, 1.0f, (float)gamma); // scale x'-axis scale (distance dilation)
......
......@@ -15,7 +15,6 @@ public class PlayerMovement : FlatlandMovement,IInteractor
private List<InteractiveObject> interactiveObjects;
private Vector3 startScale;
private Vector3 backgroundStartScale;
// Start is called before the first frame update
......@@ -29,7 +28,6 @@ public class PlayerMovement : FlatlandMovement,IInteractor
time = 0.0f;
isinertial = true;
alpha = new Vector3(0.0f, 0.0f, 0.0f);
startScale = theobject.transform.localScale;
backgroundStartScale = background.transform.localScale;
interactiveObjects = new List<InteractiveObject>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment