Object cropping/truncating tool when placing scenery items

Hello,

So first of all I confess I don't even have the game yet and I'm not any kind of expert on game design or programming. Plus I have a feeling what I'm about to suggest is impossible but here we go anyway...

There I was watching Silverett and he was talking about the lag issues in his park(s). This was mainly caused by all of the hidden parts of the scenery he had clipped into the ground/buildings/whatever being loaded by the game even though you can't see most of it. At the same time I remember a long time ago, Fluxtrance was talking about the difficulty of making buildings look nice on the inside and outside because of objects clipping through walls whilst he was working on Siege way back in Alpha 1.

So what if there was a way of cropping 3D objects so that only the desired part of them shows up? I imagine this isn't possible because a model is a whole object with LODs and what not but if it were somehow possible you would not only have a massive performance increase but you would also make composite buildings look a lot tidier both outside and inside.

In case you don't know what I mean I've made a very poor diagram in paint with some explanations as to how you would implement it.

HsuMHvk


Oh and something I forgot to put in the picture, you could show which side is being cropped by highlighting the section being cropped in red (like when it's in occupied space) or greying it out if you prefer to avoid confusion for users.

The real issue I guess is does the game engine allow individual objects to be cut up into smaller items and deleted individually? If not then can it be adapted to do this?

So yeah, I hope this is possible (and desirable), let me know what you think either way.
 
In your diagram, you would actually have more polygons to render after the crop than you would before. If you imagine a cuboid shaped wall piece, it has 6 sides, so that is 6 quads to render on the screen. If you physically split that like you've done in your diagram, you now have 2 separate cuboids, and therefore you've taken the total face-count up to 12 - so 12 quads to render. I don't know if that made any sense to you but I can see where your idea comes from however it would be making things more complicated than they need to be. [happy]
 
In your diagram, you would actually have more polygons to render after the crop than you would before. If you imagine a cuboid shaped wall piece, it has 6 sides, so that is 6 quads to render on the screen. If you physically split that like you've done in your diagram, you now have 2 separate cuboids, and therefore you've taken the total face-count up to 12 - so 12 quads to render. I don't know if that made any sense to you but I can see where your idea comes from however it would be making things more complicated than they need to be. [happy]

What you said does make sense but that's only true if you only crop out the middle section and leave both sides of it. I'm talking about cropping one half of the object out. So say you have a beam clipped through a wall of a building but you only want it to show on the inside of the building. You're essentially cropping the outside portion and the portion in the wall leaving you with a smaller but still 6 sided beam, you're not changing the number of faces the beam has but you are changing the volume/surface area.

You can essentially truncate/shorten the object so that only the inside portion is there, it's kind of like scaling which is another planned feature when I think about it but unlike scaling, you could crop out certain bits of shapes so say you wanted to make a unique shape by clipping part of a non-polygonal object through a wall, e.g. the cornerstones that people quite often make by clipping the wall molding into the wall. You couldn't necessarily make a unique shape like that with scaling but you could if you could crop the shape.

Also the performance issue argument was alongside the issue of it looking neat, sometimes you just can't get something to look neat on the inside and outside because of stuff clipping through walls/roofs.

I hope I explained it a bit better this time.
 
Last edited:
my guess : alot of the problems would be fixed with scaling

Scaling is different however. It doesn't let you reshape objects whereas this does. In an ideal world you would have both tools but I know the developers said in one of the Q&A threads (design?) that they were struggling to implement scaling because of LODs.

So basically cropping tool can shrink polygonal objects and reshape all objects into any shape you want whereas scaling can only resize objects but could also resize non-polygonal shapes and make objects larger as well as smaller.

Either way the cropping system is as powerful than scaling (which is a widely desired feature) and compliments it very well.
 
"Cropping" 3D models is actually pretty complicated. I (with my very limited 3D modeling experience) know them as Boolean functions, and there is usually a lot of clean-up I have had to do after the fact, and it can actually return models that are much more complicated. I also imagine that the team programmed the game such that repeating an object doesn't use up as much resources as truly loading it into memory twice. However, if you "cropped" a model, each one would now be unique and have to be stored in memory individually. Then there is the issue of moving/animating objects like trees, animatronics, and more. This is part of the reason you don't see games based on polygonal models doing true destruction effects; even Star Citizen's way of doing damage effects is not "true" to the level you would need for this.

Perhaps a dynamic texture could be made that overrides the standard texture to make something invisible, but you would need to store that large texture in memory, and generating it on the fly (just like doing Boolean functions on the fly) would probably lead to crazy slowdown and would require some advanced programming logic.

Just my two cents.
 
Last edited:
"Cropping" 3D models is actually pretty complicated. I (with my very limited 3D modeling experience) know them as Boolean functions, and there is usually a lot of clean-up I have had to do after the fact, and it can actually return models that are much more complicated. I also imagine that the team programmed the game such that repeating an object doesn't use up as much resources as truly loading it into memory twice. However, if you "cropped" a model, each one would now be unique and have to be stored in memory individually. Then there is the issue of moving/animating objects like trees, animatronics, and more. This is part of the reason you don't see games based on polygonal models doing true destruction effects; even Star Citizen's way of doing damage effects is not "true" to the level you would need for this.

Perhaps a dynamic texture could be made that overrides the standard texture to make something invisible, but you would need to store that large texture in memory, and generating it on the fly (just like doing Boolean functions on the fly) would probably lead to crazy slowdown and would require some advanced programming logic.

Just my two cents.

Very interesting thanks for your post! As I said I have no idea if this is even possible but it was an idea I had. :)
 
Back
Top Bottom