2012-05-15 2 views
0

우선 Java3D에서는 초보자입니다. 내 무지와 함께 견뎌주십시오. Java3D로 응용 프로그램을 만들었으며 확대/축소에 다음과 같은 문제가 있습니다.Java3D Zoon- 오브젝트가 사라지기 시작합니다. az 확대합니다.

  1. Java3D의 MouseWheelZoom 동작으로 인해 Z 축을 따라 객체가 움직이는 것처럼 보입니다. 장면에서 내 Z 축은 평면을 벗어나지 않으므로 MouseWheelZoom을 사용하면 개체가 가까이 있지 않지만 화면에서 벗어납니다. 확대/축소 방향을 임의의 방향으로 설정하는 방법이 있습니까?

  2. 나는 MouseWheelListener를 사용하고 줌 단계를 기반으로 보는 플랫폼을 변경하여이 문제를 해결했습니다. 그러나 또 다른 문제가 있습니다. 물체가 특정 거리보다 가까워 짐에 따라 물체의 일부 (일반적으로 모퉁이)가 사라지기 시작하여 원하는만큼 확대 할 수 없습니다.

도와 주시겠습니까?

감사합니다,

하산

답변

0
  1. 질문 : 그 경우 경우 다음

    을 시도

    orbit = new OrbitBehavior(canvas3d, OrbitBehavior.REVERSE_ALL); 
    

: 나는 추측 당신은 같은 MouseControl에 대한 OrbitBehavior를 사용

orbit.setZoomFactor(-1d); 

줌 방향을 반대로하려면 (기본 줌 팩터는 + 1d입니다).

2. 질문 : "보기 영역"을 캡슐화하기 위해 PlatformGeometry에 BoundingLeaf를 설정해야합니다. radiusGameMap이 전체지도의 반지름을 정의하는 두 곳이

defaultBounds = new BoundingSphere(new Point3d(radiusGameMap, 0.0, radiusGameMap), 
      radiusGameMap * 6.0d); 
BoundingLeaf boundingLeaf = new BoundingLeaf(defaultBounds); 
PlatformGeometry platformGeom = new PlatformGeometry(); 
platformGeom.addChild(boundingLeaf); 

같은 것을 시도 .