Objects

Properties

All objects have some properties in common:

The Transform property can be used to move objects. Buttons that use "N" will move the objects a relative amount and buttons that use "XYZ" snap the object to an exact posistion.

The transform panel.

A Bumpable object will stop players from moving through it and will set off bumpable triggers.

The Visible property determines the visibility of the object (obviously).

The Tool Tip Text will appear when a user hovers their mouse over the object.

The Mouse Change property will turn the cursor into a pointer hand, which is usually used to indicate that an object is clickable.

Rects (Walls)

Walls, ceilings, and floors are "Rect" objects which are simply 1-sided, completely flat planes. Most rooms are made up of rects, and they can be used to build simple geometric objects.

All rects have a From property and a To property. Both are XYZ points in the 3D space corresponding to the bottom left and top right of the rect. Rects also have an Extent property which defines the length and height of the rect.

Careful not to give a rect an invalid dimension, like a negative height, or it will cause errors. If this happens, you're better off just deleting the rect and putting in a fresh one.

If you want to make sure that your rects like up perfectly, line the walls of a room, make sure that the "From" and "To" properties of two rects line up. For example, one rect's "To" property is "100,200,150", so we want the connecting rect's "From" property to be "100,200,0". Notice that the last coodrinate (Z) is the different between the two (because the first wall ends up high, and the second wall starts at ground level).

Texturing a Rect

While you can texture a rect by dragging a texture from the library onto it, you more likely want to use a custom image.

Every rect has a Material component and each of those Materials has a Texture component. You can color a rect by changing the Color property of the material. You can set the image texture of a rect by entering a appropriate texture file in the File property of the texture. Because the File property is of the URL type, this image can be a relative path to the .world file (e.g. "tex/bricks.cmp").

A wall and floor with a tiled texture.

You can use the Tile Size and Tile Origin properties of the base rect object to repeat a texture on a rect. The Flip Alternate U and Flip Alternate V properties to alternate the pattern horizontally and vertically.

You can also use multiple textures as an animation on a rect with an Animate Action

Making a Normal Polygon

I have found it useful to sometimes make a "circle" of rects. Start with a "Grouper" object, then add a wall, and move it to 0,0,0. Then, add a new rect to the grouper, and set its "From" property to the "To" property of the previous rect, but with a Z value of 0. Then, rotate the rect on the Yaw axis by (360°/number of sides). Then, change the extent of the rect to match the first. Repeat this until the shape is complete.

Rects Within Rects

You can make a box by adding rects to the contents of other rects. They will move together and scale relative to the parent rect.

Video Walls

A video wall is a screen for playing full-motion videos.

ffmpeg can be used to convert a video to the .asf format, which Worlds uses. The -vf scale="1024:-1" argument limits the width of the output video to the maximum size that Worlds can display.

Command Prompt

ffmpeg -i video.mp4 -vf scale="1024:-1" output_video.asf

Then, set the Video URL property of the video wall to the absolute path of the converted file and set the Video Width and Video Height to the size of the video file. The Auto-play? property is enabled by default but if you disable it, you can use a video control action to start and stop the video.

A theater with a video wall.

Webpage Walls

Webpage Walls are a special kind of wall that displays a website. Web Walls are prone to freezing Worlds. Due to a combination of Windows updates and websites modernizing, Web Walls will often completely freeze Worlds while attempting to load a page. In fact, the default Web Wall that you insert from the library will cause this. That being said, you can still use a Web Wall (very carefully) by copying a non-frozen one into your world and setting it to a URL that is still supported. Make sure to save your world before doing anything with a Web Wall.

The primary property of a Webpage Wall is the Wall's URL, which is an absolute path to a wesbite that will open with Wall's POST data, if it exists. The Wall Page Width and Height do not control the dimensions of the wall, but rather how much of the website is displayed. Use Scrollbars will enable or disable scrolling on the page. Pass Clicks determines if a user can click on elements on the site or not. If Pass Clicks is false, clicking the page will open a pane with the URL in Target URL for Click with the POST values in Target's POST data. The size of the opened page is determind with the Target Page X Overlay, Target Page Y overlay, and Target Page Size Units properties.

Because the default Webpage Wall can freeze Worlds, I have created a dummy world containing a Webpage wall that can be copied for your own use. You can find it on the Downloads page.

Platforms (Floor Patches)

A plain "Floor" rect object will NOT allow a user to stand on it. For ramps, platforms, and other vertical sections of your world, you need to use a "Floor Patch" object.

A floor patch in Beach GZ

A Floor Patch has Length and Width properties to control its size. It also has 4 "corner" properties, determining the height of each corner. To make a platform, set all 4 corners at the same height. For a ramp, set two corners at the start height, and two at the end height. Only the corner properties determine the height the user will be standing at, the Z coordinate or the Floor Patch object itself does not affect this.

If the Floor Patch's corner height is less than or equal to the user's camera height/eye level (default 150), they will jump or snap up to the height of the platform when they enter it.

Because a Floor Patch is made up of 4 triangles, textures will usually look weird. For this reason, many world builders will make the Floor Patch invisible and add a Floor rect in the same place and texture that instead.

Portals

Portals are doorways that connect rooms. Compared to just teleporting to a room, users can walk through portals and see rooms and users on the other side. Active portals are rendered behind everything else in the world except the infinite background.

Add one portal in each room, and then pair them with each other by setting the Room Name and Portal Name properties. Instead of another portal, you can set the room name and a set of coordinates to send the user to.

You can also set a portal to link to a completely different world with the World Name property. If you do this, you also need to trigger a Remote Poral action for it to load properly.

Mirrors

Mirrors in worlds are just portals that point to themselves. Set the Mirrored property to true on the portal to correctly reverse it. You should then put an invisible rect in front of the mirror so users can't enter it, because if they do, they will be flipped upside-down and stuck in the room.

A mirror.

Monty Doors

Monty Doors are a special kind of portal not meant for travel but for displaying other objects, typically showing off avatars to be selected. When the Monty Door is clicked, it "opens" the door, showing off the portal to object to display. To use the Monty Door for avatar selection, set the Avatar type property to true and the avatar to switch to in the Display URL property.

The avatar gallery

The other setting, "Send URL" (when Avatar type is false), will open the website set in the URL property when clicked in the system web browser.

Groupers

A grouper is just a collection of other objects that can be moved around as a single unit. You can use them to make a collection of objects rotate together, or to copy a set of something to use in another room.

When working with groupers, it is important to remember that the posistioning of objects in the grouper are relative to the origin of the grouper, NOT the origin of the room.

Holograms

Holograms are pseudo-3D objects, like the sprites from DOOM. After you have made the hologram, set the File property of the hologram to the object. Make sure the filename ends with the number of sides (and tile count if applicable) as described on the holograms page.

Shapes

Shapes are 3D models in the world, like the floor and dome of GroundZero. Shapes are a .rwx model file, details about which are on this page.

Posable Shapes are objects for animated avatars like VIP users can wear. You can customize them the same way you customize a VIP avatar, as explained on this page. Posable objects can also use the posable action to animate.

Notes

All objects have a Sharing Mode property that is not practicle for user-made worlds. From what I understand about this property, if a world is hosted on official Worlds servers and this property is set, the posistion of some moving objects will by synced for all users.