im trying to assign ‘flatMaterial’ to the stickNode node. it doesnt do anything though…
from pandac.PandaModules import *
from direct.task import Task
from direct.actor import Actor
from direct.interval.IntervalGlobal import *
import math
from pandac.PandaModules import Material
from pandac.PandaModules import VBase4
#VBase4 has to be imported in order to set colors in the methods
loadPrcFileData("", "framebuffer-multisample 1")
loadPrcFileData("", "multisamples 2")
loadPrcFileData("", "show-frame-rate-meter #t")
import direct.directbase.DirectStart
#Task to move the camera
def SpinCameraTask(task):
move = 25*task.time
angleradians = move * (math.pi / 180.0)
base.camera.setPos(20*(math.sin(angleradians)),-20*(math.cos(angleradians)),3)
base.camera.setHpr(move, 0, 0)
return Task.cont
taskMgr.add(SpinCameraTask, "SpinCameraTask")
stickActor = Actor.Actor("models/box2anim.egg",{
"rup":"models/box2anim-rup.egg",
"lup":"models/box2anim-lup.egg",
})
stickActor.setScale(1,1,1)
stickActor.setPos(0,0,0)
stickActor.makeSubpart("left", ["l0","l1"])
stickActor.makeSubpart("right", ["r0","r1"])
stickActor.loop("rup", partName="right")
stickActor.loop("lup", partName="left")
stickNode = render.attachNewNode("stickNode")
stickActor.instanceTo(stickNode)
stickNode.setPos(0,0,0)
stickNode.reparentTo(render)
flatMaterial = Material()
flatMaterial.setShininess(15)
flatMaterial.setAmbient(VBase4(0,0,1,1))
flatMaterial.setDiffuse(VBase4(0,0,1,1))
stickNode.setMaterial(flatMaterial)
plight = PointLight('plight')
plight.setColor(VBase4(0.2, 0.2, 0.2, 1))
plight.setAttenuation(Point3(0, 0, 0.005))
plnp = render.attachNewNode(plight)
plnp.setPos(0, -2, 15)
render.setAntialias(AntialiasAttrib.MAuto)
render.setLight(plnp)
run()