KlatchainCoffee wrote...
I am building a sea-voyage based campaign and am wondering if there is anything out there for simulating big sea storms.
In particular I'm looking for something like large sea waves that seem to engulf a ship in the middle of an ocean storm. This could either take form of an animated 'walkable' placable (something like existing water cover placable) or something akin to fog, rain or snow effect placables.
I would be very grateful for any information on whether something like this has been done and is accessible or, if not, how complicated it would be to create from scratch.
Thanks in advance!
I haven't seen anything like what you're describing. The only effects I'm aware of are smaller scale effects which are really just emitter effects at the base of a ship, where the boat meets the water. So...
this package on the Vault has some ship tiles where you can turn on some animations on the tile and it'll make those effects. Look at ReadMe_Galleons.htm and check out the section titled "A Quick Note". Maybe someone else knows of something closer to what you're thinking of. As far as "complicated" goes...it depends on whether you know how to edit models for NWN.
...or, if not, how complicated it would be to create from scratch.
(looks around furtively, lowering his fourth cup of coffee with a shaking hand)
"Did somebody say...
from scratch?!?!"
'>
If you don't do 3D custom content in NWN, the rest of this message won't be terribly useful to you. There will be a nice picture and a video to click on and watch but that's about it. The rest of this is for
other CC makers here who might want to take a stab at this or if you
do know your way around GMax/Max. It would be awesome if you were a custom content creator because you could make one heck of an environment for your players to ride around in during the adventure.
To create an effect specifically like the one you describe, there are a few minimum requirements, IMO. First, the ship has to pitch forward and back like it's rocking on the seas. Second, there has to be some big splashing going on when it pitches down into the oncoming waves. And third, it helps if you have the impression of the ship moving
forward, into the waves.
So:1. Ship pitches forward and back
2. Big splashing going on when it pitches into the waves
3. Gives the impression of moving forward
I'll explain how to do the
first aspect from scratch and give some ideas how to address the other two afterward.
Since the game engine doesn't allow a player-walkable ship to pitch like that (and still remain believeable), the solution is to make
everything else pitch to and fro and let the human mind fool itself, or hopefully fool itself, into believing it's the
ship that's doing the pitching. One way you could achieve the effect is by making a false world out of a sphere and encapsulate the player in it.
Like this:
This is a super basic implementation of how that would work. Just need a few parts- here's how their hierarchy in Max:
plc_a01 - My model name. I always replace the Armoire appearance when I test.
animdummy - Dummy node, used to animate the pitching
f
alse_world_sphere - Skybox. A sphere with a sky map applied (a sphere map) whose normals are flipped so the texture is on the inside of the sphere instead of the outside. I left it at the default number of segments (32?) and used sphere mapping with a sphere map of a sky I found online.
Radius is 2500cm, which is fine for the default camera.
ocean_surface - The...(wait for it)...surface of the ocean. This was a circle
shape I made in Max, giving it a
radius of 2600cm, which makes it slightly larger than the skybox, whcih is fine. I don't want to run out of ocean. To turn it from a circle shape into a flat circle, I just applied the Extrude modifier without any sort of special settings and that fills it in, turning it into a disc from a circle. I then applied a sea texture I found online.
This is the basic setup for the effect and how it would work. As you can see, the false world skybox and the surface are both children of the animdummy so they're connected to it and whatever the animdummy does, they'll do. Since I'm doing this quick proof-of-concept as a placeable (more on different ways to do this a little further down), changed the
time configuration to
149 frames (since frame 0 counts, that gives me 150 frames or 5 seconds for my cycle), then I created a
default animation on the placeable and give it a frame range of 0 to 149.
I click on the Key Filters button, make sure Rotation keys are the only thing checked, click the Auto Key button next to it, and making sure animdummy iis the only thing selected, click on the key icon to lay down a key at frame 0. Move the animation slider to frame 38 (about 1/4th of 150) and rotate the animdummy 2 degrees, pitching it forward and since I'm in Auto Key mode, the animation keys are laid down for me as soon as I move or rotate something. Then to frame 75, rotating the animdummy back up 2 degrees to where it was. Move the slider to frame 112, pitch the animdummy up 2 degrees, then turn off autokey. Finally, I select the first frame of the animation and, hodling down the SHIFT key (copy), drag it to the very last frame. That gives me a full pitch cycle. Playing it, I can see the world and ocean move as I like.
And that's that! Here's what it looks like:
This is the tame version but you should get the idea. Increase the pitch and you might even make a player or two queasy. How's
that for immersion! So that's how to achieve the first part of the effect...from scratch.
That still leaves us with splashing from the bow and creating the illusion of movement. Some ideas on how to do those:
Splashing: Emitters using a detonation event would seem to be the way to go here. Might run into problems getting the emitters in just the right places to line up with the bow of the boat since we're doing this as a placeable. See "Bonus Points", below. Will require tweaking, as emitters always do, to make sure they go off at just the right time in the pitch cycle as well.
Illusion of Forward Movement: There are a couple of different ways to approach this. Remember, we can't move the ship so everything else has to do the moving, etc. I can think of three ways, from easiest and do-able to craziest and hypothetical:
1. Use the "conveyor belt" method such as that which is used on for the moving chain in
tsw01_a02_03.mdl from the Steamworks tileset.
2. Use animesh to animate the textures and or verts to give the illusion of movement. Really, this is about making the texture scroll. See Baba Yaga's excellent demo of the effect
here and Bannor Bloodfist's tutorial on reproducing the effect
here.
3. Using skin mesh and bones to simulate the movement of the waves. Bone objects would act as waves, moving under the surface of the non-moving static ocean and giving the impression that the waves were moving "through" the texture, deforming it as they went. I believe it would work this way. If not, bones which just moved up and down, instead of laterally, could be used and timed in such a way that they could give the illusion of a "moving" wave. As in , in a grid of bone objects, the far right side rise up, then down. As they go down the next column of bones move up then down. And so on.
The first of those three gets the job done and probably is as good as anything the other two would net you.
Bonus Points: This effect is nice but you're fighting against the existing water plane. If your pitch is too much, the pitching water plane you made will dip down enough that you see the real water plane that's part of the tiles whcih surround the ship. The solution to this is either raise the pitching water plane you made (you can just adjust the placeable's height in the toolset), reduce the pitch or...
make a new tileset with the pitching water plane built in. I like the idea of doing this as a tileset because it gives you a lot more control over the scene.
Modifié par OldTimeRadio, 22 mars 2012 - 05:29 .