guardavo Dragon Ball Z per PSP e notavo gli effetti speciali
1]
http://i.testfreaks.es/images/products/600x400/118/dragonball-z-shin-budokai-psp.373366.jpg
3]
http://www.sextonivel.com/images/2007/05/2007411141438_1.jpg
Mi aiutereste a capire come vengono implementati? Per esempio, in 1],
il fascio che parte dal coso verde, come lo hanno implementato? Un
sistema di particelle ? Un bitmap che texturizza un quad?
Mettiamo caso che volessi realizzare un semplice raggio/fascio di luce
come quello di 1] o 2]. Mettiamo caso che la camera può inquadrare il
personaggio arbitrariamente. Come potrei realizzarlo?
In 3] Che cosa è ciò che ha goku intorno? Un bitmap?
E per finire, l'effetto "glow" come viene normalmente realizzato? E'
usato in realtime in quali occasioni??
Grazie
> In 3] Che cosa è ciò che ha goku intorno? Un bitmap?
>
Cosi a prima vista credo che siano sempli mesh lowpoly con su qualche
shader animato.
Ad occhio e croce direi che hanno usato la stessa tecnica che si usa per
rendere gli alberi nei giochi di corsa. La kamehameha (mi sento scemo solo a
scriverlo) č realizzata usando due poligoni ortogonali con texture in alpha
blending. L'aura attorno al personaggio sembra una mesh low poly texture
mappata usando sempre alpha blending. Di solito per rendere questi effetti
non esiste uno standard ma si lavora di texture in modo del tutto
arbitrario.
Ciò che sta intorno a goku, il "campo energetico" (come lo vogliamo
chiamare), sarebbero + mesh lowpoly con su qualche shader animato? Non
è che potresti spiegarti meglio? Se io riprendessi goku dall'alto, la
tua tecnica funzionerebbe? Che vedrei?
Forse non ho capito. Se piazzassi la camera davanti a goku, non vedrei
una croce??
> L'aura attorno al personaggio sembra una mesh low poly texture
> mappata usando sempre alpha blending. Di solito per rendere questi effetti
> non esiste uno standard ma si lavora di texture in modo del tutto
> arbitrario.
Cioè, una specie di guscio 3D, al cui interno è posto goku,
texturizzato?
Gli shader sono degli effetti che determinano l'aspetto di un
rendering. Ad esempio i personaggi che vedi nel gioco sono modelli 3d,
eppure sembrano disegnati a penna... quell'effetto si chiama Cel
shading, e fornisce un effetto stilizzato ad un particolare oggetto.
In unreal tornament vedi un sacco di effettini carini... ad esempio
portali di luce, cose luminore rotanti. quelle nn sono nientaltro che
materiali con degli shader posti sopra che danno un effetto.
Un esempio del cavolo... tu crei un materiale che sia animato, e
rappresenti una scarica eletrica. Lo renderizzi in game e non sembra
una scarica elettrica vera perche in realta non fa luce, non sembra
troppo realistica. Quindi prendi un software come "oFusion" e ti metti
a lavorare e all'improvviso il la tua scarica elettrica emette
bagliori di luce e sfuoca addirittura lo sfondo. Tutto questo lo
ottieni con uno shader. Salvi il risultato, lo metti nel tuo engine
(che supporta tale tecnica di rendering) e BAM ecco l'effettone.
>
> > [cut]
>
> > Ad occhio e croce direi che hanno usato la stessa tecnica che si usa per
> > rendere gli alberi nei giochi di corsa. La kamehameha (mi sento scemo solo a
> > scriverlo) è realizzata usando due poligoni ortogonali con texture in alpha
> > blending.
>
> Forse non ho capito. Se piazzassi la camera davanti a goku, non vedrei
> una croce??
Non ho capito quale croce intendi...
> > L'aura attorno al personaggio sembra una mesh low poly texture
> > mappata usando sempre alpha blending. Di solito per rendere questi effetti
> > non esiste uno standard ma si lavora di texture in modo del tutto
> > arbitrario.
>
> Cioè, una specie di guscio 3D, al cui interno è posto goku,
> texturizzato?
Ad esempio nell'ultimo screenshot:
Immagina dei pannellini tutti rivolti verso la telecamera che
inquadra. Pannellini bidimensionali con il lato rivolto verso la
camera. Tutti perfettamente trasparenti a darli una forma e un effetto
grafico/shader calcolato dalla GPU (mi pare). nientaltro
Notte
Se lo fai male, si. Solitamente questi effetti vengono progettati per avere
un'inquadratura frontale, laterale e dall'alto. Con i due poligoni
ortogonali (o 3 a 45 gradi, dipende) copri le inquadrature dall'alto e
laterali, per quella frontale applichi un'altra texture che si rivolge per
intero all'osservatore oppure fai in modo di non inquadrare mai l'effetto
frontalmente. Dipende da quello che devi fare.
> Cioč, una specie di guscio 3D, al cui interno č posto goku,
> texturizzato?
Si, ma non esiste una forma predefinita. Ad esempio, le esplosioni a terra
vengono rese con una corona circolare parallela al pavimento, le scintille
con getti particellari, etc...
Si, ma in questo caso, da quello che vedo dagli screenshot non sembra che
abbiano fatto uso di shader, ma di texture in alphablending con tecniche
presenti nei giochi quando ancora i pixel shader non esistevano.
> Non ho capito quale croce intendi...
Si riferisce ai due poligoni del raggio tagliati da un'inquadratura
frontale.
> Ad esempio nell'ultimo screenshot:
> Immagina dei pannellini tutti rivolti verso la telecamera che
> inquadra. Pannellini bidimensionali con il lato rivolto verso la
> camera. Tutti perfettamente trasparenti a darli una forma e un effetto
> grafico/shader calcolato dalla GPU (mi pare). nientaltro
Si, però lo shader è opzionale, per questa grafica un normale effetto di
trasparenza basta e avanza. In fondo è psp, non ps3.
A ok, parlo un po da profano, visto che sto approdando a questo genere
di programmazione da poco. Grazie per il chiarimento