Orario: 19-06-2013, 21:29 Benvenuto ospite! (Log inRegistrati)


Rispondi 
Come far "ingrassare" i modelli 3d
Autore Messaggio
Gringo
Member

Messaggi: 101
Registrato: Feb 2011
Offline Offline
#1 Come far "ingrassare" i modelli 3d
0
Sto sviluppando un piccolo gioco 3d in cui si alleva un piccolo animale (un mostro in realtà) e voglio inserire la possibilità di farlo ingrassare dopo che ha mangiato tanto e farlo dimagrire dopo che ha fatto esercizio fisico.

La mia domanda è, come gestisco la crescita del modello 3d?

Lo sto sviluppando con Unity3D e C#.

Giacomo Antonelli
09-01-2012 16:25
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
arka80
Member

Messaggi: 224
Registrato: Jul 2011
Offline Offline
#2 RE: Come far "ingrassare" i modelli 3d
0
the easy way: ne fai un paio di modelli in più, prima e dopo la cura

Portfolio
CodeLicks, il mio blog sulla programmazione
09-01-2012 16:33
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
_tommo_
Mod nerdcore

Messaggi: 6,043
Registrato: Nov 2008
Online Online
#3 RE: Come far "ingrassare" i modelli 3d
0
Io farei due mesh, una magra e una grassa. Poi a runtime ti carichi entrambe e le usi per creare una mesh che interpola linearmente le posizioni di tutti i vertici di entrambie a seconda della "grassezza" Smile
Così hai il massimo controllo su com'è grasso e com'è magro, senza dover pensare ad algoritmi folli!

Se invece ti piacciono gli algoritmi folli, potresti mettere ad ogni vertice un vertex colour che rappresenta la normale di estrusione. A quel punto in uno shader fai position += extrude_normal*fatness e dovrebbe venire qualcosa di decente Ahsisi

Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
(Questo messaggio è stato modificato l'ultima volta il: 09-01-2012 16:36 da _tommo_.)
09-01-2012 16:35
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gringo
Member

Messaggi: 101
Registrato: Feb 2011
Offline Offline
#4 RE: Come far "ingrassare" i modelli 3d
0
Avevo pensato a fare più modelli, ma se volessi gestire in maniera separata la crescita degli arti?
(09-01-2012 16:35)_tommo_ ha scritto:  Io farei due mesh, una magra e una grassa. Poi a runtime ti carichi entrambe e le usi per creare una mesh che interpola linearmente le posizioni di tutti i vertici di entrambie a seconda della "grassezza" Smile
Così hai il massimo controllo su com'è grasso e com'è magro, senza dover pensare ad algoritmi folli!

Se invece ti piacciono gli algoritmi folli, potresti mettere ad ogni vertice un vertex colour che rappresenta la normale di estrusione. A quel punto in uno shader fai position += extrude_normal*fatness e dovrebbe venire qualcosa di decente Ahsisi

Inchino

Ottimo, proverò così!

Giacomo Antonelli
(Questo messaggio è stato modificato l'ultima volta il: 09-01-2012 16:37 da Gringo.)
09-01-2012 16:35
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
_tommo_
Mod nerdcore

Messaggi: 6,043
Registrato: Nov 2008
Online Online
#5 RE: Come far "ingrassare" i modelli 3d
0
(09-01-2012 16:35)Gringo ha scritto:  Avevo pensato a fare più modelli, ma se volessi gestire in maniera separata la crescita degli arti?

Ti conviene vedere come si fanno le skinned mesh allora Sisi

Allora, seguendo l'idea degli extrude_normal nel vertex color:
-ogni vertice sa a quali bone è attaccato e con quale peso;
-passi allo shader un float[] che contiene le "fatness" di tutti i bone;
-il vertice interpola la "fatness" di tutti i suoi bone
-come prima, local_position += extrude_normal*fatness;
-e poi trasformi in world

Dovrebbe funzionare Sisi

Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
09-01-2012 16:41
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum: