LODs
Moderator: Moderators
Yes, in theory, Trepan wrote support for it awhile ago. Nobody's using it yet, however.
Please study how the S3O model works before asking further questions. Get a copy of UpSpring, and read our documentation in the Wiki. Spring's animation system isn't like most game engines (which is both good and bad).
Please study how the S3O model works before asking further questions. Get a copy of UpSpring, and read our documentation in the Wiki. Spring's animation system isn't like most game engines (which is both good and bad).
In bf1942, Lods could be a real pain in the ass.
The structure for Lods in that game were as follows
Each object that was seperate from the main object, such as turrets, or anything that would move/animate/or need scripted aid to function had to be its own model object + each model object contained the LOD steps within.
Each model object also required a collision mesh + shadow mesh.
An example for a tank would be.
1. Main chase = lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
2. Turret = lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
3. Gun barrel = lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
4. Wheel (could be cloned, but vehicles could only use 4 driving physics wheels due to networked objects limit) lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
5. Dummy Tracks lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
As you can see, this was a pretty massive process, mostly what would happen is you make the highest detail LOD model as a complete unit, and then 3-4 Optomised by 1/2 for each stepdown in triangles.
You would then break off each part, such as turrets/ or main, and group them together and export them into 1 single file. reset the origins of each object to match the rest in the LOD.
Then you go and make your script, and there you had a big mess of work to complete an otherwise fairly simple task.
I'm going to assume that in Spring, the best avenue is to make each LOD its own complete unit model, and just seperate the LODS by naming each fully completed model as ex. Team1Tank01, Team1Tank02, Team1Tank03. and so on.
The real question, and I'm sure this could be the hardest part of using that method in spring..
Can these models all share a common script, to avoid needing to clone an entire script and modify each one independently?
Can sombody shed the details of how it will actually work in spring?
The structure for Lods in that game were as follows
Each object that was seperate from the main object, such as turrets, or anything that would move/animate/or need scripted aid to function had to be its own model object + each model object contained the LOD steps within.
Each model object also required a collision mesh + shadow mesh.
An example for a tank would be.
1. Main chase = lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
2. Turret = lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
3. Gun barrel = lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
4. Wheel (could be cloned, but vehicles could only use 4 driving physics wheels due to networked objects limit) lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
5. Dummy Tracks lod00 - lod01 - lod02 - lod-03 - lod04 - col01 - shad01
As you can see, this was a pretty massive process, mostly what would happen is you make the highest detail LOD model as a complete unit, and then 3-4 Optomised by 1/2 for each stepdown in triangles.
You would then break off each part, such as turrets/ or main, and group them together and export them into 1 single file. reset the origins of each object to match the rest in the LOD.
Then you go and make your script, and there you had a big mess of work to complete an otherwise fairly simple task.
I'm going to assume that in Spring, the best avenue is to make each LOD its own complete unit model, and just seperate the LODS by naming each fully completed model as ex. Team1Tank01, Team1Tank02, Team1Tank03. and so on.
The real question, and I'm sure this could be the hardest part of using that method in spring..
Can these models all share a common script, to avoid needing to clone an entire script and modify each one independently?
Can sombody shed the details of how it will actually work in spring?
-
- MC: Legacy & Spring 1944 Developer
- Posts: 1948
- Joined: 21 Sep 2004, 08:25
The easiest way for it to work, in my mind, would be for lod s3o's to be auto-loaded in a similar manner as .bmp textures are/were (ie, you'd have your "ARMHOVRTANK" as your highest detail s3o, and then "ARMHOVRTANK001", "ARMHOVRTANK002", etc
Or edit objectname so that rather than directly pointing to a model, it points to a file where all models w/ their LOD are listed (similar to armor.txt).
Actually I'd prefer the latter. As for scripts it should use the same script or a default blank script (with no animations), or you can choose; it'd be nice to have LOD scripts optional, as S44 has some fairly script-heavy infantry and it'd be nice for them to 'go away' at long range.
Or edit objectname so that rather than directly pointing to a model, it points to a file where all models w/ their LOD are listed (similar to armor.txt).
Actually I'd prefer the latter. As for scripts it should use the same script or a default blank script (with no animations), or you can choose; it'd be nice to have LOD scripts optional, as S44 has some fairly script-heavy infantry and it'd be nice for them to 'go away' at long range.