Buddies
There some way to make Materials color of a model be like ColorRamp in blender (color interpolation)?
Thanx
Buddies
There some way to make Materials color of a model be like ColorRamp in blender (color interpolation)?
Thanx
Not without a custom shader, i fear.
something like this ?
from pandac.PandaModules import *
from direct.actor.Actor import Actor
from direct.interval.IntervalGlobal import *
import direct.directbase.DirectStart
eveLoc = '../samples/Looking-and-Gripping/'
eve = Actor(eveLoc+"models/eve", {'walk' : eveLoc+"models/eve_walk"})
eve.reparentTo(render)
eve.loop('walk')
eve.setPlayRate(2,'walk')
base.cam.setPos(0,-20,3)
base.cam.lookAt(eve.getBounds().getCenter())
img = PNMImage(256,256)
col1 = Vec3D(0,1,0)
col2 = Vec3D(1)
colDelta = col2-col1
for y in range(256):
for x in range(256):
img.setXel(x,y, col1+colDelta*(y/200.))
tex = Texture()
tex.load(img)
tex.setWrapV(Texture.WMClamp)
cm = CardMaker('')
cm.setFrame(-1,0,0,1)
card = base.a2dBottomRight.attachNewNode(cm.generate())
card.setTexture(tex)
card.setScale(.7)
minb,maxb = eve.getTightBounds()
dim = maxb-minb
ts = TextureStage('ramp')
eve.setTexGen(ts,TexGenAttrib.MWorldPosition)
eve.setTexTransform(ts,TransformState.makePosHprScale(eve.getPos(render),Vec3(0,-90,0),Vec3(1./dim[2])))
eve.setTexProjector(ts,render,eve)
# eve.setTexture(ts,tex) # multi-textures
eve.setTexture(ts,tex,1) # replaces original texture
Sequence(
eve.posInterval(2,Point3(0,0,3),Point3(0)),
eve.posInterval(2,Point3(0),Point3(0,0,3))
).loop()
eve.hprInterval(3,Vec3(360,0,0)).loop()
run()
Hey ynjh_jo … almost it. Great code man! You deserve a beer
But i guess i need a shader to do the same effect as color ramp from blender. But someone know´s the effect´s name?
Thanx again