Rules for Creating Objects for Cybertown

Here are a few rules for creating Objects to be sold in the Mall at Cybertown. In designing Cybertown, great efforts are made to create VR which runs well on a wide range of computers, even older systems. These rules are created to promote good VRML building habits, which, if followed, will result in objects that perform well for everyone in Cybertown. Objects are reviewed by experienced VRML authors before they are approved for Cybertown. The following rules are the criteria on which approval or rejection will be based.

Nodes and things not to include in Objects

The following nodes should not be included in the VRML code you upload to the Mall. Any Objects containing the following nodes, will be refused. Of course if you remove the offending nodes from your Object code, the Objects can be re-submitted for approval.

Lights

The VRML worlds in Cybertown are thoughtfully lit to look their best. Extra lights in an Object can light a world too brightly, and make it appear washed out. Also, extra lighting is one of the worst performance drains in 3D applications. Too many lights will make slower computers bog and lag. Even though some lights are acceptable in specific situations, please use them sparingly, out of respect for your fellow Cybertonians.

DirectionalLight Nodes

DirectionalLights are strictly forbidden. Even though DirectionalLights cause little performance drain, they affect all objects in a world, regardless of distance. Extra DirectionalLights tend to cause worlds to appear washed out. Pointlights and SpotLights are acceptable in Objects such as lamps, where they are a functional part of the Object. If you include one of these type of lights, it must be off by default, you must also include a switch, so users can turn the light on and off at will. These sorts of lights quickly cause slower computers to perform poorly.

NavigationInfo and Backgrounds

These are less important nodes to avoid. Contact will simply ignore them if the are part of an Object or Avatar. In some rare situations though, they can cause problems. Please avoid using them.

Inlines and anchors

We ask that Objects do not contain Inlines or anchors for two reasons. Each time an Inline is loaded, the browser needs to make another http call. Too many separate connections competing for bandwidth can cause a variety of problems. In designing Cybertown, we avoid using Inlines whenever possible for this reason, and ask that you do also. We hope that Cybertown will be around for a long time. Inlines in Objects can lead to broken links, and errors as people change service providers, or get busy an forget to maintain a set of files. Help us avoid this possible problem in the future. Upload all your code, and we will maintain the files for you.

Simple Shapes

Simple shapes such as just a Sphere or just a Cube will not be allowed. Please try to build something more compelling than just a simple shape.

Copyrighted textures

Textures that are an obvious copyright problem will not be accepted. For example, using textures with brand names of real life products. All textures on posters must be signed on the texture by the creator. By signing a texture you are certifying that the texture is your own work and it is not under any copyright or trademark that is not held by you.

Other Things to Consider

Here are some guidelines to keep in mind. Though in many cases use of certain nodes is not forbidden, they have to be used carefully in order to avoid performance problems.

Viewpoints

Viewpoints will be allowed, but regulated strictly.

Some general guidelines:

Animations

Be careful with animations. Looping animations that run continuously are quite likely to cause some user's browser to bog. Objects containing too many looping animations, or a very complex shape that is continuously animated may be rejected. If you choose to use animations in your Objects, please make them so that they can be turned off, or are triggered by a user click. If you would like to give an animation the appearance of constantly running, you can use a VisibilitySensor to turn the animation off when the Object is out of the user's view.

Tip: To use a VisibilitySensor, as mentioned above, ROUTE the isActive EventOut of a VisibilitySensor to the set_enabled EventIn of the clocks that run your animations. The VisibilitySensor should be in the same grouping node as your Object. This will disable the clock when the Object is outside the user's view, and stop the animation. When the Object again enters the user's view, the clock will be re-enabled and the animation will begin again.

External Links

For the same reasons we ask that you avoid Inlines, please avoid using Anchors or other nodes linked to sources outside Cybertown.

Appropriate Scale

Objects created for Cybertown should be scaled to look correct in Cybertown environments. Exacting scale is not mandatory, in fact you might consider making Objects slightly (25%) bigger than in real life. Cybertown environments tend to be designed slightly larger to make navigation easier. Objects that are too big, or too small will be rejected, but can be re-scaled and resubmitted.

Objects larger than 3x3x3 meters

Large items will be accepted if they are reasonable in size, and scaled correctly for Cybertown. Whole houses and rooms etc. will not be accepted (these are more appropriate for the Suburbs). You can build a full kitchen, with cabinets etc., but you cannot build an addition to your house. This rule may be amended as needed. Large objects must be positioned so it does not extend beyond a plane drawn at plus one Z. The Z axis runs forward and backward from the user. Example...minus Z is behind your monitor when you are looking at it, plus Z is behind you. The intent of this rule is to prevent the user ending up inside the object when it is dropped or when it is beamed to.

10m scale is allowable, with the maximum being 15m for exceptional items. However, the acceptance of such items is at the discretion of the checkers. Hence the person must post the item to a website and inbox the checker for approval.

File size

The following limits on file sizes are intended to keep download time in a reasonable range. Also, the limit on VRML file sizes is intended to represent a reasonable complexity. If an Object is too complex, it will bog and lag users computers. Please use good judgment for the sake of your fellow Cybertonians.

Position

All objects should be positioned so they rest on the ground.

In Cybertown, the center of a SharedObject (<0 0 0>) in local coordinates is NOT the bottom of the object. Shared Objects are placed 1.75 meters above the ground. The bottom of a SharedObject must be placed at <0 -1.75 0> in local coordinates.

This is a little tricky.

Look at the example below. It is a floor standing fan, which was uploaded as an object.

First, remember that coordinates are relative.

Second, remember that:

Third, for the fan to work well as an Object:

Combine all this together and you get this logic:

This concept is equally important for Objects which would naturally not rest on the floor (such as a wall hanging picture). Cybertown uses this positioning to place Objects properly in the displays, in the Mall. Poorly positioned Objects will look funny on display and most likely not sell well. Please make certain that the bottom of your object, is at y = -1.75.

008 has build a great tool that can help you to check the positioning and scale of your objects:
http://mpsl.net/mall/scale.shtml

Please see above for large object positioning.

Copyrighted Material

Any Object containing material copyrighted by anyone other than the person submitting the object will be rejected. We ask that our users respect other peoples creative rights, just as we respect the creative rights of our users.

Texture and file names

Texture and .wrl file names cannot have any spaces in them. Netscape will not load VRML, or VRML texture files that contain a space in the file name.

Univeral media

This is being allowed because the fine people at Blaxxun have graciously become a mirror site for the library. There are some drawbacks and advantages to each method. There are two methods to do this.

  1. To use the Universal Media textures with spazz you must replace the urn:web3d:media: URL type in the texture file name with the following: http://www.cybertown.com/UniversalMedia/ the last / and the capitalization ARE IMPORTANT!! example: urn:web3d:media:textures\nature\clouds_2.jpg becomes http://www.cybertown.com/UniversalMedia/textures\nature\clouds_2.jpg The texture will not show up in spazz once you do this so it should be the last step before you export to VRML97.

  2. If you are hand editing the file you can use the following: texture ImageTexture { url "/UniversalMedia/textures/nature/grass_1.jpg" } If you are hand editing then you know what you are doing anyway so no futher explanation seems necessary.

  3. Universal media will be allowed on mall objects under the following rules. A total of 3 texture files per object. This means one uploaded texture and two UM textures or three UM textures and no uploaded texture with a maximum of 100 kb total per item (including the vrml file). If the textures & the vrml file exceed 100kb, it will be rejected because it will cause a download problem for certain users. No UM sound files will be allowed on mall objects, textures only. The code that Spazz exports for UM will not be allowed. There is a problem with it and Netscape. All UM must come from the Cybertown mirror. The no external link rule still applies.

Same model, different texture/color

Only two objects that use the same model and have only the texture or colors changed will be allowed per week. Exceptions will be made for posters as long as the poster follows the rules for posters above. If you need more of the same model, but different textures/colors at one time for a contest or awards, please get approval from the mall staff before uploading.

Objects wrapped in Blaxxun Contact Avatar protos

Objects wrapped in Blaxxun Contact Avatar protos will generally be rejected. This is unnecessary code. If you use Spazz 3d, use "Export VRML 97 World" under the file menu instead of using "Export Avatar" Avatars from Avatar studio will generally be rejected even if it is not wrapped in the gesture proto.

2D Thumbnail images

The thumbnail image must accurately represent the object. This is important for users that are not able to view the object in 3d.

Cybertown Constitution

The Cybertown constitution must be followed at all times in objects and 2Dthumbnail images. A few examples that will be rejected for content...Personal attacks, controversial subjects, Sexual nature etc.

Object checking tool

008 has build a great tool that can help you to check the positioning and scale of your objects:
http://mpsl.net/mall/scale.shtml


Back to Creating Objects for Cybertown


Send your comments on this page to Epistomolus.

Updated February 23, 2007