Zypher Crash
Charter Member
Join date: 17 May 2003
Posts: 55
|
05-29-2003 07:33
Would be nice if we build 2 polys and were able to set one as the cutting, or both cut so you dont have overlapping.
Example: Your making a guard rail using pipes. One vertical one horizontal, Set cutting so they meet together and leave a nice finished edge.
Example2: Your doing floors and instead of making 2 floor squares, make one big one, set it cutting and it will subtract the overlaping parts.
Example3 You want to make 2 ajoining hallways threw multiple polys Make the box stretech it and click Subtract "wala instant hallway!"
I use this feture alot in autocad and is verry usefull "GODLIKE" Also alot of 1st person shooter game map designers prog offer this. If not ALL!
If cutting one pollygon would require more polls to do it, have it calculate the added cost. to acheiv what it is you want.
Want any more example try using unrealED a unreal tournament editor. *starts to druel*
|
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
|
05-29-2003 09:31
From: someone Originally posted by Zypher Crash Would be nice if we build 2 polys and were able to set one as the cutting, or both cut so you dont have overlapping.
I wouldn't hold your breath on that one  What you're talking about is called CSG (constructive solid geometry) where objects can be set to be positive or negative. Objects that are negative subtract from positive objects in the area of their overlap. A similar modeling method is called Boolean where two overlapping objects (called operands) are used to generate a new model that combines them, subtracts one from the other, or eliminates everything but the overlapping volume. Both types of modeling are very computationally intensive and require that the software alter the underlying polygonal structure of both objects. The reason why that's highly unlikely in SL is because of the streaming nature of it. SL uses what's known as "parametric" objects, which simply means that their structure is defined by a set of parameters. You can think of each primitive as a recipe that has a set number of ingredients (cut, twist, top size, etc.). This means that the 3d engine doesn't have to keep track of the location of each individual vertice in each object. All it needs to know (and stream to your client) is what recipe it is (box, sphere, cone, torus, etc) and the parameters of the recipe, the location of the objects pivot point in world coordinates, the rotational offset of the object's local axis compared to the world axis, and the numbers to feed into the recipe (cut, twist, etc.). Your client then takes that information and puts the object where it's supposed to be... in other words, it bakes the recipe on every frame. That's a much smaller amout of data that needs to be streamed than would be required to support non-parametric objects where the 3d engine needs to know where every vertice is. That's why you can stand next to someone who's manipulating the parameters of a prim and see the results in real-time. And it's also why you'll never see support for objects imported from outside 3d modeling applications. Because of the computational intensity of CSG and Boolean modeling, and the need for a new mesh to be generated from the operands, it would be hugely taxing on the client. If you were standing next to someone who was moving prims around where one prim was subtracting from another, your client would have to calculate and generate a new mesh object for every frame your graphics card displayed.. Now I don't work for Linden, and haven't hacked apart the engine to see how it works, but I'm pretty sure I'm right about this. It's a nice thought and it would be really cool, but it's not gonna happen  Maybe in SL 3.0, hehe
_____________________
 My other hobby: www.live365.com/stations/chip_midnight
|
Ama Omega
Lost Wanderer
Join date: 11 Dec 2002
Posts: 1,770
|
05-29-2003 10:56
Paraphrased from a linden there are two reasons why this is difficult:
- Concave shapes are hard. - The system would need to be able to add essentially random extra polygons and verticies.
Both of those are really hard.
|
Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
|
05-29-2003 22:15
The sims would have to keep track of vertices to handle collisions and possibly occlusions, but they wouldn't have to stream vertex information to the clients. They could just stream the primitives and flag each as being either additive or subtractive and let the client handle the cuts. A bit more CPU intensive, yes, but it only has to be done when the object rezzes or moves. I think we'll see it - just not in the near future. There is definitely demand for it - everyone who's ever built a level for ANY modern 3D game appreciates the huge benefits of being able to simply subtract doorways and windowframes, rather than having to arrange multiple slabs of wall into a complex patchwork.
|
Schwartz Guillaume
GOOD WITH COMPUTERS
Join date: 19 May 2003
Posts: 217
|
05-30-2003 05:33
While we're at it, union and intersection tools would be handy too.
|