Hey guys, thanks for sharing your ideas with me. You were right, it was really the problem with camera being placed inside the panda. It’s fixed now, thanks! I’ve been editing the tutorial from manual. Current code looks like this :
import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.task import Task
from direct.actor import Actor
from direct.interval.IntervalGlobal import *
import math
#Load the first environment model
environ = loader.loadModel("models/environment")
environ.reparentTo(render)
environ.setScale(0.25,0.25,0.25)
environ.setPos(-8,42,0)
#Load the panda actor, and loop its animation
pandaActor = Actor.Actor("models/panda-model",{"walk":"models/panda-walk4"})
pandaActor.setScale(0.005,0.005,0.005)
pandaActor.reparentTo(render)
pandaActor.loop("walk")
#Create the four lerp intervals needed to walk back and forth
pandaPosInterval1= pandaActor.posInterval(13,Point3(0,-10,0), startPos=Point3(0,10,0))
pandaPosInterval2= pandaActor.posInterval(13,Point3(0,10,0), startPos=Point3(0,-10,0))
pandaHprInterval1= pandaActor.hprInterval(3,Point3(180,0,0), startHpr=Point3(0,0,0))
pandaHprInterval2= pandaActor.hprInterval(3,Point3(0,0,0), startHpr=Point3(180,0,0))
#Create and play the sequence that coordinates the intervals
pandaPace = Sequence(pandaPosInterval1, pandaHprInterval1,
pandaPosInterval2, pandaHprInterval2, name = "pandaPace")
pandaPace.loop()
pandaPos = pandaActor.getPos()
# Camera
cam = Camera("Isometric")
base.cam.setPos(pandaPos+20)
base.cam.lookAt(pandaActor)
run()
What I’ve been trying to do was to make the camera follow panda since it is moving. I thought that this code will do the trick,
base.cam.setPos(pandaPos+20)
base.cam.lookAt(pandaActor)
but it does not. I’m again doing something wrong, since I’m completely new to Python and Panda3D. I also feel like asking too much already…
Thanks everybody for your helpful replies.