Leaderboard


Popular Content

Showing content with the highest reputation on 11/09/2019 in all areas

  1. 4 points
    Hello there, I'm kind of new here with this being my first post but I have had this account for some years now and I also did some modding to this game back in summer 2015. Now I have been messing around with the new tools and I was interested in KotorBlender to create new animations since that's the program I recently learned for modding Jedi Academy as well and I am quite comfortable with it now. So my intention was to create new facial animations but I wasn't sure of the capabilities this plugin offered. I was quite glad when I found out that it has been recently updated and it fully supports animations as well as other models properties. But when I imported a head I was quite surprised to see that the bones in this game are not really bones like Jedi Academy for example but objects that act like such. Thus, I couldn't attach them to the mesh to see how it deformed when trying to create an animation. So I tried creating a temporary bone rig in blender that you could use and attach each bone to each object so that when you move a bone the object also moves. This may seem like it's working on paper but I had so much trouble with transforms that I almost gave up. They are a real pain in the ass. First I tried animating the bones and the objects apparently move with them but in reality they are not changing their transforms. So I tried to copy and paste them from the bones and it seemed to work in the program but in game the face was a total mess. This was because the objects were taking the absolute transforms of the bones that were in a different position that the objects are. What appears to be working in the program has nothing to do with the game and viceversa. So I just parented them and even though the objects would jump to a weird location their transforms would remain untouched as you can see in a test animation I made here: So now how do I transfer the bone movements to the objects? I tried a thing in blender called Delta transforms. This are like offset transforms that only take into consideration the relative location and rotation of an object. This was very useful in a parent/child scenario like this because now I had the original objects location/rotation + the relative transforms of the bones. Unfortunately when I tried it in game it did nothing, probably because the plugin only reads the absolute transforms, the delta transforms are stored in a different field. So I couldn't use this approach. Can the KotorBlender plugin be updated to support delta transforms? It would be really useful and nobody would have to do what I'm about to say for it to work. I needed to somehow transfer those delta transforms to the absolute transforms so that the plugin could read them. There is a function in blender called "all transforms to deltas" that transfers all the absolute transforms to the delta fields and left the absolute ones to zero which is exactly the opposite of what I need. I need to transfer this absolute+relative transforms that I have in the delta fields to the absolute fields. Luckily I found a script that did exactly this but I had to this for every single keyframe which is extremely exhausting and time-consuming. If someone here knows how to code on python can you do a script that does this automatically? It wouldn't be that bad then. So after thousands headaches I finally got it to work in-game: You can also see that the model has those wrongly shaded faces around the jaw. Anybody knows how to fix that? I saw other people having the same issue but I'm not sure how to fix it. I decompiled and compiled the model with MDLOps 1.0.0 since MDLEdit was giving a lot of problems. The point of all these is that you can make a facial animation with a dummy mesh so you can see how it looks without having to load it every single time in game. But I don't know if this is a worth approach with all these problems, if you solve one of those two though then it really is at least for me. I just wanted to share this knowledge to people who may be interested in this or don't know the extension of this plugin. Now I just need to learn animated cameras for the machinima I'm trying to make, does anyone have any tips/tools/tutorials that I could use? Would be really appreciated. Sorry for the long post. And thanks for keeping this community alive!
  2. 2 points
    Help IGN realize that Lego Star Wars is not the best Star Wars game by voting in this poll.
  3. 1 point

    Version 1.1

    15,250 downloads

    The cutscenes were upscaled using Topaz Gigapixel AI, and interpolated to 60fps using SVP Pro 4. Black bars are used to maintain the aspect ratio of the content while bringing the videos to 16:9 overall. TO INSTALL: Make a backup of your "Movies" folder, in your main game directory. Download the pack that matches the resolution you play at. (Available: 720p, 768p, 1080p, 1440p, 2160p) Extract/unzip the pack you downloaded. Replace everything in your Movies folder with the extracted files. Do not place them in your Override folder. From here, there are two options to get them to play properly: Use Universal Widescreen (UniWS) to patch your game to the desired resolution. Video tutorial. Using a HEX editor, change the a set of numbers in your game's executable. See below. If you're using the Steam version, you may need to get a replacement executable (which I can't provide here) to be able to open it with the HEX editor or UniWS. Other online guides may have a link to a suitable file. To edit your executable, follow one of these two guides (skipping the parts about upscaling the cutscenes): https://www.youtube.com/watch?v=bA5l6HVs4Y4&feature=youtu.be&t=548 https://deadlystream.com/topic/4631-how-to-force-kotor-i-iis-bik-movies-to-play-in-any-resolution/ You will need to change the first and last two values in this set in your exe: 80 02 00 00 75 15 81 3D D8 D1 78 00 E0 01 The new values you should use, per resolution, are: 720p: 00 05 00 00 75 15 81 3D D8 D1 78 00 D0 02 768p: 56 05 00 00 75 15 81 3D D8 D1 78 00 00 03 1080p: 80 07 00 00 75 15 81 3D D8 D1 78 00 38 04 1440p: 00 0A 00 00 75 15 81 3D D8 D1 78 00 A0 05 2160p: 00 0F 00 00 75 15 81 3D D8 D1 78 00 70 08
  4. 1 point
    You'll typically also want to set a boolean on the trigger, or destroy it after it has triggered, assuming it is intended to be a one-and-done event. Alternative options include checking the creature or object that is assigned the conversation for a boolean, or checking a global boolean/number, as appropriate. Here's one example: #include "k_inc_utility" int HasNeverTriggered() { int bReturn; if (UT_GetPlotBooleanFlag(OBJECT_SELF, SW_PLOT_BOOLEAN_01) == FALSE) { bReturn = TRUE; UT_SetPlotBooleanFlag(OBJECT_SELF, SW_PLOT_BOOLEAN_01, TRUE); } return bReturn; } void Main() { object oDLGOwner = GetObjectByTag("DLGOwner"); object oEntering = GetEnteringObject(); if (GetIsPC(oEntering) && HasNeverTriggered()) { AssignCommand(oDLGOwner, ActionStartConversation(GetFirstPC(), "DLGString")); } } You can also cut out the middle-man and just do it like this: void Main() { object oDLGOwner = GetObjectByTag("DLGOwner"); object oEntering = GetEnteringObject(); int SW_PLOT_BOOLEAN_01 = 0; if (GetIsPC(oEntering) && !GetLocalBoolean(OBJECT_SELF, SW_PLOT_BOOLEAN_01)) { SetLocalBoolean(oTarget, OBJECT_SELF, SW_PLOT_BOOLEAN_01); AssignCommand(oDLGOwner, ActionStartConversation(GetFirstPC(), "DLGString")); } }
  5. 1 point
    The On Enter script of a trigger is working just as it should. It triggers every time some creature enters the trigger area which may result in something that seems like random behaviour but isn't. So if you want a trigger that only works with the PC, then you need the additional check you mentioned but that is the intended behaviour.
  6. 1 point
    They do, I just switched the menu via an ini edit on a LS save to get the screenshot. The player menu will load whatever the appearance of the current "player" is (so should be HK during the droid factory, etc.).