Home >> Python >> Panda3D Animation


■アニメーション

☆タスクによるアニメーション

from direct.showbase.ShowBase import ShowBase
from direct.showbase.Loader import Loader
from panda3d.core import *
from direct.task import Task
import math

base = ShowBase( )

# model 
loader = Loader( base )
model = loader.loadModel( "cube2.dae" )
model.reparentTo( render )
model.setPos( 0, 10, -1 ) 
model.setHpr( -90, 0, 0 )
model.setScale( 2 )
#model.setColor( 1, 0, 0, 1 )

# point light
plight = PointLight('plight')
plight.setColor(VBase4(0.8, 0.8, 0.8, 1))
plnp = render.attachNewNode(plight)
plnp.setPos(0, 5, 3)
render.setLight(plnp)

# camera task
def spinCameraTask( task ):
    angle = task.time * 6.0
    theta = angle * (math.pi / 180.0)
    base.camera.setPos( 20 * math.sin(theta), -20.0 * math.cos(theta) +10, 3)
    base.camera.setHpr( angle, 0, 0 )
    return Task.cont

# camera
base.taskMgr.add( spinCameraTask, "SpinCameraTask")

base.run( )
	

☆アニメーションファイル


Panda 3d Lighting/Camera Python Python 3d Key/Mouse