25-03-2013, 11:04 AM
Ho bisogno di un pò di aiuto per creare un evento in kismet, ma mi sta prendendo di mano la situazione.
In pratica ecco la mia situazione:
- Ho un materiale in cui ho inserito uno scalar parameter, in pratica lo scalar parameter mi permette di switchare da una texture ad un'altra
- Ho creato un'altro materiale ( Istanced ), in modo da poter controllare il valore dello scalar parameter
- Ho due sockets applicati a due ossa della mia skeletal mesh, uno sulla clavicola e uno sul polso
- La mesh ha un'animazione dove il braccio all'inizio è già piegato, e alla fine dell'animazione il braccio si distende...un pò come quando vai in palestra e fai sollevamento pesi, solo che l'animazione parte quando il peso è giù su e lo si fa scendere fino ad avere il braccio teso
Ecco cosa voglio realizzare in Kismet:
> Calcolare la distanza tra il socket della clavicola e il socket del polso ( tramite il nodo Get Distance )
> Il Get Distance mi da un valore ( in Unreal Units ) che è un valore Float
> Appena comincia l'animazione ( quindi a level loaded ) voglio che la distanza iniziale che c'è tra il socket della clavicola e quello del polso sia la mia distanza minima, mentre quando il braccio è completamente teso ( cioè alla fine dell'animazione ) quello sia il mio valore massimo.
> In pratica ho un range che stabilisce qual'è la distanza minima e massima tra i due socket
> Convertire il valore della distanza iniziale ( quindi appena comincia l'animazione ) che mi da il Get Distance in modo che quel valore minimo corrisponda a ZERO.
> Convertire il valore della distanza finale( quindi alla fine dell'animazione ) che mi da il Get Distance in modo che quel valore minimo corrisponda a UNO.
> Inserire un Material Instance > Set Scalar Param node in Kismet e fare in modo che il valore float convertito in valore numerico mi vada ad assegnare un valore tra 0 e 1 in modo da dare automaticamente il valore al nodo Scalar Param.
In breve voglio che la distanza tra i socket faccia un blend automatico del materiale che ho creato, senza passare da Matinee ( dove si può fare tutto tramite key ), e visto che il valore si basa sulla distanza tra due socket, ogni volta che la distanza cambia in automatico Kismet si aggiorna, e quel valore "guida" il valore dello Scalar Param sempre dentro Kismet
Avete qualche consiglio su come settare Kismet in modo che il tutto funzioni?
O qualche altro suggerimento in modo che questo mio sistema funzioni?
In pratica ecco la mia situazione:
- Ho un materiale in cui ho inserito uno scalar parameter, in pratica lo scalar parameter mi permette di switchare da una texture ad un'altra
- Ho creato un'altro materiale ( Istanced ), in modo da poter controllare il valore dello scalar parameter
- Ho due sockets applicati a due ossa della mia skeletal mesh, uno sulla clavicola e uno sul polso
- La mesh ha un'animazione dove il braccio all'inizio è già piegato, e alla fine dell'animazione il braccio si distende...un pò come quando vai in palestra e fai sollevamento pesi, solo che l'animazione parte quando il peso è giù su e lo si fa scendere fino ad avere il braccio teso
Ecco cosa voglio realizzare in Kismet:
> Calcolare la distanza tra il socket della clavicola e il socket del polso ( tramite il nodo Get Distance )
> Il Get Distance mi da un valore ( in Unreal Units ) che è un valore Float
> Appena comincia l'animazione ( quindi a level loaded ) voglio che la distanza iniziale che c'è tra il socket della clavicola e quello del polso sia la mia distanza minima, mentre quando il braccio è completamente teso ( cioè alla fine dell'animazione ) quello sia il mio valore massimo.
> In pratica ho un range che stabilisce qual'è la distanza minima e massima tra i due socket
> Convertire il valore della distanza iniziale ( quindi appena comincia l'animazione ) che mi da il Get Distance in modo che quel valore minimo corrisponda a ZERO.
> Convertire il valore della distanza finale( quindi alla fine dell'animazione ) che mi da il Get Distance in modo che quel valore minimo corrisponda a UNO.
> Inserire un Material Instance > Set Scalar Param node in Kismet e fare in modo che il valore float convertito in valore numerico mi vada ad assegnare un valore tra 0 e 1 in modo da dare automaticamente il valore al nodo Scalar Param.
In breve voglio che la distanza tra i socket faccia un blend automatico del materiale che ho creato, senza passare da Matinee ( dove si può fare tutto tramite key ), e visto che il valore si basa sulla distanza tra due socket, ogni volta che la distanza cambia in automatico Kismet si aggiorna, e quel valore "guida" il valore dello Scalar Param sempre dentro Kismet
Avete qualche consiglio su come settare Kismet in modo che il tutto funzioni?
O qualche altro suggerimento in modo che questo mio sistema funzioni?