ebmar 893 Posted September 13, 2018 Greetings, fellow Jedi! I am here to report that there is a great disturbance in the Force inside one of the Endar Spire's hallway; particularly the m01aa_03a model. There are missing panels there, which I believe are not intended, as they look too ugly to be intended by the devs lol. Screenshot: Spoiler Yes, the Endar Spire is under attack and will have its panels broken anywhere, but I believe these are not part of them. I hope someone could fix this as I believe these are significant panels, as they were included in one of the early-important cutscene. Many thanks for considering this, and may the Force be with you all! Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted September 13, 2018 Looks like there are three light sockets along that length of hallway that are missing the inside meshes. Quote Share this post Link to post Share on other sites
ebmar 893 Posted September 13, 2018 (edited) 9 minutes ago, DarthParametric said: Looks like there are three light sockets along that length of hallway that are missing the inside meshes. Dang I thought there were only two. I need to go to the eye care soon then lol. I thought this was a model problem, as missing meshes could lead to a blank white appearance of the panel sockets. 🤔 Edited September 13, 2018 by ebmar Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted September 13, 2018 It is a model problem. You can see the furthermost light socket in your picture has a redish pink interior. The problem light sockets lack a copy of that mesh for some reason. Quote Share this post Link to post Share on other sites
ebmar 893 Posted September 13, 2018 49 minutes ago, DarthParametric said: The problem light sockets lack a copy of that mesh for some reason. I wish the solution would be as easy as copy-paste. 😂 I have had the said model imported to the KOTORMax and/or MDLEdit but I am stuck. I know that you had laid the general tips on using gmax but so far what I could do was only to identify the meshes/objects lol. Surely need more time to progress with the program though. Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted September 13, 2018 I have a fix for it. Will add it to the Endar Spire Hull Fixes mod shortly. But I can run you through how to replicate it if you want. The solution is in fact a copy and paste, of sorts. 1 Quote Share this post Link to post Share on other sites
ebmar 893 Posted September 13, 2018 Just now, DarthParametric said: I have a fix for it. Will add it to the Endar Spire Hull Fixes mod shortly. Fantastic! Looking forwards to its release! Quote But I can run you through how to replicate it if you want. Sure thing! Many thanks for considering it. Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted September 14, 2018 OK, here's an overview of how you go about a fix like this. The first step is to locate the specific room model that needs fixing. This is pretty much down to loading the entire module's layout into Max/GMax and trying to match up what you saw in-game vs the location in the layout, Then you can select a piece of the offending geometry and find out which model it is part of. Typically at this point I then reset the scene and load that specific model only. Some people prefer to work inside the full layout. That's a matter of personal preference and doesn't really affect the way you go about the fix. Just make sure you enable the Export Layout Co-Ords option. On to the fix. Here we see the length of corridor in M01aa_03a: I will assume you know how to manage hiding extraneous elements like walkmeshes and so forth. The light sockets we are interested in are comprised of two separate meshes. The white outer/surrounds: And the red inner: If you zoom out, you'll see that each mesh is comprised of much more than just the light sockets. Level models are typically divided based on materials. Primarily shared diffuse texture, but in larger levels there can also be further division based on shared lightmaps. In this case the problem is that three light sockets lack the red inner mesh. The solution is to duplicate some of the existing red mesh and slot it into the empty light sockets. We start by selecting the red textured mesh and creating a copy of it by going to Edit -> Clone. It is very important that in the options window that pops up that Copy is chosen. The default is Instance, which we don't want. That option transfers any changes made between the duplicate and the original, which would be bad. With the new copy selected, hide everything else. The next step is get rid of all the geometry we don't need. In this case there are two light socket inners at this end of the hallway, but we only want the left-most one. The reason is that the righthand one has different lighting info, making the texture very dark (as you can see in-game - it's in the dark, collapsed section). Expand the Editable Mesh modifier in the stack, select the Polygon sub-level, then select all the polys of the light socket inner that we want. Now go to Edit -> Select Invert (shortcut CTRL I) and press DEL. That should leave just the socket inner mesh. Now to make out life easier, switch to the Hierarchy tab, enable the Affect Pivot Only button, then choose Center to Object: After that disable the Affect Pivot Only button. This can be a little flaky, so you may want to deselect the object and reselect it to be certain. With the rest of the scene unhidden, the socket inner piece can easily be dragged to approximately where it needs to be: Don't worry about precise positioning at this stage, as we'll handle that at the vertex level. To make it easier to see what you are doing, enable the Edged Faces option in the viewport. With this done, we are going to utilise the Snap feature to line up our mesh with the existing light socket surrounds. You may first want to go to Tools -> Grids and Snaps -> Grid and Snaps Settings and make sure Vertex is ticked in the Snap tab. With that done, select the Vertex sub-level of the Editable Mesh modifier (I circled the wrong thing in the image below, whoops). Select the verts in one corner of the object, and enable the Snaps Toggle button in the toolbar Hover the Move tool over the front-most vertex until you see a little blue cross. Then select and drag to the position you want to snap it to. You may need to alter your view position to make sure you are snapping to the correct vertex. Remember to only snap using the front-most verts. The back verts will retain their proper relative position as long as they are selected together. If you make a mistake, use Undo (shortcut CTRL Z) rather than trying to drag it elsewhere, as that often makes things worse. It can take some practice to get the hang of it, as the system is a little finicky. You should get something like this: Once you have done one, you can duplicate that mesh and repeat the process two more times for the remaining sockets: For the sake of reducing the object count, you should merge your three socket inners into a single mesh. Select one of them, then select the Editable Mesh modifier and hit the Attach List button (you can also use Attach to select objects directly in the scene, but I find the List approach less subject to mistakes). Select both of your other meshes in the list that pops up and hit the Attach button. Now your three socket inners are a single object. The final step to make sure there are no problems is to run a Reset XForm command from the Utilities tab. Then switch back to the Modify tab, grab the XForm modifier and drag it underneath the OdysseyTrimesh modifier. Right click on it and select Collapse To. This bakes all your transforms with destroying the OdysseyTrimesh data. Not a big deal in this case as it would be trivial to recreate, but something you want to get into practice for when dealing with skinned meshes. And that is pretty much it. All you need to do now is make your new mesh a child of the OdysseyBase, export it, and compile it. As we didn't make any walkmesh changes you can discard the binary walkmesh that MDLEdit produces. 4 1 Quote Share this post Link to post Share on other sites
ebmar 893 Posted September 14, 2018 28 minutes ago, DarthParametric said: OK, here's an overview of how you go about a fix like this. [Awesomeness intensifies...] Fantastic! Thanks for sharing your knowledge, DarthParametric! I'll see what I can do with it and maybe if you don't mind I'll reach out again to you soon with a question or two if there're any encountered issues along the way. May the Force be with you always! Quote Share this post Link to post Share on other sites