Announcement

Collapse
No announcement yet.

TUT: Creating Rain + Snow + Fog in DarkPlaces

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • R1m1

    I love this damn green fog



    Download:
    uploaded.to - where your files have to be uploaded to

    Install:
    Copy the .ent file to your \rogue\maps\ folder

    Comment


    • Once I get my university exams finished, I'm gonna continue with the episode 4 rain and snow ambientation..
      200 a�os de mi querido PARAGUAY
      14/05/1811

      Comment


      • This friday I'm gonna finish my exams, wish me luck guys!
        But I've already made rainy .ent files for episode 4..
        They're just previews and some needs to be edited yet..

        Download

        Hope you like it..
        Dani
        200 a�os de mi querido PARAGUAY
        14/05/1811

        Comment


        • Good luck Dani, and thanks for the files. Will check them tonight.

          Comment


          • Hi Seven:

            Still working on including the rain in my mod, having problems on e1m2 with it falling from inside the roof. Where are the final ent files for this map? I also wanted to say that its possible to have rain falling from inside a roof on occasion, because if its a castle map, with wood ceiling, then its possible if there is large rainstorm, the old wooden ceilings may leak. This might be something I try to code at a later date. There's also the option no one explored yet for accumulating puddles that ake noise when you run through them, probably best done engine side though. Do you have a single page where all your Quake mods are centralized? Probably a good idea...again, nice work.

            Comment


            • Hello Cobalt..
              You may find issues like that, whose are inevitable for now..
              Your idea is good also, look for maps with those features.. (wooden ceilings)
              200 a�os de mi querido PARAGUAY
              14/05/1811

              Comment


              • Dear Cobalt,

                first of all, I am sorry for your inconvinience with the PM and that you lost your long text.

                Now on to your described issue:
                I remember, that we discussed this point a while ago via PM.

                Because of the fact, that I dont fully understand your above post, I want to go into details here.
                Maybe this will also help others with this question.
                There are 2 possibilities why rain falls through "ceilings":

                1.) In rooms that are near to open areas it can happen, that you misalligned the rain cube coordinates
                and therefore rain is also falling inside the room directly aside the open outside area.
                This can be corrected by finetune the cube coordinates.
                ATTENTION:
                A rain cube can only be declared alligned parallel to the base coordinate system of the world !
                So if the outside area of the map is not symetrical to the base coordinate system of the world,
                this will lead to necesssity to create many small rain cubes that tries to fill the open outside area.
                A good example is E2M2. THis map gaves me more than headaches: It has a river going through the map,
                which is many times not parallel to world coordinates, but angular (30� ... 45�).
                The fact, that it has nearby rooms (where rain should not fall) makes it impossible to spawn one big cube
                all over the river. So many many small mini cubes had to be created that fills as good as possible the open area.

                2.) The second reason why rain falls through "ceilings" is, that the rain code (engine sided) is not doing
                what it should. So you can speak about a "bug" if you want.
                The "bug" is as follows:
                The coordinates of the rain cube has a upper z-coordinate and a lower z-coordinate.
                The upper z-coordinate is working flawless.
                But the lower z-coordinate is not "working". The rain will continue to fall below the lower z-coordinate.
                It will fall until it touches a texture / mesh.
                Now the critical part begins:
                Depending on the THICKNESS of the mesh these things can happen:
                A) If the mesh is very thin (like areas in E1M2 where you can walk beneath the bridges), the rain will fall
                through the bridges as if there were no mesh at all !
                B) If the mesh is medium thick, the rain will stop to fall and the "splash" particle is spawned.
                This "splash" particle will fall through the medium thick mesh and is partly visible from below.
                C) If the mesh is thick (like in E1M4: The huge bridge in the big outside area in the end of map), the rain will
                NOT be visible below that mesh.

                I guess your post from above is concerning point 2.)


                ATTENTION:
                Snow is acting VERY different. It will NEVER fall through a mesh ! So you can use snow in EVERY map without bugs.
                Reason for this phenomenon might be:
                - the slow velocity of snow compared to rain.
                - the fact that rain has no "splash" particle
                - the (engine ?) code is different between rain and snow


                That is why I could NOT make a rainy .ent file for E1m6.
                This map is full of areas where you walk beneath other areas (which are open outside areas).
                The rain would fall through all those ceilings.


                Regarding your idea of rain falling through old castle ceilings: PERFECT !
                This would amplify the ambience very much. Many ID1 maps have wooden ceilings.
                The only thing you must be careful here:
                Use very big cubes with very small rain quanitiy params (1).
                Unfortunately it is not possible (without a QC code change) to use values below "1".
                Rain volume in small cubes even with mentioned param "1" is very strong.
                One day I must take a deeper look in the code again, maybe this behaviour can be easily changed.
                --> But then all of my .ent files would not work as they should anymore and must be updated...


                I hope this will help you / answer your question in any way.

                All the Best for your great mod, Cobalt.
                Seven

                Comment


                • Hi Seven:

                  Thanks for the detailed info on the bug. I remember the need to subtract 50 from the 1st Z and then 20 from the second Z coordinate which was back when you first made these ent files. I have been doing that with all the ent files you made so far. As you may recall, I am hard coding the ent data to my QC based on the map loaded, because it simplifies things a little when you host a live server. I hope to have the server back up again soon if all goes well.

                  Comment


                  • Seven couldn't have explained it better..
                    200 a�os de mi querido PARAGUAY
                    14/05/1811

                    Comment


                    • Hi Seven:

                      Wanted to ask you another question on the box coordinates for the rain box. When you use the editlights tool, do you make sure the cursor is on a sky coordinate, or the wall of the bsp?

                      Also, I utilized a new DP built-in for the lightning effects , as follows:

                      te_customflash (self.origin, 900, random (), '100 100 30');

                      Seems to create a much more widely visible light effect that was better then my self.effects = BRIGHTLIGHT idea. Drawback is is still bleeds through the solid bsp if too close. Advantage is that its more customizable in the radius and time period of the effect. I do not yet have it running on my server yet, but will when the next phase of developments are done.

                      Comment


                      • Hello Cobalt,

                        Thank you for your post.
                        In the first run, I always use the X and Y coordinates that the rtlight-editor-cursor gives me when I place it directly on the texture (=mesh) of the roof cutout.

                        Around 80% of all open sky areas in ID1 maps are shaped parallel to world coordinate.
                        That means you can place the cursor on one side of the 4-sided- roof-cutout and move it all along its length.
                        The X (resprective Y) coordinate will never change !

                        That is why creating the rain-cubes is really easy in the first run.

                        After I entered the cube in the .ent file after first run, I test it.
                        And sometimes I have to slightly correct it (mostly move the coordinate a little more to the inside of the cube). Because rain is "bleeding" through the ceiling/wall.
                        That is because the particles are spawned not exactly on the cube border.
                        They variy quite much and almost everytime are a little outside of the cube.

                        Once you get experienced with this procedure, you will automaticaly make the cube coordinate correct even after first run.
                        But that takes experience of course.

                        I am absolutely not sure, if this will answer your questions.
                        If not, please ask in detail again.


                        Regarding your second question: te_customflash

                        Yes, the benefit is around 200% compared to the non-flexible "effects = BRIGHTLIGHT"
                        I remember, that I linked you to the even more flexible function in one of our PM discussions. You know, the looong ones

                        You will not find a better screenflash function than Dr_Shadowborg�s: here
                        This function is really nice. I used it once for another thing.

                        Sorry for not continue making .ent files for other maps, due to the reasons explained in my PMs...

                        Greetings,
                        Seven

                        Comment


                        • Hi Seven:

                          Yes, thanks for the better explanation on the box coordinates. I did notice alot of the same (Y) coordinate each time in your ent files, which explains your point just given. I just entered in the coordinates you first supplied for E1M5, and must say that they were done very nicely ! I kept in my new lightning effect, and on this map, I would say far they compliment that function very nicely! You can stand by the GL and look to the 3 upper windows, and see lightning flashes through them....gives Quake a whole new dimension - (beyond dimension of the doomed of course !).

                          Yes, had seen that updatepalfrom code before, I think you also pointed me to it before. It uses V_cshift console command, which is useful, and I was actually experimenting with that recently in a similar way, but I am dead set on my new effect because I think its actually using engine light, and it happens to shine through openings that lead to other rooms, etc, much in the way a lightning flash in real life really would. But thanks for the reminder anyway. also, I remember reading you updated some of your rain ent files with better coordinates? Is there one location where you can link to to get them all? I noticed someone else made one for E4M1, and I tried it, but one spot is not working.

                          Comment


                          • Cobalt,
                            Would you consider sharing the lightning effect with us?

                            Comment


                            • Right now its just: customflash (self.origin, 900, random (), '100 100 30');


                              The self.origin is the coordinates of the box supplied in the ent files. My code spawns an entity at those coordinates, and if not spawned into part of the map bsp, I give it a movetype_fly with a slow velocity. From there it thinks, and moves around inside the map in a random direction, and when it touches the solid bsp part of the map again, it propells upward at a great velocity, and the custom flash is called. As it hits the top of the map (sky) its told to go back to its original box coordinate and start all over again. During its travels, its emiting various sounds for wind, and raindrop sounds...and the thunder sound happens when it starts its upward movement. Depending on the map, its hard to see it ' streak ' accross the map , now that I am using that new function, but before, when I used the BRIGHTLIGHT effect, it kind of looked like ' magic lightning ' for lack of a better term, because you could on occasion in a map with wide open space , like E1M4 see them streak by if you ' sky watch '. Sometimes with a map like E1M2 the entities will float into hallways, and streak to the ceiling, and you will occasionally have lightning effect show up with no sky visible where it occurs. I plan to fix that when I can find a way to have it scan to detect the sky first before it makes its run, but so far I have tried: pointcontents_sky method, and its not always detecting the sky on every map. Once I get the code more to the way I am happy with, will post here, but meanwhile thats the general concept.












                              Originally posted by gdiddy62 View Post
                              Cobalt,
                              Would you consider sharing the lightning effect with us?

                              Comment


                              • Cobalt,
                                Thanks for the response!
                                Sounds like it can really be a great effect! Is there a way for you to capture it in a video or is it too difficult due to the randomness?

                                Comment

                                Working...
                                X