Kexikus 995 Posted November 11, 2016 Since I've been creating threads for my various issues concerning model making in the past weeks every few days, I figured I'd stop doing that and just start one thread to collect my future questions. So, on to my first question: I've been trying to rescale objects in my models several times during the last days and most of the time that worked perfectly. But sometimes I get the feeling that the scaling just didn't get applied. I can't say for sure if it doesn't get applied at all or with an incorrect scaling factor or something else entirely, but something seems to be wrong, since I have one model where parts are clipping ingame while they don't intersect in 3ds Max at all. To do the scaling, I use the Uniform Scaling tool in 3ds, so maybe that's just not what I should use? Any help would be very appreciated Quote Share this post Link to post Share on other sites
Sithspecter 909 Posted November 11, 2016 For scaling, always always go into vertices, selected all the vertices and then scale. Don't do a uniform scale outside of the vertex level, or it the game doesn't like it. Quote Share this post Link to post Share on other sites
Kexikus 995 Posted November 11, 2016 Thanks. I wouldn't have guessed that on my own^^ Next question: Is it possible to create new area animations? The first step would of course be to create the animation in 3ds Max but I'm sure there are tutorials to be found for that. The bigger question is whether or not I can get that animation into the game. I tried using the "Add" button in the aurorabase's Animation Parameters section but that didn't seem to do anything and also the "Anim name \available anims:" field is blank so that whenever I try to edit one of the existing animations, it looses it's name upon applying the edit (and also the Anim root). This all seems to be due to incomplete animation support in our available tools but I hope it's something else Quote Share this post Link to post Share on other sites
Fair Strides 509 Posted November 12, 2016 The animation section you're in on the Aurora Base isn't very intuitive. Going from memory, you'd select something from the anim list dropdown, enter your start and end frame of the animation, and then click "Add". This would add the animation and its info to a list-like box somewhere around the "Add" button. This essentially just tells NWMax to export the animation info for this animation. Otherwise it wouldn't even bother, despite there being animation frames in the scene. Once you'd gotten it exported, you'd open the ascii model in Notepad or something similar. Do a Replace All on the name of the animation you gave in GMax with the following: animloop## The game allows for 20 such animloop animations. I forget if animations under 10 need "0#" or just "#". Then save the model and compile. You'd activate it in-game with the following: PlayRoomAnimation("", ANIMATION_ROOM_SCRIPTLOOP##); The "" should not have the marks. Also, this is most likely the name of the room in the Rooms list in the .are file, but since the games have that listed the same as the name of the .mdl and .mdx files... Quote Share this post Link to post Share on other sites
DarthParametric 3,784 Posted November 12, 2016 Don't do a uniform scale outside of the vertex level, or it the game doesn't like it. That's not a game issue, it's a Max issue. You have to do a Reset XForm and collapse the stack to permanently apply the transform. Quote Share this post Link to post Share on other sites
Kexikus 995 Posted November 12, 2016 The animation section you're in on the Aurora Base isn't very intuitive. Going from memory, you'd select something from the anim list dropdown, enter your start and end frame of the animation, and then click "Add". This would add the animation and its info to a list-like box somewhere around the "Add" button. This essentially just tells NWMax to export the animation info for this animation. Otherwise it wouldn't even bother, despite there being animation frames in the scene. Once you'd gotten it exported, you'd open the ascii model in Notepad or something similar. Do a Replace All on the name of the animation you gave in GMax with the following: animloop## The game allows for 20 such animloop animations. I forget if animations under 10 need "0#" or just "#". Then save the model and compile. You'd activate it in-game with the following: PlayRoomAnimation("<room>", ANIMATION_ROOM_SCRIPTLOOP##); The "<room>" should not have the < > marks. Also, this is most likely the name of the room in the Rooms list in the .are file, but since the games have that listed the same as the name of the .mdl and .mdx files... Ah okay, so I should see animations in the dropdown list once I actually created new ones, right? Edit: No, but using a new aurorabase shows the list of animations. Also, are you sure that the activation with a script is necessary for animation loops? From what I think I figured out, there are two types of animations, called animloop and scriptloop. And as far as I can tell, the animloop animations don't need to be started with a script but just loop all the time, while the scriptloop animations need to be initiated and play only once. I might be wrong though^^ Quote Share this post Link to post Share on other sites
Kexikus 995 Posted November 14, 2016 Here's a follow up question: Is it possible to have both looping animations (animloop) and scripted animations (scriptloop) in one model? I'm asking because I want to add a looping animation to a model that has scripted animations in vanilla (003EBOq) and needs to keep them, but my loop simply won't play. I also tried starting it with a script even though that shouldn't be necessary, but that didn't work either. And currently I'm out of ideas on how to fix this :/ Quote Share this post Link to post Share on other sites
Fair Strides 509 Posted November 14, 2016 I believe the animloop animations are for placeables and the scriptloop are for rooms. From the nwscript.nss: // Placeable animation constantsint ANIMATION_PLACEABLE_ACTIVATE = 200;int ANIMATION_PLACEABLE_DEACTIVATE = 201;int ANIMATION_PLACEABLE_OPEN = 202;int ANIMATION_PLACEABLE_CLOSE = 203;int ANIMATION_PLACEABLE_ANIMLOOP01 = 204;int ANIMATION_PLACEABLE_ANIMLOOP02 = 205;int ANIMATION_PLACEABLE_ANIMLOOP03 = 206;int ANIMATION_PLACEABLE_ANIMLOOP04 = 207;int ANIMATION_PLACEABLE_ANIMLOOP05 = 208;int ANIMATION_PLACEABLE_ANIMLOOP06 = 209;int ANIMATION_PLACEABLE_ANIMLOOP07 = 210;int ANIMATION_PLACEABLE_ANIMLOOP08 = 211;int ANIMATION_PLACEABLE_ANIMLOOP09 = 212;int ANIMATION_PLACEABLE_ANIMLOOP10 = 213; // Room Animation Constantsint ANIMATION_ROOM_SCRIPTLOOP01 = 1;int ANIMATION_ROOM_SCRIPTLOOP02 = 2;int ANIMATION_ROOM_SCRIPTLOOP03 = 3;int ANIMATION_ROOM_SCRIPTLOOP04 = 4;int ANIMATION_ROOM_SCRIPTLOOP05 = 5;int ANIMATION_ROOM_SCRIPTLOOP06 = 6;int ANIMATION_ROOM_SCRIPTLOOP07 = 7;int ANIMATION_ROOM_SCRIPTLOOP08 = 8;int ANIMATION_ROOM_SCRIPTLOOP09 = 9;int ANIMATION_ROOM_SCRIPTLOOP10 = 10;int ANIMATION_ROOM_SCRIPTLOOP11 = 11;int ANIMATION_ROOM_SCRIPTLOOP12 = 12;int ANIMATION_ROOM_SCRIPTLOOP13 = 13;int ANIMATION_ROOM_SCRIPTLOOP14 = 14;int ANIMATION_ROOM_SCRIPTLOOP15 = 15;int ANIMATION_ROOM_SCRIPTLOOP16 = 16;int ANIMATION_ROOM_SCRIPTLOOP17 = 17;int ANIMATION_ROOM_SCRIPTLOOP18 = 18;int ANIMATION_ROOM_SCRIPTLOOP19 = 19;int ANIMATION_ROOM_SCRIPTLOOP20 = 20; Quote Share this post Link to post Share on other sites
Kexikus 995 Posted November 14, 2016 Maybe that's what Bioware intended, but Obsidian uses animloops for all looping area animations I've found in TSL. Examples would be the asteroids on Peragus or fighters and lasers during the Telos space battle. All those are animloops and I have been able to transfer them to other models where they still play without initializing them. I tried comparing ascii models with and without animloops and I haven't been able to find any differences except for the animation itself of course, so I don't think it's anything related to that. But I haven't actually created a working animloop myself yet as I've always just copied vanilla animations including the aurorabase that had the animations set up. I'll check tomorrow to see whether or not I can do that without the scriptloops and then I'll continue to troubleshoot the combination. Edit: Okay, I tried some more things. My goal was to get any model to show animloops in the 003ebo module. I tried four options: - Creating a new model named 003EBOq that had a simple animloop - Hex editing an existing model with animloops (104PERb) to replace 003EBOq - Editing the ascii version of the same model to replace 003EBOq - Editing the .lyt and .vis file to actually use 104PERb instead of 003EBOq for this module Of these four options, only the last one had animations. In the first case it's possible that I screwed up somehow and that's why there's no animation. But both the second and third case have worked in other places. So my assumption now is that something tells the game that 003EBOq cannot use animloops. Sadly I have absolutely no idea what this "something" could be, so I'd be very grateful for any ideas I could work around this problem by just adding a new model to the .lyt and .vis file that plays animloops, but I'd still like to understand what's going on here. Edit 2: Another question: In the KotOR games there is distance fog but obviously, skyboxes and some other models don't show this fog. Can anyone tell me which setting determines whether or not a model receives the fog overlay? Quote Share this post Link to post Share on other sites