Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

offset for hollows in prims

Cristalle Karami
Lady of the House
Join date: 4 Dec 2006
Posts: 6,222
03-06-2007 19:27
I know I can't be the only builder that would appreciate the ability to shift the placement of the hollow from dead center. Useful for placing other prims (like windows) higher up inside the hollow of a prim. My situation: I prefer to build my walls so that floors fit inside the walls and I don't have to fix the texture on the outside edges of the floors. But that means that if I use a window by making a hollow in the wall prim, the window will be lower than intended. I would love the ability to shift the hollow up so that window placement can be more even on the inside of the walls.
Conifer Dada
Hiya m'dooks!
Join date: 6 Oct 2006
Posts: 3,716
03-11-2007 04:20
Good suggestion! This would be a very useful addition and would allow for us to make more use of modular building sections. As well as being able to offset hollowings, it would also be good to be able to change their dimensions independently so, for instance, you could make a square wall with a long, narrow slit at the top. At present it would take 2 prims to do this unless one created the slit as transparency in an uploaded/applied texture.
grumble Loudon
A Little bit a lion
Join date: 30 Nov 2005
Posts: 612
03-11-2007 19:07
By the time you add all the posible offset, size and shape options, you could just as well allow a script to create the poly-polygon base shape.

Each setting adds to the objects size.

Then again, sending "circle(x,y,cx,cy)" takes less data than sending 4 Cubic Bezier curves.
Draco18s Majestic
Registered User
Join date: 19 Sep 2005
Posts: 2,744
03-11-2007 23:12
From: grumble Loudon
Then again, sending "circle(x,y,cx,cy)" takes less data than sending 4 Cubic Bezier curves.


And a cubic Bezier curve contains 4 3-dimmentional pieces of information.
I will admit however, that circle(x,y,cx,cy) is cheaper. But even that means an upgrade to the prim engine, which currently is a path revolved around the Z-axis. Hollow is just an alteration to the path, cut is just an incomplete revolve.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-12-2007 10:51
Hollow is an alteration to the profile, not the path. Which is why this is actually a possible enhancement... say an X and Y offset to the center of the hollow. The result of certain offsets might be a little unexpected for prims like spheres, but that shouldn't be a problem, people will come up with all kinds of interesting ways to use the resulting shapes.
Draco18s Majestic
Registered User
Join date: 19 Sep 2005
Posts: 2,744
03-12-2007 13:02
From: Argent Stonecutter
Hollow is an alteration to the profile, not the path.


A path is a line. A line revolved (spun) around an axis makes a 3D shape much like a candle stick (if you chose some bizare line). So I suppose that profile was a better word and that path is the path it takes around the axis, but I still stand by the fact that the line used to create the prims is a path.
grumble Loudon
A Little bit a lion
Join date: 30 Nov 2005
Posts: 612
03-12-2007 16:06
There is a base shape and a path that the profile is extruded with to take a 2D shape and make a 3D prim.

Flexi modifys the path.
Taper modifys the path.

Cut and shape, hollow all modify the base shape.

A torus is a circle circle path and a circle shape with an offset.

A sphere is a circle shape, but a rotating path.

just being able to lock the LOD Level on a sphere would be useful since you could make hexagons and octagons.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-13-2007 13:36
From: Draco18s Majestic
A path is a line. A line revolved (spun) around an axis makes a 3D shape much like a candle stick (if you chose some bizare line).
You've got the terminology backwards. Shapes in SL are created by taking a closed curve (the profile) and dragging it along a path. For the block, the profile is a square and the path is a straight line along the Z axis. For the ring, the profile is a triangle and the path is a circle. For the sphere, the profile is a semicircle and the path is a zero-diameter circle.

The hollow is a modification for the profile... that's why you can have square hollows in objects with a round profile. Changing the offset of the hollow is therefore possible, because it changes the profile, not the path.
grumble Loudon
A Little bit a lion
Join date: 30 Nov 2005
Posts: 612
03-14-2007 22:52
At some point the size of the parameters will exceed the space needed for a path.

example: hollow slightly cut cube.
--
Byte usage. (I am guessing)
profile
[.5] Outer shape = box (bit flags)
[.5] Inner shape (bit flags)
[4] outer Size x,y (16 bits each)
[2] Cut start, end (one byte each)
[1] Hollow (One byte)
[2] Offset x,y (one byte each)
Path
[2] Z (16 bits)
[1] Twist
[2] Taper,x,y
[2] shear,x,y

That's 17 bytes just for the shape.

---
Now here is a 1D array version
profile
[.5] Shape = 1D array
[.5] number of outer points = 10
[20] 10 sets of x,y points (one byte for each value)
Path
[2] Z (16 bits)
[1] Twist
[2] Taper,x,y
[2] shear,x,y

That is a total of 28 bytes. (14 more bytes)
---

Ok. So a 1D array is more bytes for now, but as more settings are added it will eventually get to a point where a 1D array will take less space.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-15-2007 12:13
You're still talking about the profile, not the path.

The path, for a block, is a line along the object's Z axis the size of the Z size of the cube.

The profile is a rectangle modified by the hollow and cut values.

There are two classes of shapes, then, the linear shapes (block, cylindar, and so on) and the curved shape (torus, ring, etcetera).

The sphere is a special case, because the "path" is a point. It's more similar to the round shapes, though.

For the round shapes, the cut values are applied to the path rather then the profile, and the profile cut is referred to as "profile cut" or "dimple".

From: grumble Loudon
At some point the size of the parameters will exceed the space needed for [an explicit profile]


That's true. I've made the same argument in the past, including much more compressed schemes than you're suggesting... for example, the profile can be defined by a bounding rectangle and offsets from a set of standard points using fewer bits per point.

But you also don't need to add many bits to the existing prim structure to allow for new shapes. For example, you could have one or two bits to modify the meanings of existing components, so you couldn't simultaneously have a prim with an offset hollow *and* a taper, or a twist *and* a curved path.

The point I was making, anyway, was not that this was necessarily the best proposal, but that it's one that could be accomodated by the existing struture where others that have been proposed (like hollow applied to Z) couldn't.