Copiar y colorear

Preguntas y respuestas relacionadas con el uso y desarrollo de scripts Python y plugins para Blender 3D
Responder
blendeando
Mensajes: 21
Registrado: Jue Jul 05, 2007 12:10 pm
Nombre:

Copiar y colorear

Mensaje por blendeando » Mié Ago 08, 2007 5:32 am

Buenas,

verdad que parece facil estas dos acciones? Total, es lo primero que aprendemos cuando somos unos enanos: Copiamos y coloreamos..

Entonces.. Pq es tan dificil de hacer en esto de Blender Game Engine? Simplemente estoy intentando copiar un cubo, mover la copia y colorear uno de rojo y otro de verde..

Os pongo el codigo (aunque me da algo de vergí¼enza pq no soy muy buen programador):

import Blender
import GameLogic

cont = GameLogic.getCurrentController()
scene = GameLogic.getCurrentScene()
sens = cont.getSensor(\'sensor\')
act = cont.getActuator(\"move\")
object = cont.getOwner()

if act.getLastCreatedObject() == None:
act.setObject(\"Cube\")
GameLogic.addActiveActuator(act, 1)
else:
object = act.getLastCreatedObject()
GameLogic.addActiveActuator(act, 1)
object.name = \"GCube\"
object.id = 1
object.position = [3.0, 2.0, 1.0]

print \"PRUEBA\", object.name, object.id, \"FIN PRUEBA\"

# Esto es para pintar, en teoria, el problema es que comparten el mismo mesh (MECube)..

m_i = 0
mesh = object.getMesh(m_i)

while mesh != None:
for mat in range(mesh.getNumMaterials()):
for index in range(mesh.getVertexArrayLength(mat)):
vertex = mesh.getVertex( mat, index )
if object.id == 0:
vertex.colour = [1.0, 0.0, 0.0, 1.0]
else:
vertex.colour = [0.0, 1.0, 0.0, 1.0]
m_i += 1
mesh = object.getMesh(m_i)

Desde ya les estoy muy agradecido.

eahz
Mensajes: 15
Registrado: Mié Oct 25, 2006 2:05 pm
Nombre:
Contactar:

Re: Copiar y colorear

Mensaje por eahz » Vie Ago 10, 2007 10:21 am

HOla blendeando, para cambiar el color de un objeto dentro del Game Engine ensaya creando una curva ipo de color para tus objetos y luego simplemente con un actuator tipo ipo te colocas en el frame que tiene el color que deseas, usando esto tambié puedes hacer que un objeto cambie de color como un arcoiris en el GE. bye.

dmc
Mensajes: 4
Registrado: Lun Ago 27, 2007 8:20 pm
Nombre:

Re: Copiar y colorear

Mensaje por dmc » Lun Ago 27, 2007 8:57 pm

Hola

eahz, creo que lo que le respondes a blendeando es la aproximacií²n mí s prí ctica al problema de cambiar de color los objetos en el GE.

Pero no estoy seguro de haber entendido tu explicacií²n, debido a que cuando haces una curva IPO que cambie de color el material, presionas IKEY y aparece la opcií²n RGB, y esta te permite cambiar el color en efecto.

El problema es que cuando asignas esta animacií²n a un actuador IPO, simplemente el GE no realiza el cambio de color.

Aparentemente, esto es debido a que para el cambio, el bloque IPO utiliza 3 canales RGB en lugar del \"Col Channel\" que al igual que Loc y Rot son los unicos que reconoce el GE para animar mesh.

Estoy tratando de hacer un semí foro en el GE, las luces deben de cambiar a cierto tiempo, pero no he encontrado solucií²n a esto aun.

Saludos

blendeando
Mensajes: 21
Registrado: Jue Jul 05, 2007 12:10 pm
Nombre:

Re: Copiar y colorear

Mensaje por blendeando » Mié Ago 29, 2007 5:01 am

Buenas de nuevo,

gracias eahz y dmc por contestarme. El caso es que me he estado frustrando durante varias semanas (yo diria ya algo mas de un mes) en esto de duplicar, pintar y colorear..

Mi idea original era coger a un tio, y a medida que se requeria duplicarlo y cambiarle el color de la camiseta (por eso de diferenciar personajes). Pero me he dado cuenta que el GE es muy (muy, muy) limitado para hacer esto. Os cuento:

Para no complicarme mucho la existencia empece a lo facil: coger un cubo, copiarlo, y colorear cada uno de dos colores distintos. Pues bien, solo he conseguido copiar el cubo y pintar los dos de igual color. Pq?? Porque a alguien se le ha ocurrido la genial idea de no poderle cambiar el nombre al mesh de la copia de un objeto. Es decir, el original tiene los siguientes nombres OB:Cube ME:Cube y la copia OB:Cube.001 ME:Cube Total, que no se puede distinguir el Mesh, ni cambiarle el nombre ni nada de nada..

U_U

*PD: Ale, ya me desfogado un poquito..

Responder