2012-07-31 2 views
1

XNA에서 무료 플라잉 카메라를 설정하려고합니다. 이 인스턴스에서 카메라를 제어하기 위해 대부분 CLR에 연결된 Lua를 사용하고 있습니다. 나는 지금까지 다음과 같은 시도했습니다플라잉 카메라 용 LookVector 처리

: 나는 분명히 결과가 앞뒤로 같은 지점의 긍정적이고 부정적인 형태 사이 튀는 카메라로 변신 바로 때문에 일을하고 있지 않다

dkeys={} 

LocalController.KeyDown:Add(function(s,e) 
    dkeys[KeyboardKey.FromInt(e)]=true 
    if e==KeyboardKey.W then 
     local r,x=coroutine.resume(coroutine.create(function() 
      while wait(.5) and dkeys['W'] do 
       local LookVector=Vector3:Subtract(LocalCamera.Target,LocalCamera.Position) 
       LookVector:Normalize() 
       LookVector=Vector3:Multiply(LookVector,Vector3:Create(.1,.1,.1)) 
       LocalCamera.Position=Vector3:Add(LocalCamera.Position,LookVector) 
       LocalCamera.Position=Vector3:Add(LocalCamera.Target,LookVector) 
      end 
     end)) 
    end 
end) 

.

LocalController.KeyUp:Add(function(s,e) 
    dkeys[KeyboardKey.FromInt(e)]=false 
end) 

가 나는 LookVector이 무엇인지 잘못 해석 적이 : 여기

내가의 keyup에 사용하고 코드입니다? LocalCameraTarget이 카메라가보고있는 위치이고 현재 Position이 대상을보고있는 지점 인 현재 카메라 객체입니다.

+1

LocalCamera.Position을 두 번 할당합니다. LocalCamera.Target을 대신 지정 하시겠습니까? – Ani

+0

@ananthonline : 답변으로 게시 하시겠습니까? 사실 그것은 실제로 문제가되었습니다. 나는 이런 것들을 몇 시간 동안 쳐다 보면서 멍청한 얼굴로 내 얼굴에 던져 넣기를 싫어한다. 그래도 도와 ​​줘서 고마워! 때로는 단지 새로운 모습을 보일 때가 있습니다. – FreeSnow

+1

완료. 그래, 항상 작은 것들. 다행스럽게 도울 수있었습니다! :) – Ani

답변

1

LocalCamera.Position을 두 번 할당합니다. LocalCamera.Target을 대신 지정 하시겠습니까?

관련 문제