Sei sulla pagina 1di 3

ISTRUZIONI PER LA CREAZIONE DELLA FIAMMA DEL REATTORE CON FONTI DI LUCE “VOLUME”

1) Creare una “Volume_light” e rinominarla: volumeFog_Thruster

2) Creare una seconda “Volume_light” e rinominarla: volumeSecondary_Thruster

3) Nell’Attribute Editor modificare la luce volumeFog_Thruster (attivando il suo Shape):


Sotto Volume Light Attributes/Color Range:
Volume Light Dir: Inward e Arc: 180

4) Seleziona volumeFog_Thruster e parenta la luce al joint pelvis(trascinandola) riferendosi alla


posizione della superficie "fondo_rettore" sotto il gruppo di oggetti "REATTORE". Posiziona
poi la luce in modo che sia orientata nel giusto asse (nel caso trattato in Z negativo (rotate Y =
180 e rotate Z = -90). Porta la Volume con il suo Pivot in corrispondenza del centro del
reattore. Infine Scala la stessa fonte di luce sino a che il suo raggio sia leggermente maggiore
della parte fissa del reattore. La sua forma finale dovrà essere quella di un’ovale al fine di
poter assomigliare ad una fiamma. Nel caso in questione, volumeFog_Thruster , ha uno
scaling pari a 18/1.7/1.7 xyz Attenzione!!! il posizionamento della luce deve considerare di
non passare oltre le superfici che compongono gli oggetti della parte fissa del reattore. uesto
al fine di non illuminare parti non interessate dalla luce che la fiamma genererà.

5) Ritorniamo nell’Attribute Editor di volumeFog_Thruster e editiamo il suo Shape (Sotto


Volume Light Attributes). Lì impostiamo i valori del colore della luce e la sua intensità:
Color (RGB): 0.15 0.33 1
Intensity: 100 (nel caso in questione)

6) Sempre nello Shape della luce, sotto Light Effects, “clicchiamo” su Light Fog al fine di
generare lo Shader relativo alla nebbia.

7) Rinominiamo lo Shader: lightFog_FogThruster

8) “Clicchiamo” poi sul Map di Color e applichiamo una 3D texture: Solid Fractal

9) Rinominiamo il Placemente 3D: place3dTexture_Thruster

10) Allo stesso diamo un scaling xyz pari a 15 (nel caso specifico)

11) Nell’Outliner “gruppiamo” place3dTexture_Thruster e rinominiamo il gruppo:


group_ place3dTexture_Thruster

12) Attiviamo To_fly e , con il Connection Editor, colleghiamo lo scaling in X di To_fly allo scaling
XYZ di group_ place3dTexture_Thruster
Questa azione consentirà di dimensionare automaticamente la Texture della turbolenza in
funzione delle dimensioni del Rig (per mezzo di To_fly).
13) Selezioniamo il manipolatore select_landing e aggiungiamo un attributo con minimo 0,
massimo infinito e default 0. Nominiamo l’attributo thrusterFog_control.

14) Attiviamo place3dTexture_Thruster e, al fine di generare turbolenza sulla nebbia, generiamo


una espressione in cui thrusterFog_control possa pilotare il Rotate X del placament in
questione:
Name:
expression_ThrusterFogRotate
Expression:
place3dTexture_Thruster.rotateX=(time)*select_landing.thrusterFog_control;

15) Posizioniamo anche la seconda fonte di luce volumetrica: volumeSecondary_Thruster.


Trasciniamo anche questa luce allo stesso livello della gerarchia di To_fly che
volumeFog_Thruster (pelvis). Traslatiamo e scaliamo la luce secondaria in prossimità di
"fondo_rettore" in modo da non coinvolgere nella sua area altri oggetti (nel caso in
questione Scaling XYZ= 6/3/3). Anche a questa luce impostiamo il colore e l’intensità:
Color (RGB): 0.15/0.33/1
Intensity: 15

16) Nel suo Color Range, spostiamo il bianco del Color Range ad una posizione molto vicina al
nero. Questo consente di dare un “decadimento” stretto verso i bordi della fonte di luce.

17) Impostiamo Volume Light Dir: Down Axis con un Arc di 180° ( nel Channel Box della luce
rotea la stessa di 180° in Y)

18) Selezioniamo volumeFog_Thruster, e nel Channel Box aggiungiamo un attributo, il cui valore
minimo è 0, il massimo è 1 e il default è 0. Nominiamo l’attributo: position_ColorRange

19) Ritorniamo nell’Attribute Editor della stessa luce, e “cliccando” su Select Position di Color
Range (con MBD) generiamo l’espressione che piloterà la posizione del nero tramite
l’attributo aggiunto nel punto precedente. Questo sarà utile per gestire
l’accensione/spegnimento con il manip dei controlli generali:
Name:
expression_OnOff_Thruster
Expression:
volumeFog_ThrusterShape.colorRange[0].colorRange_Position = volumeFog_Thruster.position_ColorRange ;

20) Attiviamo il manipolatore select_landing e aggiungiamo un ennesimo attributo nominandolo


thruster_control. Il valore minimo sarà 0, il massimo 10 e il default 0

21) Creiamo un Set Driven Key sull’attributo appena creato. Set Driven Key in cui
thruster_control è il Driver. Il Driven sarà l’attributo creato al punto 18 (attributo che pilota a
sua volta il Select Position di Color del nero del Color Range della luce volumeFog_Thruster
tramite l’espressione creata al punto 19.
Quando thruster_control è a 0 position_ColorRange è a 1
Quando thruster_control è a 10 position_ColorRange è a 0

22) Creiamo un secondo Set Driven Key in cui thruster_control piloterà l’intensità della luce
secondaria (volumeSecondary_Thruster). Spostiamoci nell’Attribute Editor della luce
secondaria e con il MBD su Intensity del Volume Light Attributes attiviamo Set Driven Key.
Il Driven sarà volumeSecondary_ThrusterShape utilizzando Intensity. Il Driver sarà
l’attributo thruster_control del manipolatore select_landing.
Quando thruster_control è a 0 Intensity è a 0
Quando thruster_control è a 10 Intensity è a 15

23) Ora occorre creare una modalità di gestione della visibilità di tutti gli elementi coinvolti
nell’impianto che consenta di nascondere il tutto quando thruster_control è a 0 (reattore
spento). Torniamo su place3dTexture_Thruster e lì, sul visibilità, con il MBD generiamo la
seguente espressione:
Name:
expression_ThrusterVisibility
Expression:
if (select_landing.thruster_control > 0)
{
volumeFog_Thruster.visibility = 1;
volumeSecondary_Thruster.visibility = 1;
place3dTexture_Thruster.visibility = 1;
}
else
{
volumeFog_Thruster.visibility = 0;
volumeSecondary_Thruster.visibility = 0;
place3dTexture_Thruster.visibility = 0;
}

24) Torniamo sul manipolatore generale select_landing e aggiungiamo un ulteriore attributo:


thruster_control_scaling

25) L’attributo thruster_control_scaling avrà un valore minimo pari a 0, il massimo infinito e il


default 0

26) Selezioniamo la luce volumeFog_Thruster. Nel Channel Box “clicchiamo” (con MBD)
sull’attributo Scale X e generiamo la seguente espressione:
Name:
expression_ThrusterScaling
Expression:
volumeFog_Thruster.scaleX = 18 + select_landing.thruster_control_scaling;

Questa espressione consentirà di allungare a volontà la fiamma del reattore tramite


l’attributo thruster_control_scaling

Potrebbero piacerti anche