DarthVarkor

Need a tutorial on AniCam (for dummies)

Recommended Posts

Hey everyone, I've been trying out the software "AniCam" lately, that not only I believe TSLRCP team used, but also a few KOTOR Machinima makes out there use, being one of these filmmakers I would like to try this out myself.

 

Following the readme, I've become stuck on the dlg_editor section, I've followed the instructions on creating a template camera shot using the software, but am now struggling on how to integrate it into dlg_editor and into the game. I've tried putting it in amongst dialogue with Atton, but must clearly be going wrong somewhere.

 

Could someone explain in simple terms what I have to do to get it working in-game? I'd really appreciate it.

 

Thanks! 

Share this post


Link to post
Share on other sites

I'm including some pictures here as well as descriptions, so hopefully this goes okay.

 

01.png

First, your DLG file, opened up in DLG Editor, but otherwise untouched.

 

02.png

Clicking on the black line at the very top (containing the path to the current file), you will see some overall properties of the DLG file.

 

03.png

The box with the highlighted text is where you'd put the name of your camera model, without the file extension.

 

04.png

Now let's say we want an animated shot for this red line, the blue line after it (that says "continue"), and keep the animation going for the red line after that.

 

05.png

First thing we do is change the Camera ID to -1.

 

06.png

Then change the Camera Angle to 4.

 

07.png

Last thing to do for this red line is actually start the animation. We do this by putting a number in the Camera Animation box. But we can't just put any number...

 

If we want to start an animation, we put 1200 + the animation's "index" in the model. For example, the first animation (what would be called "CUT001W" or "CUT001" in Ani Cam) would be started with 1201. Let's use that in the Camera Animation for the red line.

 

08.png

Now we're on the blue line after it.

 

09.png

The Camera ID was already -1 and I've already changed the Camera Angle to 4, so all that's left is the Camera Animation field. But now we need to use a different number.

 

The numbers start at 1200 if you want to start an animation. But if you want to continue an animation, you need to start back at 1000. Since we want to continue the first animation in the model, we need to use 1001.

 

10.png

After that, we move onto the next red line. Like we did before, change the Camera ID to -1 and the Camera Angle to 4.

 

11.png

Last is the animation, but we are finishing the animation this time. To do that, we just let it continue like it was before, so we need to use 1001. After this, the animation just plays until it's done.

 

After this is done, click on another entry in the dialog and then save it.

 

Some closing tips:

The most important thing to remember when working with animated cameras is that an animation plays until it's done. If you start an animation and then give the player a choice of lines to say, the animation will keep going until it's done. This can be bad if you needed the animation to be playing during the next line.

 

Some things from Ani Cam's readme (I'm restating them in different ways rather than quoting them):

 

If you have a 20-second animation but give the player some replies and they take 30 seconds to respond, what happens?

 

1. If the animation's number for the entry before the replies was a 1200 number, the animation will start back at the beginning and keep on doing that.

 

2. But if the animation's number is a 1000 number, the camera will stop in whatever position/rotation it was in at the end of the animation.

 

Also worthy of note is what happens when you try to start an animation (a 1200 number) while another's still going:

 

1. If the animation running is the same as the one you're trying to start, the game will act as if you used a 1000 number instead and continue the animation wherever it is.

 

2. If the animation number's different, it should switch to the new animation right away. Could look weird...

Share this post


Link to post
Share on other sites

Hey, Fair Strides! Thanks for taking the time for this and including pictures. Really appreciate it.

 

I followed everything to the letter on here with some dialogue for Bao-Dur, made sure I saved, but after in-game, nothing changed when I spoke to him and triggered the appropriate lines.

 

Screenshots are here, I followed each step in order:

 

Overall DLG properties with camera model name: http://postimg.org/image/twmj0z8qz/

 

First red line: http://postimg.org/image/qsgx1aya3/

Blue line: http://postimg.org/image/ywy7xizgr/

Second red line: http://postimg.org/image/ic4vu05xn/

 

I've clearly gone wrong somewhere, but as I said I'm an absolute n00b at this. Any idea what's wrong?

 

Thanks for your help so far!  :D

Share this post


Link to post
Share on other sites

So 1200 for the first red line, and 1000 for the other two? Alright, I'll give it a go.

Share this post


Link to post
Share on other sites

Worth noting is the fact that when I opened the baodur.dlg file, none of the edits from your pictures were there. Did you send me an un-edited DLG file?

 

Anyways, I applied the edits just like what was in your pictures and then loaded up your save. I should say that I have the .dlg, .mdl, and .mdx in the Override folder before I started the game up. Everything worked in-game, though the camera actually wasn't showing you anything because of the position.

Share this post


Link to post
Share on other sites

Worth noting is the fact that when I opened the baodur.dlg file, none of the edits from your pictures were there. Did you send me an un-edited DLG file?

 

Anyways, I applied the edits just like what was in your pictures and then loaded up your save. I should say that I have the .dlg, .mdl, and .mdx in the Override folder before I started the game up. Everything worked in-game, though the camera actually wasn't showing you anything because of the position.

Whoops, I may have :S sorry!

 

For the position all I did was follow the tutorial in the readme, but if that was the position for the in-game camera angles then that would make sense.

 

would you mind giving me some random numbers to put in to test a shot? I don't mind how weird/bad the shot looks just as long as I know I can actually do it myself haha.

Share this post


Link to post
Share on other sites

Random numbers won't work. You need to make the exact edits from my instructions, but if you want to use different numbers, you'd need to make more animations in the model in AniCam.

 

For example, the second animation in AniCam would use 1202 and 1002 in DLG Editor. 5th would use 1205 and 1005.

 

Something else to watch out for: the coordinates you enter in AniCam are not relative. If the X coordinate in AniCam is 100.0, then the animation will be at 100.0 in the X plane in-game. So this will look different in every module you use it in.

Share this post


Link to post
Share on other sites

You hear that? That's sound of everything you just said whooshing over my head  :P

 

So, I'm makaing a new AniCam "camera", I'm confused as to what you meant by "though the camera wasn't showing anything because of its position"? Do you mean the coordinates I entered from the readme were the coordinates already in game for conversations? Thus my shot not looking any different? I'm sorry but I'm still failing to understand this :S

 

Could I create a new anicam file and put in random numbers (which of course would give me a completely random shot) and then follow your steps you listed above? Would that work?

 

Thanks!

Share this post


Link to post
Share on other sites

Okay, I'm going to go a bit basic here and I apologize if that makes you feel bad.

01.jpg
In AniCam, we make a new model just by opening the program.

02.jpg
A. This is the entry index in the animation. Think of this as a list of steps or instructions. The lower the number, the closer to the beginning this step is.
B. The time of the entry. 0 is right when the animation begins, 0.5 is half a second after the animation begins, and so on.
C. This is the X-coordinate for the camera at the given moment in the animation. If you looked at a level from above, the X-coordinate would be where you are on a horizontal (left-to-right) line.
D. This is the Y-coordinate for the camera at the given moment in the animation. If you looked at a level from above, the Y-coordinate would be where you are on a vertical (top-to-bottom) line.
E. Z-coordinates are a little different. Basically the Z-coordinate is your height. If it's 0, then it's on the ground (or in the ground depending on elevation). About eye-level with most NPCS would be 1.66.
F. Your Heading is measured in degrees. It is also your horizontal rotation. For example, if you were standing in front of a door, and then turned 90 degrees to your left, your Heading would be 90. Yes, it's measured counter-clockwise (CCW).
G. Your Pitch is your vertical rotation. If you look at the floor, your Pitch is 0; if you look at the ceiling, it's 180. The default Pitch is 0, but a Pitch of 90 is staring straight ahead.
H. Your Roll probably won't be used much, but it's a very powerful tool. A default of 0 means the camera is normal. If you were to set it to 90, however, your camera would be "sideways". Like you had set the camera down on it's side on the ground.
I. What kind of interpolation you have. If you have "No interpolation", your camera would jump from one entry to another, and could look rather stiff. If you have "Cubic Spline interpolation", it will attempt to gradually shift between the entries of the animation, and will indeed be much smoother.
J. Your camera's name. This can be up to 16 characters long, and it should also be what you name the .mdl and .mdx files. Following that vein, it should also be what you put into the DLG Editor.
K. The duration of the animation. If it's the same length as the last Time of the last entry, then all is well. If it's longer than than the last Time of the last entry, then the camera will pause there until its time is done. For example, if I have a 28-second animation but the Camera Shot Length is set to 30, the camera will stay at its final position for 2 seconds.

Now for a very small primer on the coordinates in-game.

Depending how the level is set-up, X can be horizontal or vertical movement, and the Y will always be the opposite; however, Z will always be the height. 0 doesn't necessarily mean the ground, though. If you're on a 5-meter tall hill for example, the "ground-level" Z-coordinate would be 5, and eye-level would be 6.66.

You can find the coordinates of ground-level for where the player is by downloading, installing, and cheating in these items:

http://www.mediafire.com/download/elz7k5r3jakre91/Utility_Armbands.zip

Read the read-me please. You will need to get the Orientation armband in-game by using "giveitem sa_ori_arm" in the cheat console. Once you have it, equip it, and the icon should appear where your stimulants and energy shields are in the UI.

 

03.jpg
For the purposes of this example, this is where I'm at in the game and I won't be moving except to get more coordinates.

04.jpg
Activate the armband and then open your menu. Go to your Journal menu and click on the Message Log.

05.jpg
In the message Log, go to the Feedback section. You will need to scroll up a bit to see the beginning output.

In the above picture, the only things we care about are the Player Location and the Angle Orientation. Here the Player Location is 315.696, 113.64, 6.78. These correspond directly to XYZ. The Angle Orientation is 322.43, and this is what you would put in the Heading.

06.jpg
If we were to use the above data for the beginning of an animation, it'd look like this (ground-level of course, unless you want to add 1.66 to the Z-coordinate).

07.jpg
08.jpg
09.jpg
To keep it simple, let's make the camera come up to eye-level mid-way between my PC and Handmaiden. To do this, we need to modify our original coordinates to be a bit to the left and in front of where I'm standing, and facing to my right.

I'm thinking 3 seconds is slow enough to be a good speed, and all we need to do is animate the Z-coordinate to change each time (otherwise this would be much harder). However, I'm setting the animation length to 5 seconds to give a chance to see the angle.

10.jpg
Here's the animation in AniCam when all is said and done. You might notice that I've named the model "fs_test". I'll use this in the DLG file.

(double-checking the read-me, it seems you start with 1200, not 1201... oops)
Now I follow the instructions in my original post, but I use Handmaiden's DLG file. I still use 1200, then 1000, then 1000 for the Camera Animation numbers.

11.jpg
When I test it in-game though, something interesting happens. The entire angle is rotated for some reason. After doing some testing, I found that you need to subtract 90 from the Angle Orientation you get from the armband. So 222.58 needs to be 132.58 in AniCam.

 

Test_Files.7z
Here's the files to see this in action below (mind you, I'm using a vanilla handmaiden.dlg, so if you have one in your Override folder, back it up before you overwrite).

Share this post


Link to post
Share on other sites

Wow, thanks for this! Looks very in-depth and I'll be sure to go through it all in about 10-13 days and post back here when I'm back off of holiday abroad.

 

Thanks again!

Share this post


Link to post
Share on other sites

Had a quick read over (haven't had time to properly follow it yet) and downloaded the test files, when I talk to the Handmaiden, her first line of dialogue "Yes?" shows the camera angle in your screenshot, so that definitely works, but out of curiosity; there's no camera movement? From what I gathered from your post, in your test file was there suppose to be movement or did your files simple move the camera to be like that for simplicity sake?

 

Either way thanks for the help so far, I'll definitely try to get round to following this through properly in the following few days!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.