This tutorial covers everything related to creating an interior or MLO (Multi-Level Objects) in one video.
Topics: Finding a location, exporting necessary files, creating and modifying the shell, collision, importing files, adding portals, and possibly adding lights (though lights might need their own tutorial).
Prerequisites: Familiarity with OpenIV, CodeWalker, YMaps, 3ds Max.
Preparation
Select a building that is easy to manage (e.g., a secluded building with less complexity).
Use CodeWalker to get the building's name and ensure it's the only instance to avoid widespread changes.
Export the model and its texture dictionary using OpenIV.
Initial Steps in 3ds Max
Import the exported model and collision data into 3ds Max.
Often buildings have embedded collisions; if so, they may need to be deleted.
Align and fit the model to the grid for easier manipulation, and ensure it is centered around the origin (0,0,0).
Create the shell structure for the interior, aligning walls, floors, and windows as needed.
Modifying the Model
Remove unwanted elements like doors and windows using polygon/vertex manipulation in 3ds Max.
Create a new room by adding a box that aligns with the interior layout.
Ensure the shell aligns perfectly with the exterior model.
Texturing Interior
Extract textures from the building and apply them using the material editor in 3ds Max.
Assign ID numbers for different surfaces (walls, floors, ceiling) and apply UV mapping to scale textures properly.
Add vertex colors to control illumination inside the building.
Exporting and Refining
Export the shell and collision files from 3ds Max.
Create a folder structure for organizing exports (e.g., shell, collision, world collision).
Update OpenIV with new files and ensure all path references are correct.
Use CodeWalker to confirm model alignment and check for any issues.
Adding Portals
Define portals in CodeWalker to manage transitions between outside and inside spaces.
Configure portal types (e.g., doors, windows) and set appropriate flags.
Ensure rooms and transitions are defined correctly.
Adjust portal boundaries to fit the actual layout, ensuring accurate visibility and collision.
Final Adjustments
Check for and resolve any embedded collisions that are no longer needed.
Update YMaps and YTypes to reflect newly created interiors and their properties.
Recalculate bounding boxes and other extents for new models.
Address occlusion issues that may disrupt interior rendering.
Ensure all assets are loaded into the server and test the final implementation.
Troubleshooting Tips
If crashes occur near the interior, the likely issue is too many undefined portals or incorrect collisions.
Use portals, YTypes, and YMaps configurations to fine-tune rendering and collision issues.
Conclusion
Reiterate the importance of refining details like collisions, textures, and illumination for a realistic interior experience.
Recommend further reading and exploration of advanced topics like lighting, dynamic object inclusion, etc.
Next steps could include a focused tutorial on lighting and other advanced elements of MLO creation.
Useful Resources
Will link to the material and tools mentioned (e.g., CodeWalker, OpenIV, material dictionaries).
Provide a community space (Discord) for troubleshooting and advanced tips.