Aller au contenu

Photo

Help adding weather effects?


  • Veuillez vous connecter pour répondre
18 réponses à ce sujet

#1
Grave461

Grave461
  • Members
  • 12 messages
What I want to do is add rain to a few random encounters... How do I do it?

Also, how do I change the "skin" for the sky?   (cloudy, clear/sunny, overcast, etc)

Any help would be appreciated.  Thanks in advance!

#2
-Semper-

-Semper-
  • Members
  • 2 256 messages
weather effects are just fxe models. settings for the sky are changed with the appropriate slider within the atmosphere settings of your level. their're called something like cloud and so on. just play with them ;)

Modifié par -Semper-, 31 mars 2010 - 09:55 .


#3
Grave461

Grave461
  • Members
  • 12 messages
What about for an area? It looks like all the Random Encounters are areas and not levels. How would I change the weather effects and sky settings for those?

#4
CID-78

CID-78
  • Members
  • 1 124 messages
area's use a level so simply use a level with the weather effect you want and then add the encounter in that area.

#5
Craig Graff

Craig Graff
  • Members
  • 608 messages
This is something that you can also handle in script if you are looking to apply something to an existing area. To see what values to use, first open a layout and adjust the exported area properties.

From core_h.nss:
[dascript]
void SetCloudConditionsCustom(float[] arClouds)
{
    SetAtmosphereRGB(ATM_PARAM_CLOUD_COLOR_RGB,arClouds[0],arClouds[1],arClouds[2]);
    SetAtmosphere(ATM_PARAM_CLOUD_DENSITY,arClouds[3]);
    SetAtmosphere(ATM_PARAM_CLOUD_SHARPNESS,arClouds[4]);
    SetAtmosphere(ATM_PARAM_CLOUD_DEPTH,arClouds[5]);
    SetAtmosphere(ATM_PARAM_CLOUD_RANGE_MULTIPLIER1,arClouds[6]);
    SetAtmosphere(ATM_PARAM_CLOUD_RANGE_MULTIPLIER2,arClouds[7]);
}
[/dascript]

Modifié par Craig Graff, 01 avril 2010 - 02:55 .


#6
-Semper-

-Semper-
  • Members
  • 2 256 messages
good to know. thx!

#7
Grave461

Grave461
  • Members
  • 12 messages

Craig Graff wrote...

This is something that you can also handle in script if you are looking to apply something to an existing area. To see what values to use, first open a layout and adjust the exported area properties.

From core_h.nss:
[dascript]
void SetCloudConditionsCustom(float[] arClouds)
{
    SetAtmosphereRGB(ATM_PARAM_CLOUD_COLOR_RGB,arClouds[0],arClouds[1],arClouds[2]);
    SetAtmosphere(ATM_PARAM_CLOUD_DENSITY,arClouds[3]);
    SetAtmosphere(ATM_PARAM_CLOUD_SHARPNESS,arClouds[4]);
    SetAtmosphere(ATM_PARAM_CLOUD_DEPTH,arClouds[5]);
    SetAtmosphere(ATM_PARAM_CLOUD_RANGE_MULTIPLIER1,arClouds[6]);
    SetAtmosphere(ATM_PARAM_CLOUD_RANGE_MULTIPLIER2,arClouds[7]);
}
[/dascript]


So how do I open a layout?  Where do I find them?

#8
Craig Graff

Craig Graff
  • Members
  • 608 messages
http://social.biowar...ect/1331/#files

Modifié par Craig Graff, 13 avril 2010 - 11:56 .


#9
Grave461

Grave461
  • Members
  • 12 messages
Is there a tutorial out there on how to do this?



As a starting point... I basically want to take Lothering and make it rainy (like Vigil's Keep is in Awakening).



I'm not new to modding games, just new to modding Dragon Age. It seems altering a level's weather should be simple to do... but it's not as straight forward as I thought it would be.

#10
Grave461

Grave461
  • Members
  • 12 messages
OK, this is turning out to be WAY harder than I originally thought it would be.



Can somebody PLEASE explain to me how to add rain effects to a level? A quick step-by-step procedure would be very helpful.

#11
princecorg

princecorg
  • Members
  • 67 messages
ok, maybe you could try this :
In the toolset, open files and get a level (.lvl)
In the palette window, choose model, go to fxe directory and get the fxe you need.
Place your fxe on the level, adjust settings if needed with the object inspector.
You now have to change your area properties, To do so you'll have to define an area (use the purple "+") and adjust parameters for the right atmosphere (you can also export thoses parameters).
Save.
Once all is done, you'll have to export the level (make sure you have at least put one ambient light, one starting point).
Switch to single player module. Reopen your module
render your lightmaps.
Go to Tools, Export do all local posts.
Once's done, cut/paste your directory level from single player packages to your module toolsetexport directory (in core data override).Not necessary if you are working already in single player module.
Create a new area or open an already existing one you want to use and choose the level you have exported for layout.
It should work.

Modifié par princecorg, 03 mai 2010 - 10:33 .


#12
Grave461

Grave461
  • Members
  • 12 messages
Thanks Princecorg!  I was able to adjust the atmosphere and add the rain.  The level I'm modifying (lgt602d) already has ambient light and starting points already in it.  So I don't have to add anymore, right?
When I click on the "Render Lightmaps" button, it ends up saying "Failed to submit lightmap layout" or something like that.
But how do render lightmaps?  I am looking thru the DAToolset Wiki, but it's not very helpful. 

#13
princecorg

princecorg
  • Members
  • 67 messages
Are you using the good Python version (check the wiki or this forum first page) ?

Check also that one of your waypoints is defined as starting waypoint for the level. You can add one if necessary, it doesn't matter as it is only for the level not used in the area.

#14
Grave461

Grave461
  • Members
  • 12 messages
I'm using v1.01, if that helps any?

#15
Talisander

Talisander
  • Members
  • 173 messages
Grave, you should search the Dragon Age builder wiki for stuff like how to render lightmaps. It's one of the main annoying things you have to set up to get your toolset fully working.... actually, it's pretty much the only thing you have to do outside of the initial installation.

Here's the part of the wiki you want.

Modifié par Talisander, 23 mai 2010 - 09:35 .


#16
Kilrogg_

Kilrogg_
  • Members
  • 296 messages

Craig Graff wrote...

This is something that you can also handle in script if you are looking to apply something to an existing area. To see what values to use, first open a layout and adjust the exported area properties.

From core_h.nss:
[dascript]
void SetCloudConditionsCustom(float[] arClouds)
{
    SetAtmosphereRGB(ATM_PARAM_CLOUD_COLOR_RGB,arClouds[0],arClouds[1],arClouds[2]);
    SetAtmosphere(ATM_PARAM_CLOUD_DENSITY,arClouds[3]);
    SetAtmosphere(ATM_PARAM_CLOUD_SHARPNESS,arClouds[4]);
    SetAtmosphere(ATM_PARAM_CLOUD_DEPTH,arClouds[5]);
    SetAtmosphere(ATM_PARAM_CLOUD_RANGE_MULTIPLIER1,arClouds[6]);
    SetAtmosphere(ATM_PARAM_CLOUD_RANGE_MULTIPLIER2,arClouds[7]);
}
[/dascript]


I'm trying to use SetAtmosphericConditionsCustom to see if I can create a lightning effect (the idea comes from the atmosphere 2DA), but I'm not sure how to refer to the values (for example, 1 to 7 in the above quote) in the SetCloudConditionsCustom(float[] arClouds) line. I get that I'm supposed to use an array, but I tried to look for information about c++ arrays online but they only further confused me ><.

Would anyone be able to give an example using the code in the quote above?

Thanks!

#17
tmp7704

tmp7704
  • Members
  • 11 156 messages
If i remember right the DA arrays are bit different from the standard C++ arrays and more like the STL vector (in that they can expand automatically and don't force you to do all the cumbersome memory allocation stuff) So you can probably do something like:
float[] cloudarray;
cloudarray[0] = value;
cloudarray[1] = value;
...
cloudarray[7] = value;
SetCloudConditionsCustom( cloudarray );

the 'value' is actual floating-point number you want that particular parameter to have.


edit: that said, for the lighting effect you'll probably want to adjust just the colour of clouds so you can probably get away with direct call like:
SetAtmosphereRGB( ATM_PARAM_CLOUD_COLOR_RGB, ColourR, ColourG, ColourB );
for quick flash and then use another SetAtmosphereRGB() to restore the regular colour. ColourR, ColourG and ColourB would be floating-point values defining RGB components of the colour you want to apply.

Modifié par tmp7704, 31 mai 2010 - 05:29 .


#18
Kilrogg_

Kilrogg_
  • Members
  • 296 messages
Thanks. Good call on the clouds too, didn't think about that.



For thunder I figure PlaySound would work.



For the lightning VFX, maybe a SetObjectActive on the VFX placeable (do they even have an active/inactive toggle?) or setting the lightning as the spawn VFX of an invisible placeable in the sky.



Assuming this even works (and looks good), do you have any suggestions on how this could be made somewhat random so every lightning strike doesnt have to be triggered manually?




#19
TimelordDC

TimelordDC
  • Members
  • 923 messages
Assuming the VFX placeable idea works, you can get a random VFX placeable using GetObjectByTag. Just generate a random number to search for (with the upper bound being the number of VFX placeables you have)