irpg Community
ถามผู้รู้ครับ - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: Publica Foundation (https://irpg.in.th/forum-23.html)
+--- Forum: Request Ranger Center (https://irpg.in.th/forum-24.html)
+--- Thread: ถามผู้รู้ครับ (/thread-1821.html)



ถามผู้รู้ครับ - lightwolfz - 04-29-2014

ผมมีสคริปต์ flycam อยู่กะจะเอาไว้ใช้ประยุกต์แทนเป็นการดำน้ำใน unity แต่เผอิญว่ามันบินทะลุ object อ่ะครับ มีวิธีไหนทำให้มันชนกับ object แล้วไม่ทะลุได้มั้ย

อันนี้สคริปต์ flycam ที่ผมใช้ครับ
Quote:var mainSpeed : float = 100.0;


var shiftAdd : float = 250.0;


var maxShift : float = 1000.0;



var camSens : float = 0.25;



private var lastMouse = Vector3(255, 255, 255);


private var totalRun : float = 1.0;



function Start (){



Screen.showCursor = false;



}





function Update () {



lastMouse = Input.mousePosition - lastMouse ;



lastMouse = Vector3(-lastMouse.y * camSens, lastMouse.x * camSens, 0 );



lastMouse = Vector3(transform.eulerAngles.x + lastMouse.x , transform.eulerAngles.y + lastMouse.y, 0);



transform.eulerAngles = lastMouse;



lastMouse = Input.mousePosition;















var f : float = 0.0;



var p = GetBaseInput();



if (Input.GetKey (KeyCode.LeftShift)){



totalRun += Time.deltaTime;



p = p * totalRun * shiftAdd;



p.x = Mathf.Clamp(p.x, -maxShift, maxShift);



p.y = Mathf.Clamp(p.y, -maxShift, maxShift);



p.z = Mathf.Clamp(p.z, -maxShift, maxShift);



}



else{



totalRun = Mathf.Clamp(totalRun * 0.5, 1, 1000);



p = p * mainSpeed;



}







p = p * Time.deltaTime;



if (Input.GetKey(KeyCode.Space)){



f = transform.position.y;



transform.Translate(p);



transform.position.y = f;



}



else{



transform.Translate( p);



}







}







private function GetBaseInput() : Vector3 {



var p_Velocity : Vector3;



if (Input.GetKey (KeyCode.W)){



p_Velocity += Vector3(0, 0 , 1);



}



if (Input.GetKey (KeyCode.S)){



p_Velocity += Vector3(0, 0 , -1);



}



if (Input.GetKey (KeyCode.A)){



p_Velocity += Vector3(-1, 0 , 0);



}



if (Input.GetKey (KeyCode.D)){



p_Velocity += Vector3(1, 0 , 0);



}



return p_Velocity;



}

ไปเอาจากคนอื่นมาอีกที ฝากถามผู้รู้ด้วยนะครับ