Objeto transparente que oculte otro

Started by peterpollito, June 30, 2011, 03:13:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

peterpollito

Bueno, creo que es mi primera mesa de ayuda voy a intentar explicarme bien porque es algo dificil de explicar en palabras.
Haré el ejemplo con un montaje que hice para explicarlo.

Si tengo una sombra dinamica que cuando no detecta suelo desaparece...
¿Como hago para que la sombra, cuando esta detras de otro objeto, por ejemplo un arbol
o en una elevación de terreno, no muestre completamente dicha sombra sino solo en parte?

Ejemplo cutre:
http://dl.dropbox.com/u/16894167/Sin%20t%C3%ADtulo.jpg

Realizo otro graph del objeto en la misma posición y lo pongo en una Z delante, pero me gustaria alguna solución que ocupe menos memoria.

¿Se puede hacer que el objeto que tapa la sombra no se vea y que siga ocultando la sombra?

Un saludo

FreeYourMind

No entiendo muy bien, el barranco seria un objecto con menor Z y taparia la sombra.

peterpollito

#2
Si, exacto, el escenario tiene distintos objetos como arboles,rocas,barrancos...
Cuando saltas el barranco la sombra se programará para que desaparezca como digo,hasta ahí bien, eso no es complicado,
pero...

¿y si mejor que eso se pone un objeto delante que no se vea pero oculte la sombra como en el ejemplo cutre que puse?

¿Alguna otra idea que consuma menos memoria y recursos?



FreeYourMind

Pero sigo sin entende, si quieres que no se vea para que le quieres poner algo delante si sencillamente la puedes quitar ?

Eso de poner un gráfico no ocupa muchos recursos, encima si es un gráfico repetido, peor es hacerle efectos para lograrlo, eso si consume CPU.

peterpollito

Quiero que oculte la sombra parcialmente, no que desaparezca entera.
Haciendo una replica del proceso y poniendolo en otra Z esa replica podría tapar la sombra
como digo. Pero ¿Puedo hacer esa replica transparente y que siga tapando aun así la sombra?
¿Alguna otra idea que consuma menos?

Gracias Free.

JaViS

yo entiendo lo que queres hacer, tuve el mismo problema hace poco, la unica solucion que se me habia ocurrido era 'cortar' el grafico de la sombra en cada frame para que se ajuste al entorno, pero seria complicado de programar y pesado en rendimiento.
Working on Anarkade. A couch multiplayer 2D shooter.

FreeYourMind

Depende, si quieres que a cada frame si un grafico toca una region de la sombra que este se oculte siempre (y solo esta parte) se pueden hacer trucos con map_block_copy o define_region, etc.

peterpollito

En ese caso Free prepara tu magia porque la necesitaras...jeje

JaViS

Quote from: FreeYourMind on June 30, 2011, 05:51:30 PM
Depende, si quieres que a cada frame si un grafico toca una region de la sombra que este se oculte siempre (y solo esta parte) se pueden hacer trucos con map_block_copy o define_region, etc.

con define region a mi no me sirvio porque mis mapas tenian muchos objetos. pero todo depende de la necesidad del caso en particular.
Working on Anarkade. A couch multiplayer 2D shooter.

JaViS

tambien tengo entendido de que con Chipmunk se puede hacer efectos de sombra dinamica .
Working on Anarkade. A couch multiplayer 2D shooter.


peterpollito

#11
No me volvais loco, o se puede o no se puede :DD
En fins, probaremos lo de replicar los procesos en alpha 1 pero dudo que resulte.
De todas formas, agradezco vuestras respuestas.
Veremos que hacer para que consuma lo minimo prosible.

Un saludo

Drumpi

Pues yo no entiendo nada: en la imagen sólo veo objetos que, con una Z correcta, se tapan unos a otros sin ninguna pega. Las sombras tienen una Z mayor que las personas y por eso las personas tapan a las sombras, y tienen más Z cuanto más atrás están (tomando como referencia siempre los pies, tanto de personas como de sombras).
Esa zona negra puede ser un proceso que esté por encima de todo lo demás, o al menos, sólo de las sombras.

No siempre lo que se ve en pantalla coincide con la realidad (las cosas de atrás no tienen por qué tener una Z mayor, pon el barranco con menor Z, y si tiene que ser tapado por un personaje, pues le pones una z menor al personaje).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)


TYCO

#14
Quote from: peterpollito on June 30, 2011, 07:54:24 PM
En ese caso Free prepara tu magia porque la necesitaras...jeje

Creo que ya la tiene preparada... sino mira atentamente su varita mágica en el avatar de Free y verás como crece su magia XD, y no es broma, tu mira unos segundos su varita mágica. Sobre todo en Internet Explorer 8, en Mozilla 3.5.x no se nota tanto, en otros navegadores no lo sé.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)