2015-01-20 3 views
0

을 '히트',하지만 내는 이러한 문제의 원인이 발견 :레이 캐스트 BCE0044)는 예상 발견 나는 레이 캐스트를 사용하여 RTS 동적 카메라를 만들고있어

1. Assets/CameraMover.js(11,73): BCE0044: expecting), found 'hit'. 
2. Assets/CameraMover.js(11,77): BCE0043: Unexpected token:). 

코드는 다음과 같습니다

var RaycastHit : hit; 
if(Physics.Raycast(Transform.position, -Transform.position, out hit)){ 
    curDistance = Vector3.Distance(Transform.position, hit.point); 
} 

if(curDistance != cameraDistance){ 
    var difference = cameraDistance - curDistance; 
    Transform.position = Vector3.Lerp(Transform.position, Transform.position + new Vector3(0, difference, 0), Time.deltaTime); 
} 

답변

0

을 당신은 Physics.Raycast 세 번째 매개 변수로 out hit 전달되지만, 함수 서명은 다음과 같습니다

public static bool Raycast(Vector3 origin, Vector3 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers); 

효과적으로, , out hit을 제거하거나 광선 테스트 할 최대 거리를 나타내는 부동 소수점으로 변경해야합니다.

0

좋아, 지금이 @Adam Harwood처럼 만들었지 만 위치가 안정되면 진동하고있다.

var hit : RaycastHit; 
var curDistance : float; 
if (Physics.Raycast(transform.position, -transform.position, hit)){ 
    curDistance = Vector3.Distance(transform.position, hit.point); 
} 

if(curDistance != cameraDistance){ 
    var difference = cameraDistance - curDistance; 
    transform.position = Vector3.Lerp(transform.position, transform.position + new Vector3(0,difference,0), Time.deltaTime); 
}