So, here is my camera code:
lens = PerspectiveLens()
self.cameraBridgePos = self.cameraArenaPos + Vec3(0,0,4000)
self.camBridge = arCam(self, 1, self.cameraBridgePos, Point3(0,0,0), lens)
I wrote a seperate camera class “arCam” to seperate my camera code.
Let me talk a little bit more about the number “4000”.
When it’s 1000, fine; 2000, fine; 3000, fine; and then 4000, all my scene was gone. (“fine” means the scene was shown correctly with getting farther and farther properly)
what’s the problem? I had a really large scale scene, so instead of scaling down my scene(which means all my actors, props, etc need to be scaled dow as well), is there any reasonable way to go?
The problem is here:
Because of a stupid hack that I put in a while back and never got around to fixing (drat it all–I should fix it soon), Panda doesn’t currently support a value for setFar() greater than about 100000 or so. If you give it a larger number, it silently truncates it.
The short-term solution is to scale down your scene. But you don’t need to change each object–just put a scale of 0.0001 on render, for instance; or you could even try putting a scale of 10000 on your camera.
That’s fine David, just take your time
I set up a new nodepath and parented all my scene objects to it instead of render, now it looks good!
Thanks for the help again!
BTW, you know when approximately the new Panda3D version would be released?