![]() ![]() |
Dec 28 2006, 12:46 AM
Post
#1
|
|
|
Group: Moderators Posts: 204 Joined: 16-December 06 From: Huntsville, AL Member No.: 51 |
Let's start a new thread shall we?
First, a post from Elf regarding camera solutions: Hopefully a group I'm involved with will be bringing some interesting new techniques to the WoW cinema scene as well. We're currently working on a movie that blurs the lines of machinima (at least as popularly defined on machinima.com as involving a real-time engine) and traditional CGI, should be out some time next year. The camera problem was something we had focused on as well. If you want to get more in to the game data there are a few other solutions (though the method of using these techniques is still in development). For example, there exists a scriptable in game camera, for example the starting fly-through for each race. These cameras can actually be created and modified, but the tools to do it conveniently aren't around yet. Leaning more towards the CGI side of things, we're actually importing some of the WoW scenes (see attached image for a square chunk of Kalimdor terrain) into a 3d package (in my case, Maya). There are still a few bugs and at the moment you have to manually place M2s (trees, lamp posts, etc.) and WMOs (buildings, basically) have to be composited from mapviewer. You can definitely use it to some interesting ends though :) See Screenshot I did notice that these scripted camera paths were stored in the MPQs, although I didn't see the value in them. However, that's a very interesting thought of importing camera paths into the in-game camera. The limited camera controls in WoW are the biggest obstacle for me. To combat this, I spend endless hours rotoscoping and compositing plates over a background which I record using the map viewer. I wrote an app which extends the camera functionality in both the map viewer and the model viewer, but I'm afraid to do the same for WoW, as I might get banned. I've imported M2 models to 3DSMax for animating and to attach non-game elements, but I never thought to import the terrain data. I assume this process is not easy? -------------------- |
|
|
|
Dec 28 2006, 01:02 AM
Post
#2
|
|
|
Group: Members Posts: 17 Joined: 27-December 06 Member No.: 90 |
It definitely requires some custom code, but depending on your level of comfort with programming it might be easier than you think :)
The terrain is basically a heightmap (similar to the concept of 2d grayscale images used in bryce, terragen, world machine, etc.) divided into tiles. That is to say, you can only have one height value at any one location. Buildings and such are done with other elements called WMOs (world map objects). Although I won't link to the file formats here (you can google them if interested) since they were removed from the mapviewer site by request of Blizzard, with a little work you can write a program to turn them into a 3d mesh. I'm guessing that since Blizzard took issue with the file format specs very specifically, but not the mapviewer or modelviewer applications themselves, they are generally ok with people creating "harmless" ways to use in game content creatively. I could be wrong though. You can also read the alpha map/texture data which references textures ("BLP" files which can be converted to PNGs with some common tools created for Warcraft 3 and the like), and bake these down into one big texture for a square tile (the texture for the square segment in that screenshot is 4096x4096). The UV map for the texture is just a simple planar projection, downwards. You'll notice that my algorithm has a bit of a bug around the tile edges where it reads the alpha value incorrectly, and 4 pixel wide lines appear faintly. Something to fix after I get back from my vacation! |
|
|
|
Jan 2 2007, 06:29 PM
Post
#3
|
|
|
Group: Moderators Posts: 204 Joined: 16-December 06 From: Huntsville, AL Member No.: 51 |
Very interesting. I've been thinking about this for the past few days. Also I've been using Terragen lately, which is really similar to VistPro which I've used alot in the past. I'm putting together a shot where a huge army comes charging over a hill. I've searched and searched and cannot seem to find the perfect location. So I'm building the terrain in Terragen and using image maps from WoW. I think it'll work pretty well.
-------------------- |
|
|
|
Jan 3 2007, 04:12 AM
Post
#4
|
|
|
Group: Members Posts: 17 Joined: 27-December 06 Member No.: 90 |
Ah nifty :)
Yeah WoW terrain certainly has that procedurally textured look to it. In some areas they manually paint the alpha maps of the texture layers, but for the bulk of it I'm pretty sure they use similar algorithms as are in bryce, et. al. to create the alpha maps then just use their own custom texture tiles underneath. Should be able to create something pretty good looking. I'm sure we'll be interested to see the result! |
|
|
|
Jan 21 2007, 06:18 AM
Post
#5
|
|
|
Group: Moderators Posts: 204 Joined: 16-December 06 From: Huntsville, AL Member No.: 51 |
Well I'm no longer generating a terrain for the shot of the army marching. It was taking me too long to perfect, so for now I've created a parallax shot using stills. I found that if I took still shots of a hills in different zones, I could use them as plates to build the perfect set for this scene.
I'll post some images soon. I would right now, but I'm rendering a test and my computer is crawling. -------------------- |
|
|
|
Jan 21 2007, 06:24 AM
Post
#6
|
|
|
Group: Members Posts: 654 Joined: 19-November 06 From: California Member No.: 2 |
Well I'm no longer generating a terrain for the shot of the army marching. It was taking me too long to perfect, so for now I've created a parallax shot using stills. I found that if I took still shots of a hills in different zones, I could use them as plates to build the perfect set for this scene. I'll post some images soon. I would right now, but I'm rendering a test and my computer is crawling. Sweet looking forward to it! |
|
|
|
Feb 10 2007, 12:33 AM
Post
#7
|
|
|
Group: Moderators Posts: 204 Joined: 16-December 06 From: Huntsville, AL Member No.: 51 |
Now that our movie is completed, I'll explain how the 'army over the hill' shot was created.
If you haven't seen this yet, you can watch it here. First we spent alot of time travelling in-game to find a hill with minimal trees, bushes, and rocks. A good patch of grass was found in Arathi Highlands. Using the mapviewer, I turned off all trees and recorded while craning the camera upwards very slowly from the ground all the way to the sky. The color and gamma in this footage was treated to match the look of the rest of the movie. ![]() In After Effects 7, I rotoscoped the apex of the hill so that the background could be replaced with something more interesting. ![]() Many stills were taken in-game for a background that could look like it belongs near Southshore (where the action will take place). This stillshot was colored and a glow effect was added to give the sky a soft backlight, which would allow our army to be more visible as they travel in front of it. ![]() The background was animated to move slowly downward to simulate a parallax motion. Next, I used a photograph to add clouds to the scene. ![]() The photo's color and gamma were altered, a glow was added, the opacity was dropped to 30%, and the layer's transfer mode set to "Pin Light". This cloud layer simply moves to the right at a slightly faster rate than the downward motion of the background. ![]() The background is finished. Now it's time to add an army of Undead. Using wowmodelviewer, each character was recorded individually with a green background color. 21 animations were imported into AE7 and the green was replaced with transparency. Each layer was colored and gamma treated, resized, and positioned. These will be our "foreground army". ![]() These actions were duplicated for adding another 24 layers of characters for our "background army". Color and gamma values were treated differently to appear as though they are further away. ![]() Animating the 2 armies consisted of adding a null object and parenting the army layers to it. Moving the null object up or down would result in the entire army moving up and down. ![]() The null object was assigned to move up, causing the "foreground army" to adopt it's motion. Simple physics say that objects moving the same speed appear slower when further away. So, the "background army" needs to move a little bit slower. I parented the "background army" to the same null object but I applied a math expression which tells the army to move only a small percentage of null object's current speed. In addition, the warmachine on the right side which is part of the "foreground army" was a stillshot. So to give it some motion, I used AE7's "wiggler" to generate some random rotation on the X and Y axis. The final composited shot: ![]() Here is an alternative background plate which got replaced because it didn't look like it could be near the same location, and the darkness of the horizon doesn't really allow the army to pop out as much as the other background. Plus I don't like the lack of trees in that shot.
-------------------- |
|
|
|
Feb 10 2007, 02:35 AM
Post
#8
|
|
![]() Group: Members Posts: 68 Joined: 20-January 07 Member No.: 170 |
O.o Wow, that's really interesting how much work went into effect to simply create a good looking hill.
Not really sure about the possibilities of After Effects, but would it be possible to remove the land from a clip and just be left with the sky? Basically just inverting what you did for the hill. |
|
|
|
Feb 10 2007, 03:57 AM
Post
#9
|
|
|
Group: Moderators Posts: 204 Joined: 16-December 06 From: Huntsville, AL Member No.: 51 |
Sure, in fact there is a little "invert" button on masks that would do exactly that.
-------------------- |
|
|
|
Feb 10 2007, 04:29 AM
Post
#10
|
|
![]() Group: Members Posts: 68 Joined: 20-January 07 Member No.: 170 |
Sure, in fact there is a little "invert" button on masks that would do exactly that. Ha, pitty I don't have AE though... A note about cameras, there are mods out there that let you control cameras via keys, allowing for much smoother camera movement. Also, if I get around to it, I'll put up a tutorial showing how to move the camera between views for a cool effect :D |
|
|
|
Feb 10 2007, 06:27 AM
Post
#11
|
|
|
Group: Members Posts: 654 Joined: 19-November 06 From: California Member No.: 2 |
Ha, pitty I don't have AE though... A note about cameras, there are mods out there that let you control cameras via keys, allowing for much smoother camera movement. Also, if I get around to it, I'll put up a tutorial showing how to move the camera between views for a cool effect :D between views? |
|
|
|
Feb 12 2007, 08:53 AM
Post
#12
|
|
![]() Group: Moderators Posts: 150 Joined: 8-February 07 From: Sweden Member No.: 282 |
|
|
|
|
Mar 15 2007, 12:31 PM
Post
#13
|
|
|
Group: Members Posts: 49 Joined: 14-March 07 From: Brisbane, Australia Member No.: 456 |
I did notice that these scripted camera paths were stored in the MPQs, although I didn't see the value in them. However, that's a very interesting thought of importing camera paths into the in-game camera. Is it even possible to load or execute camera models/paths during gameplay? Or would the idea be more to overwrite the existing start-up camera's with custom ones to goto the area's and scenery and recording it from there? I'm currently working on a Max M2 exporter plugin but currently not bothering with any camera data. If it is possible to use custom camera paths (models), then I could probably look at making a plugin available specifically for that. |
|
|
|
Mar 15 2007, 10:59 PM
Post
#14
|
|
![]() Group: Members Posts: 68 Joined: 20-January 07 Member No.: 170 |
Is it even possible to load or execute camera models/paths during gameplay? Or would the idea be more to overwrite the existing start-up camera's with custom ones to goto the area's and scenery and recording it from there? I'm currently working on a Max M2 exporter plugin but currently not bothering with any camera data. If it is possible to use custom camera paths (models), then I could probably look at making a plugin available specifically for that. Well, the origin of the camera isn't static, meaning you could move the gnome intro camera down to Caverns of Time if you wanted, but the movement of the camera itself is in the .m2 file. |
|
|
|
Mar 15 2007, 11:11 PM
Post
#15
|
|
|
Group: Members Posts: 49 Joined: 14-March 07 From: Brisbane, Australia Member No.: 456 |
So the only way to utilise custom camera models would be to overwrite the existing intro ones, correct?
If there is interest within the community will start working on a M2 exporter for 3DS Max specifically for camera pathing. However I have a gut instinct that there would be a lot of trial-and-error involved with actually positioning and pathing the camera correctly. -------------------- ![]() |
|
|
|
Mar 16 2007, 01:04 AM
Post
#16
|
|
![]() Group: Members Posts: 68 Joined: 20-January 07 Member No.: 170 |
So the only way to utilise custom camera models would be to overwrite the existing intro ones, correct? If there is interest within the community will start working on a M2 exporter for 3DS Max specifically for camera pathing. However I have a gut instinct that there would be a lot of trial-and-error involved with actually positioning and pathing the camera correctly. Well, there are files, called the database cache, which specify where the model is played, what direction, the sound played during the camera movement, and the treepath to the model used. But all the data for each camera played is organized in a row starting with the ID to it and the ID which is played is Q'd server side (I think) So you'd have to replace another race's camera with it. |
|
|
|
Mar 16 2007, 02:17 AM
Post
#17
|
|
|
Group: Members Posts: 49 Joined: 14-March 07 From: Brisbane, Australia Member No.: 456 |
Well, there are files, called the database cache, which specify where the model is played, what direction, the sound played during the camera movement, and the treepath to the model used. But all the data for each camera played is organized in a row starting with the ID to it and the ID which is played is Q'd server side (I think) So you'd have to replace another race's camera with it. Hmmm? Ah I see it, the Cinematic Camera DBC. ID, Model, Length or ZoneID?, X,Y,Z, Something? Alright thats easy enough, then on character creation it just follows the Camera animation. Will do a test run after I've had some sleep - if everything works nicely will begin writing a plugin for cameras. -------------------- ![]() |
|
|
|
Mar 17 2007, 03:11 PM
Post
#18
|
|
![]() Group: Members Posts: 68 Joined: 20-January 07 Member No.: 170 |
Hmmm? Ah I see it, the Cinematic Camera DBC. ID, Model, Length or ZoneID?, X,Y,Z, Something? Alright thats easy enough, then on character creation it just follows the Camera animation. Will do a test run after I've had some sleep - if everything works nicely will begin writing a plugin for cameras. http://www.sourcepeek.com/wiki/CinematicCamera.dbc |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 25th July 2026 - 09:54 PM| Skin Developed By Creative Networks |