Es mostren els missatges amb l'etiqueta de comentaris Espeleovideojoc. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris Espeleovideojoc. Mostrar tots els missatges

dimarts, 17 de març del 2015

Espeleovideojoc (5) Comportament de la cabra

En aquesta entrada he tornat a posar-me amb l'espeleovideojoc.

Com que els treballs anteriors estaven fets en diferents arxius de Blender i també a causa d'una inestabilitat que m'apareixia i de la qual no he aconseguit trobar la causa, he decidit començar de nou.

En aquesta nova versió he modelat el personatge, l'entorn  les animacions d'una manera més senzilla, per tal que l'ordinador vagi més relaxat, a fer-ho més sofisticat ja hi arribaré...amb una mica de sort...

He afegit també alguns arbres (xiprers, que són fàcils de modelar).





Aquesta entrada ha estat feta basant-me en un interessantíssim  tutorial d'en ThaTimst3r sobre com modelar el comportament dels animals, que podeu trobar en aquest enllaç. Gràcies ThaTimst3r !!!

La idea és que l'animal tingui 3 diferents estats, denominats de la següent manera i amb el comportament següent:

Estat 1: Relaxat - L'animal pastura
Estat 2: Atent - L'animal mira cap a nosaltres i aixeca el cap
Estat 3: Fugint - L'animal es gira d'esquena a nosaltres i s'allunya caminant

Cadascun dels estats té associades unes accions diferents i hi ha unes regles per a passar d'un estat a l'altre:

En l'estat 1 es reprodueix l'acció de pasturar. És l'estat per defecte. Es passa a estat 2 quan ens hi acostem a menys d'una certa distància (distància de comoditat)

En l'estat 2 es reprodueix l'acció de vigilar i l'animal s'orienta cap a nosaltres. Es passa a estat 1 quan ens allunyem a més d'una certa distància (distància de comoditat). Es passa a estat 3 quan ens hi acostem a menys d'una certa distància (distància de por)

En l'estat 3 es reprodueix l'acció de caminar, l'animal s'orienta en direcció oposada a nosaltres, i s'allunya durant un temps prefixat. Després d'un cert temps es torna a avaluar la distància a nosaltres i s'assigna de nou l'estat que correspongui.

Finalment he aconseguit que el comportament funcioni i he creat quatre instàncies de la cabra, totes amb el mateix comportament.


I heus aquí el resultat,registrat amb el capturador de video Hypercam2, posteriorment li he afegit música amb Avidemux:


La música de fons és "Angel in Blue Jeans" del grup Train.

dimecres, 21 de gener del 2015

Espeleovideojoc (4) Cabra Blanca de Rasquera

En aquesta entrada modelaré, aparellaré i animaré amb Blender un personatge animal, una cabra per a l'espeleovideojoc.

Per començar he triat la cabra que vull modelar. Serà una cabra de l'espècie Blanca de Rasquera. En aquest enllaç del lloc web de les races autòctones d'animals domèstics de Catalunya he trobat força informació sobre aquesta varietat de cabres, i algunes fotografies que he pres com a referència.


Sobre una fotografia de perfil he modelat el cos de la cabra, partint d'un cub inicial.


Després he extruït algunes cares per a formar les potes de davant i de darrera.


A continuació he modelat els detalls del cap: les banyes i les orelles, que és el que m'ha costat més. un cop acabat el cap he aplicat un modificador SubSurf (Subdivideix la superfície) i el paràmetre de suavitzat (Smooth)


Tot seguit he 'espellat' la cabra amb el mètode Unwrap (Desembolicar) i li he aplicat una textura extreta de la mateixa imatge de referència que he utilitzat per al modelat.


El següent pas ha estat l'aparellatge (Rigging), és a dir: crear un esquelet (Armature). Com que no sabia res de com són els ossos de les cabres, tot i que sovint n'he vist d'escampats per la muntanya he hagut d'investigar una mica. Per a fer-lo amb una mica de rigor he analitzat imatges d'esquelets de cabra. He fet servir especialment la imatge d'aquest enllaç del lloc web Goat-Link.

Finalment aquest ha estat l'esquelet que he creat per a la cabra. Les potes estan dotades de cinemàtica inversa per a facilitar l'animació posterior.

Pel camí he modelat també la barba de la cabra.


El pas següent ha estat l'assignació a cada os d'un grup de vèrtex de la malla, que seran controlats per aquest os. Aquest procés és conegut com a Skinning. He fet servir el metode de pintura de pesos ( Weight Paint )

Un cop he estat més o menys content amb l'Skinning, he buscat imatges de cabres en moviment. En aquest lloc web se'n pot veure algunes i facilita l'anàlisi del moviment de la cabra.

Com a referència per al cicle de caminar de la cabra he fet servir unes imatges preses fa 120 anys ! pel pioner de la fotografia d'acció Eadweard Muybridge . Les he trobades al lloc de Sillydragon.

Tot seguit he anat col·locant la cabra en les posicions definides per les fotografies en diversos moment decisius del cicle de caminar i insertant fotogrames clau (Keyframes) de posició i rotació dels ossos de l'esquelet.

I Finalment, aquest ha estat el resultat:



He desat el moviment com una acció (Action) per tal de poder incorporar-la més endavant a l'Espeleovideojoc.

dissabte, 10 de gener del 2015

Espeleovideojoc (3) Cicle de córrer

En aquesta entrada animaré una altra acció: el cicle de córrer:

He pres com a referència les posicions del cos de les imatges d'aquest lloc web. Tot i això l'animació queda massa tosca. Hauré de buscar imatges de referència més detallades i també de cara, no només de perfil, ja que el cos es queda massa immòbil.

He detectat també problemes en la deformació de la malla als colzes i genolls que  no he pogut solucionar completament, queda pendent per més endavant.. A les mans també es troba a faltar animació.

Fotograma queden patents els problemes als colzes.


Un cop creats els fotogrames clau, els he desat com una acció "Action" per tal de poder-la reutilitzar i assignarla a una tecla dins el videojoc.

També he modelat una saca d'espeleologia.

Partint d'un cercle, l'he deformat fins a convertir-lo en el·lipse, després he extruït les arestes laterals, he afegit uns quants "Loop cut and slide" i he deformat la part superior manualment per a formar les arrugues de la boca.  Finalment he afegit la nansa lateral i les corretges per a les espatlles.



Un altre pas que he fet ha estat millorat l'escenari de proves, amb textures més detallades i un modificador "Subsurf" (subdivisió de la superfície)

Per tal d'encadenar les 3 accions en una animació he hagut d'aprendre com funciona l'editor No Lineal d'Animació (NLA editor). He seguit el següent manual.

I finalment he renderitzat una animació de les tres accions consecutives (l'ordinador ha trigat una eternitat...),

Acció de caminar, acció d'estar respirant i mirant a banda i banda i acció de córrer, executades dins l'escenari de proves, davant la cinglera on hi ha les dues boques de la cova, amb tres saques per terra.


dissabte, 3 de gener del 2015

Espeleovideojoc (2) Elements per a moure el personatge i la càmera

En aquesta entrada crearé amb Blender els elements per tal de moure el personatge i la càmera. Seguint els tutorials 1 a 8 i 23  de Físico Molon, he creat successivament els elements necessaris (tots seran invisibles durant el funcionament normal del joc excepte el personatge):

Elements en la posició original



Element 1: (Invisible) És l'actor del joc, en polsar la tecla "W" es desplaça en la direcció de l'eix Y local. Rota sobre l'eix Z local amb el moviment dreta-esquerre del ratolí. Conté també unes instruccions en llenguatge Python (no sé res de Python  :-(   , m'he limitat a copiar el codi...  ) per a registrar la seva posició en els eixos globals i guardar-la en una variable de posició.

Element 2: (Invisible) És el punt a on mira la càmera. Es mou solidàriament amb l'element 1. Rota sobre l'eix X local amb el moviment endavant i endarrere del ratolí per tal de moure la càmera (element 3).

Element 3: (Invisible) És la càmera amb la qual veurem el videojoc. Es mou solidàriament amb el punt a on mira la càmera (element 2). Rota sobre l'eix X local amb el moviment endavant i endarrere del ratolí. Conté també unes instruccions en llenguatge Python per a desplaçar-se  sobre l'eix que uneix els elements 2 i 4, aproximant-se a l'element 2  quan hi ha obstacles visuals a prop, per tal de no perdre de vista el personatge.

Element 4: (Invisible) És el pla que limita la distància màxima a la qual es pot allunyar la càmera del personatge. Es mou solidàriament amb el punt a on mira la càmera (element 2). 

Element 5: (Invisible) És el punt a on mira el personatge quan es desplaça (quan està polsada la tecla "W"). Es mou solidàriament amb l'element 1.

Element 6: (Invisible) És el paral·lelepípede que conté el personatge. Conté també unes instruccions en llenguatge Python per a assignar la seva posició (però no la rotació) al mateix punt on estigui l'element 1. (Al gràfic s'ha representat desplaçat)

Element 7: (Invisible) És l'esquelet (armature) del personatge. Es mou solidàriament amb el paral·lelepípede (element 6). Té una sèrie d'accions (cicles de moviment, com ara caminar, saltar, respirar, etc...) ja animades que s'executen quan es polsa una tecla. Per exemple, en en polsar la tecla "W" s'activa l'animació de caminar cap endavant. Quan no s'està posant cap tecla, s'activa l'animació de respirar.

Element 8: (Visible) És la malla del personatge. Es mou solidàriament amb l'esquelet (element 7). Es deforma seguint els moviments de l'esquelet (element 7).


A continuació he reaprofitat l'animació de caminar que teníem del personatge Nina per a fer l'acció de caminar de l'espeleòloga i he creat una altra acció per a la situació de repòs (respirar i mirar a banda i banda)

I he creat un escenari provisional amb un prat, una cinglera i una cova molt elementals per tal de poder fer proves de funcionament.

Escenari sense destacar la cova

Escenari amb la cova destacada

Per tal de poder capturar l'acció del videojoc he instal·lat el programa Hypercam2, que permet capturar la imatge de la pantalla. El tractament del vídeo (retallar fotogrames i canviar el format) l'he fet amb el programa Avidemux.

A continuació adjunto una captura de vídeo del videojoc que mostra:
1) El moviment de la càmera, ( controlada pel ratolí ) entorn del personatge (quan no es polsa cap tecla )
2) L'acció de respirar i mirar a banda i banda (quan no es polsa cap tecla )
3) L'acció de caminar en la direcció oposada a la càmera (quan es polsa la tecla W , direcció controlada pel ratolí )



En properes entrades afegiré altres accions al personatge i intentaré crear un executable del videojoc.

divendres, 26 de desembre del 2014

Espeleovideojoc (1) Projecte per al 2015

En aquesta entrada esbossaré un projecte per a fer al llarg del 2015.

La intenció és fer un petit videojoc interactiu amb Blender, amb un personatge que ha de completar una sèrie d'accions per tal d'arribar al final del joc.

La idea m'ha vingut després de veure els tutorials de Físico Molon, una pàgina molt interessant sobre el tema dels videojocs amb Blender.

La temàtica bàsica serà una espeleòloga que ha de trobar una sèrie d'objectes per arribar al fons d'un avenc i treure alguna informació oculta, arqueològica o paleontològica que hi pugui haver.

El joc requerirà els següents passos:

1) Modelar i texturitzar un personatge principal

2) Crear una sèrie d'accions que fa aquest personatge:

-Cicle de caminar
-Cicle de córrer
-Cicle de pujar per una corda
-Cicle de baixar per una corda
-Cicle d'arrossegar-se
-Cicle de repòs (respiració i observació)
-...

3) Modelar i texturitzar un entorn natural :

-Muntanyes
-Boscos
-Arbres i plantes
-Cova amb pous i galeries

4) Modelar i texturitzar personatges secundaris:

-Cabres
-Porcs senglars
-Ratpenats
-Arqueòlegs i/o paleontòlegs
 
5) Crear una sèrie d'accions que fan els personatges secundaris:

-Cicle de pasturar per a animals exteriors
-Cicle de fugir per a animals exteriors
-Cicle de caminar per a les persones
-Cicle d'explicar i parlar per a les persones

6) Modelar i texturitzar objectes que caldrà utilitzar:

-Aparells de progressió
-Sacs
-Casc
-...

7) Crear una interactivitat que permeti moure el personatge i la càmara

8) Crear una lògica que obligui el personatge a comportar-se de diferents maneres segons l'entorn:

-Caminar en pla o llocs de poca pendent
-Pujar per corda en pous
-Arrossegar-se en llocs de sostre baix
-...

9) Crear una intel·ligència artificial per als personatges secundaris per tal que reaccionin a la presència del personatge principal, fugint o interactuant amb ell.

10) Crear un comptador del progrés del joc, que registri com es van complint els objectius.

... I moltes altres coses que aniran apareixent a mesura que el projecte avanci...

No em fixo cap termini per acabar-lo, aniré fent sense pressa...

De moment, per agafar inspiració, només he fet una modificació del personatge anterior (Nina) per a posar-li un casc i una granota  d'espeleòloga: