Table of Contents

Advertisement

Quick Links

Adobe
®
Atmosphere
User Guide

Advertisement

Table of Contents
loading

Summary of Contents for Adobe ATMOSPHERE

  • Page 1 Adobe ® Atmosphere ™ User Guide...
  • Page 3 Adobe ® Atmosphere ™ User Guide...
  • Page 4 Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the...
  • Page 5: Table Of Contents

    The Atmosphere Architecture ........
  • Page 6 Chapter 6: Working with Files Understanding the Atmosphere Formats ......61 Opening Environment Files ......... . 61 Tutorial: Viewing Sample Environments.
  • Page 7 Tutorial: Scaling a Viewpoint Object ........89 Converting 3-D Files for Import into Atmosphere ..... 91 Converting Viewpoint Objects to Surface Objects.
  • Page 8 CONTENTS Tutorial: Making Alphabet Letters ........136 Chapter 11: Applying Colors and Textures The Appearance Editor.
  • Page 9 Installing the Atmosphere Player ........
  • Page 10 CONTENTS Textures – Set 2........... . . 223 Objects –...
  • Page 11 ADOBE ATMOSPHERE User Guide OverlapEventHandler ......... 275 Scene Objects .
  • Page 12 viii CONTENTS SingleDragAction ..........365 SimpleRigidWindAction .
  • Page 13: Platform Features

    PDF documents, and allowing users to collaborate within them. The Atmosphere embedded multimedia type gives the web or document designer the ability to present a rich variety of interactive content, including three-dimensional objects, directional sound, streaming audio and video, SWF animations, and physical behaviors, all within the context of a live theater performance.
  • Page 14 Atmosphere environments. Atmosphere Player The Adobe® Atmosphere™ Player® is a free application that allows users to view, interact, and collaborate with others in environments created with Atmosphere and published online or within PDF documents. Atmosphere environments can be viewed within a web page using the Player plug-in.
  • Page 15 Graphic Card Support: Radeon 7500 or higher, GeForce 2 or higher Atmosphere Adobe® Atmosphere™ is a professional authoring tool for assembling and creating 3-D interactive environments. This new embedded multimedia type offers a unique way to present a rich variety of interactive content, including three-dimensional objects, sound, streaming audio and video, SWF animations, and physical behaviors.
  • Page 16 Atmosphere supports importing 3-D assets from applications, libraries and other sources Import Standard Formats via the Viewpoint media format (MTX, MTZ). Atmosphere also supports wide range of standard graphics and multimedia formats. Create objects and combine them with imported assets to build a seamless environment. Apply Scene Modeling global appearance properties such as lighting.
  • Page 17: Why 3-D

    Adobe System. Why 3-D? The Atmosphere platform is designed to make the power of immersive media rich environments available to a much wider audience than has been previously possible. The web is a very popular way for individuals and organizations to present information, but until now, it has largely been limited to the same kinds of 2-D information that can be presented on a printed page.
  • Page 18 CHAPTER 1...
  • Page 19: Using The Atmosphere Player

    Player automatically when you navigate to a web page or open a PDF document that contains an Atmosphere .aer fi le. If the Player isn’t installed, a dialog box will appear asking if you wish to install The Atmosphere Player features support for hardware acceleration.
  • Page 20: Tutorial: Visiting Atmosphere Environments At Adobe.com

    3 The Atmosphere environment will load within the web page if the Player is installed. If not, you will be asked if you wish install the Player. Click Yes to install the Player if necessary. Once downloaded and installed, you will be able to view the Atmosphere environment.
  • Page 21: Tutorial: Viewing Atmosphere Environments In Photoshop Album

    Tutorial: Viewing Atmosphere Environments in Photoshop Album Even if you’ve never surfed the web, you may have seen Atmosphere if you use Adobe Photoshop Album. All the 3-D galleries in Photoshop Album are Atmosphere environments. Photoshop Album is available from the Adobe Store online as well as from authorized Adobe resellers.
  • Page 22: Tutorial: Viewing Atmosphere Environments In Pdf Documents

    An Atmosphere environment created using Photoshop Album’s 3D gallery plug-in. Tutorial: Viewing Atmosphere Environments in PDF Documents Atmosphere environments can be embedded in PDF documents, providing readers a much richer experience than static images. To explore the Atmosphere environments in a PDF document, follow these steps: 1 Open a PDF document that includes an Atmosphere environment.
  • Page 23: Navigating Atmosphere Environments

    There are several ways to navigate in Atmosphere Player, using the mouse or keyboard. Before you can navigate an Atmosphere environment, the environment must be the focus of the web page. You can give the environment focus by clicking on it.
  • Page 24: Tutorial: Practicing Navigation

    Tilt view down Ctrl+drag mouse downward Ctrl+down arrow Strafe left Shift+Drag mouse to left Shift+Left arrow Strafe right Shift+Drag mouse to right Shift+Right arrow Tutorial: Practicing Navigation The best way to learn how to navigate Atmosphere environments is to practice.
  • Page 25 Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\ Gallery. After navigating to your folder in the open dialog, select the fi le Gallery.html and press Open. 2 Click on the Atmosphere environment to active it, then hold down the up arrow to move forward into the environment.
  • Page 26: Using The Toolbar

    Using the Toolbar If you look in the lower left corner of an Atmosphere environment, you may see a toolbar of icons. The Atmosphere Player toolbar includes several icon buttons that toggle properties and open palettes. You can control several settings using these icon buttons.
  • Page 27 Detecting Collisions You may notice as you move through Atmosphere environments, that you cannot move through solid objects such as walls and pillars. This is because the Collide option is enabled. The Collide button allows you to toggle this feature, enabling movement through solid objects when turned off.
  • Page 28: Tutorial: Moving To An Overhead View Of The Environment

    CHAPTER 2 Tutorial: Moving to an Overhead View of the Environment Using the Shift and Ctrl keys, you can quickly get a bird’s-eye view of the environment. This overhead view will give you a good perspective of the entire environment. To move to an overhead view of an environment, follow these steps.
  • Page 29: Working With Bookmarks

    Preferences panel, click the Chat tab and check the Enable Bookmarks box. Once enabled, a Bookmarks icon button appears in the Player toolbar. Clicking this button will open the Bookmarks palette. The Bookmarks palette holds snapshots of your favorite Atmosphere environments. The Bookmarks palette The Bookmarks palette shows a snapshot of the current environment in the box labeled Current World.
  • Page 30: Tutorial: Bookmarking New Environments

    To bookmark an environment, follow these steps. 1 Visit an Atmosphere scene that you wish to bookmark. Right-click in the environment and select Window > Bookmarks from the pop-up menu to open the Bookmarks palette. The current environment will be displayed in the Current World box of the Bookmarks palette.
  • Page 31 To change your avatar, simply select one from the library in My Avatars and drag it to the Current Avatar box. Atmosphere will load the new character and present it in the Atmosphere window. You can delete an avatar by selecting it in the My Avatars sections and pressing the Delete key.
  • Page 32: Tutorial: Swapping Your Avatar

    CHAPTER 2 The Avatar palette lets you change characters at any time. Tutorial: Swapping Your Avatar You can change avatars easily to suit your whim. The Avatar panel holds several different characters that you can use. To change your character, follow these steps. 1 Click the Avatar button in the Player toolbar to open the Avatar palette.
  • Page 33: Setting Player Preferences

    Current Avatar in the Avatar palette. From here you can drag it into the My Avatars section. There is also a Show My Avatar option to make your avatar visible in the Atmosphere Player, which works the same way as the Show My Avatar...
  • Page 34 Renderer. Software rendering, although slower, will always work regardless of your system. Even if you select the Hardware (Direct3D) option, hardware rendering may be unavailable if Atmosphere is unable to recognize your video card. Appendix A, “Installing and Confi guring Atmosphere,” includes information on...
  • Page 35 Atmosphere. If you are viewing Atmosphere environments on an older system like a Pentium II, then the frame rate for the Player may be slow. There are several options in the Display tab of the Preferences palette that can help speed up Atmosphere.
  • Page 36 CHAPTER 2 To speed up the Player, you can turn off textures. To further speed the Player’s performance, you can also disable Light Maps. The Smooth Textures and Smooth Light Maps options will cause Player to anti-alias textures and light maps. To see the impact of smoothing textures, zoom in close to a texture.
  • Page 37 ADOBE ATMOSPHERE User Guide By enabling the Smooth Textures option, the pixels in the textures are smoothly blended. With the Smooth Textures option disabled, the Player performance is increased, but the textures will appear jagged.
  • Page 38 Chat item appears in the pop-down menu. You can control the behavior of the Chat window – whether it appears at the bottom of the environment window or as a detached, fl oating window – by toggling this option. Chat features are covered more completely in Chapter 3, “Interacting with Atmosphere Environments.”...
  • Page 39: Moving Through Portals

    Moving Through Portals Much like web pages can be linked to each other, Atmosphere environments can be connected using portals. A portal’s location is denoted by a set of spinning red, green, and blue squares. When a user’s avatar is moved into a portal, the linked environment will automatically load in place of the existing one.
  • Page 40: Tutorial: Jumping Between Environments

    Tutorial: Jumping Between Environments When buiding Atmosphere environments, you may fi nd it easier to work with several smaller interconnected environments that are linked using Portals. A good example of this is the Museum environment on the Atmosphere product pages at Adobe.com.
  • Page 41: Understanding Entry Points

    Understanding Entry Points When you fi rst enter an Atmosphere environment, you arrive at a location called the Entry Point that is designated by the environment creator. From the Atmosphere Player interface, you can have your avatar immediately jump back to this location using the Navigation >...
  • Page 42: Tutorial: Communicating With Other Users

    Tutorial: Communicating with Other Users To practice using the Chat features in Atmosphere, you fi rst must locate an Atmosphere environment on the web that other users are visiting. Once you see other users in an environment (see the section below for instructions), you can communicate with them using the Chat features.
  • Page 43: Interacting With The Environment

    Chat tab of the Preferences palette. Interacting with the Environment In addition to Portals and Chat, you can also interact with some Atmosphere environments through scripting that the designer has included. Some common interactivity options are listed below.
  • Page 44 Interacting with Scripted Objects Scripts can add interactive behavior to any Atmosphere object. For example, scripts allow users to click on objects to initiate behavior. Imagine that you’re a builder and are taking your clients through an Atmosphere representatopm of their new home.
  • Page 45 fl oating in the scene. Physics simulation Atmosphere’s physics simulation engine and JavaScript API support physical simulations like gravity, collisions, magnetism, friction and wind. Figure 3-8 shows a realistic catapult that also interacts with the web page to allow users to load and launch a sphere towards a wall of blocks. When the sphere strikes the wall of blocks, the blocks fall...
  • Page 46: Using Custom Controls

    Custom user controls are built using Atmosphere scripts. The Controls palette offers custom environment controls. Using parameter controls Atmosphere’s physics simulation engine allows users to set parameters in the Controls palette which control the physical properties of objects within the scene.
  • Page 47 ADOBE ATMOSPHERE User Guide An example of magnetic attraction controlled by using the strength and falloff controls in the Controls palette. The Controls palette lets user change physical properties for objects in the scene.
  • Page 48 Chapter 3...
  • Page 49 Asset Creation and Acquisition Atmosphere scenes are composed of multiple assets. These assets can come from a variety of places. They can be created directly in Atmosphere, loaded from a library of pre-built objects, imported from other 2D and 3D design applications, or created at run-time using the Atmosphere Player’s JavaScript API (Application Programming...
  • Page 50 PDF document. All assets known to Atmosphere are combined in a single directory, URL references are made relative and resolved to the moved assets, and a Web browser with the Atmosphere Player is brought up to preview the published content, if desired.
  • Page 51 Web browser window hosting the Atmosphere Player. Atmosphere uses editors to change content specifi c to the two view types. The wireframe views shows the skeletal underpinnings of the 3-D environment, while the shaded Player View shows the scene as it will actually appear to users.
  • Page 52 Working with Hierarchies All Atmosphere objects are held in a hierarchy, which keeps scenes organized as you add and alter objects. Atmosphere includes two different hierarchy interfaces – one for Scene Objects and one for the active Solid Object. There are palettes for each of these hierarchies that also provide another way to select and work with objects –...
  • Page 53 Publishing and Dual File Formats Atmosphere creates fi les in two different fi le formats. Project fi les created in Atmosphere and saved using the File > Save command are given the ATMO fi le extension. These fi les can only be opened in Atmosphere.
  • Page 54: Scene Object Types

    Solid Objects This is a geometric object type that is built directly in Atmosphere. You can create and edit these objects using the Solid Object Editor. Solid Objects, are constructed by combining a small set of primitives such as Box, Cylinder and Cone into arbitrarily complex constructs using boolean operations (sometimes called Constructive Solid Geometry, or CSG).
  • Page 55 Adobe Atmosphere uses a graphical user interface that will be familiar to users of Adobe products such as Photoshop or Illustrator. Since Atmosphere is a new category of application, it will be worthwhile to take the time to familiarize yourself with the user interface even if you have previous graphics and / or 3-D design experience.
  • Page 56: Using The Menus

    Pressing the Enter key will execute the selected menu option. The File menu The File menu holds commands for opening, saving and closing fi les in Atmosphere. Commands include New (Ctrl+N), Open (Ctrl+O), Close (Ctrl+W) and Save (Ctrl+S). Each Atmosphere environment can have several settings that defi...
  • Page 57 File menu is a list of recently opened fi les. Selecting one of these choices will re-open the selected fi le. The File menu commands are covered in more detail in Chapter 6, “Working with Files.” Keyboard shortcuts are useful for working effi ciently in Atmosphere and are included in parentheses in the manual text.
  • Page 58: Learning The Toolbars

    Atmosphere’s main window with two toolbars that have been docked to the top of the window, the options toolbar docked to the bottom, and two that are left fl oating. Drag or Double-click on the toolbar title bar to dock it to the top or bottom edge of the window.
  • Page 59 ADOBE ATMOSPHERE User Guide General Toolbar Tools Icon Name Description Selection Tool (V) Used to select objects Direct Selection Tool (A) Used to select objects and/or connectors Rotate Tool (R) Used to rotate objects Scale Tool (S) Used to scale objects...
  • Page 60 CHAPTER 5 Scene Toolbar Tools Icon Name Description Place Scene Object Preset Places the currently selected Scene Object Preset in the scene Place Empty Solid Object Places an Empty Solid Object in the scene Script Places an Script in the scene Portal Places a Portal in the scene Entry Point...
  • Page 61: Working With Palettes

    Just like toolbars, palettes can be docked. To dock a palette, drag it to the menu bar or the edge of the atmosphere window and release the mouse. You can open a docked palette by clicking on its tab. Clicking a second time on the tab will retract the palette.
  • Page 62: Tutorial: Maximizing Screen Space By Docking

    Some people like to work with fl oating toolbars and palettes because they can move them close to where they are working. Others like everything docked, so they know exactly where to fi nd them. Atmosphere offers you the fl exibility to handle both cases. For those who fi nd themselves in the second camp, you might want to follow these steps.
  • Page 63 ADOBE ATMOSPHERE User Guide The interface with all toolbars and palettes docked, confi gured to maximize screen space. History palette The History palette includes a list of all the actions done in the Scene Editor and the Solid Object Editor. Selecting an item in the History palette will return the state of the active view to refl...
  • Page 64 CHAPTER 5 The History palette enables you to undo several commands at once. The History palette includes a pop-up menu with two options – Options and Clear. The Options menu command will open a dialog box where you can specify the number of Maximum States to keep in the history. The Clear command will remove all items from the current History palette without changing the scene.
  • Page 65 ADOBE ATMOSPHERE User Guide When a single object or a group is selected in the Solid Object or the Scene Editor, the General tab will be General tab available. It includes a fi eld for entering an object Name. It also includes options for making the object Locked, hiding the object in the wireframe or Player views, and, for the Solid Object Editor, making it Subtractive.
  • Page 66 The Lighting Control palette is one of the most powerful. It consists of four different tabbed panes – Controls, Settings, Quality, and Sun. These controls are used to specify and compute the parameters for the Atmosphere lighting engine when it computes global illumination (radiosity) for the scene. Chapter 13, “Working with Lights,”...
  • Page 67 The Paint Presets palette holds colors and textures. The Objects Presets palette holds all imported scene objects. These objects can be Atmosphere models, Viewpoint objects, or Script Objects. Scene objects imported into this palette can be placed in a Scene Editor view.
  • Page 68: Tutorial: Positioning And Combining Palettes

    CHAPTER 5 The Object Presets palette holds imported models, scripts and Viewpoint objects. Tutorial: Positioning and Combining Palettes Combining palettes can save screen space. To combine the two Hierarchy palettes into one, follow these steps: 1 Select Windows > Object Hierarchy and Windows > Scene Hierarchy to make sure that both palettes are open. 2 Click on the Object Hierarchy tab and drag it from its own palette to the Scene Hierarchy palette and release the mouse.
  • Page 69: Using Undo And Redo

    Atmosphere. The Preferences dialog includes sections for defi ning how Atmosphere fi les are saved, how the grid is used during editing, and the displayed colors.
  • Page 70 Output Settings To make Atmosphere fi les smaller, you can enable the Save in Compressed Format option. Compressed fi les take up less disk space and download faster, but they need to be uncompressed before they can be used. This is a one-time action that happens when the environment is fi...
  • Page 71 Colors Atmosphere uses colors to indicate states. For example, a selected object is displayed in red. If you prefer to display selected objects as yellow, click on the color next to Selection and use the color picker to change it to yellow.
  • Page 72 CHAPTER 5...
  • Page 73: Understanding The Atmosphere Formats

    Understanding the Atmosphere Formats Atmosphere defi nes two native formats – ATMO and AER. The ATMO format is used to save project fi les under construction in Atmosphere and the AER format is used to publish Atmosphere environments to the web or for inclusion in PDF fi...
  • Page 74: Tutorial: Viewing Sample Environments

    With a fi le selected in the fi le dialog box, you can open it by double clicking on the fi lename or by selecting it and pressing the Open button. You can also drag an ATMO fi le from Windows Explorer and drop it into Atmosphere to open it. Tutorial: Viewing Sample Environments The default installation of Atmosphere includes several sample environments.
  • Page 75: Saving Environments

    ATMO fi le extension. Imported models will appear in the scene in the same location as that to which they were saved. Imported models will be listed in the Scene Hierarchy as <Model>. You may wish to save objects you create in Atmosphere to a Models or other directory so that they can be imported and reused as needed.
  • Page 76: Tutorial: Importing A Viewpoint Object

    In this tutorial, we’ll import a Viewpoint Object of a chandelier created in an external 3-D package. To import the chandelier, follow these steps. 1 In Atmosphere, select a wireframe view and double click on its background to make sure Scene Editor is active. The default background color will be dark gray.
  • Page 77: Importing To Preset Palettes

    ADOBE ATMOSPHERE User Guide The imported Viewpoint Object as seen in the Player View. Importing to Preset Palettes In addition to the File > Import menu, you can also import textures and objects using the palette menus found in the Paint and Object Presets palettes.
  • Page 78: Tutorial: Importing Wood Textures

    1 Select the Window > Paint Presets menu command to open the Paint Presets palette. Click the palette menu and select the Add Texture Preset menu command. A fi le dialog box will open. 2 Locate and open the Extras\Textures\Set_2 folder in the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Extras\Textures\Set_2 3 Click on the wood01.jpg fi...
  • Page 79: Managing Object Sets

    ADOBE ATMOSPHERE User Guide The Paint Presets palette loaded with wood textures. Importing Object Presets Models, scripts and Viewpoint Objects can also be loaded into the Object Presets palette using the palette menu. The difference between the File > Import menu and the Object Presets palette menu is that fi les added via the Presets menu will stay in the Presets palette as icons and can more easily be placed multiple times in a scene.
  • Page 80: Exporting Objects

    Paint Presets palettes. The new presets will then be added to the selected set. If you look in the directories where presets are stored, you will fi nd Atmosphere has created fi le names such as Material001.amt, Model001.asc and ScriptObject001.ajs. These small fi les hold parameter information for the preset.
  • Page 81: Saving World Settings

    ADOBE ATMOSPHERE User Guide You can export as a model an entire subset of the current scene, including a collection of interlinked Scene Objects and Script Objects. In this way, you can create a library model that includes both objects and their behaviors. When importing such a library model back into a new scene, all of the objects, with their behaviors, will be loaded and reconnected together.
  • Page 82 CHAPTER 6 object as an AER fi le. Publishing a world will launch a web browser and display the Atmosphere environment in all its glory. You can learn more about publishing in Chapter 15, “Publishing Atmosphere Scenes.” Publishing a scene opens it in a web browser, but publishing a model does not.
  • Page 83: Introduction To Views

    (with the exception of Player navigation), and dynamic lighting will not appear in the Player View. In order to test the full experience of an Atmosphere environment, the user must publish the scene and view it in a copy of the Atmosphere Player, usually within a Web browser.
  • Page 84: Working With The View Windows

    CHAPTER 7 Working with the View Windows Each view window includes a title bar that lists the fi le name of the project currently being edited, the current Editor, and the view’s positional type. You can open any number of wireframe views, but only one Player View. The Solid Object Editor is used to compose primitives into more complex objects like this fountain.
  • Page 85 The View > Player View (F4) menu command opens the Appearance Editor and displays the current scene in Player View. You can navigate around the scene just as you would in the Atmosphere Player by selecting the Navigate Tool in...
  • Page 86: Working With The Actor Object

    CHAPTER 7 The fountain once again in the Player View. The Appearance Editor’s Player View lets you see objects as they will appear in the Atmosphere Player. Working with the Actor Object The Actor object designates the position and orientation of the viewer in the Player View. In the Scene view, the Actor object looks like a small human fi...
  • Page 87: Using The Reference Point Object

    ADOBE ATMOSPHERE User Guide When the Entry Point object is selected, the Inspector displays buttons that allow you to sync the locations of the Actor and Entry Point objects. Using the Reference Point Object Another Scene default is the Reference Point object. This object displays the X, Y and Z axes as a reference. Although this object can be moved, rotated and scaled, the orientation of the axes remains constant.
  • Page 88: Working With Views

    CHAPTER 7 The Reference Point object displays the orientation of the X, Y and Z axes. Working with Views In the Scene and Solid Object Editors, you can select a different view from the View > Preset Position menu. The options include Top (F5), Front (F6), Right (F7), and Perspective (F8).
  • Page 89 ADOBE ATMOSPHERE User Guide In the Isometric view parallel lines remain parallel. Opening a New View Selecting View > New View will open a new Solid Object or Scene Editor wireframe view window. Remember that you can open only one Player View.
  • Page 90 CHAPTER 7 Cascading views are positioned so you can see the title bar of each view. The View > Layout > Tile Views menu option will place all view windows side by side, fi lling the screen with equal- sized windows.
  • Page 91 ADOBE ATMOSPHERE User Guide Tile Views places equal-sized windows side-by-side. Note that each wireframe window has a different view. The View > Layout > Mosaic Views menu option will open the current view in a large window and place other views...
  • Page 92: Controlling The View

    CHAPTER 7 The Mosaic Views option maximizes the active window and places the other views off to the side. The View > Layout menu offers window layout options consisting of one to four view windows. Selecting View > Layout > one View will open a single Top view window. Selecting View > Layout > 2 Views will open Top and Front cascading views.
  • Page 93 Player View just as you would in the Atmosphere Player using the mouse or arrows keys. Holding down the Shift key will move you vertically (fl y) or horizontally (“strafe”) and holding down the Ctrl key will let you tilt your view up, down, and around.
  • Page 94: Zooming To Fi T Objects

    fi nding your good side. To practice working with views, follow these steps. 1 Locate the Help\Tutorials\Avatar_Male folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Avatar_Male. After navigating to your folder in the open dialog, select the fi...
  • Page 95 ADOBE ATMOSPHERE User Guide 3 To see the objects in the scene, select View > Fit All (Ctrl+0). This will zoom and pan the window so all objects are visible in the Top view. 4 Select View > New View (Shift+Ctrl+N) to open a new view window. This new view window will also be a Top view.
  • Page 96 CHAPTER 7...
  • Page 97: Positioning Models As Scene Objects

    Scene Objects include models that are imported using the File > Import > Model menu command or that are placed in the Scene from the Object Presets palette. Scene Models are Atmosphere scenes that have been saved as an ATMO fi...
  • Page 98: Positioning Solid Objects

    CHAPTER 8 When you click on an object in the Objects Presets palette, the Scene Object button in the Scene Tools toolbar will be selected automatically. By holding down the Shift button while placing an object in the Scene Editor, you can create multiple copies of the object.
  • Page 99: Tutorial: Adding A Viewpoint Object To A Scene

    Atmosphere to convert it to a Surface Object. Large, complex Viewpoint Objects with thousands of polygons can cause Atmosphere to perform sluggishly. Before saving a 3-D model to be used in Atmosphere, optimize the model by reducing it to the smallest number of polygons possible.
  • Page 100: Tutorial: Adding A Viewpoint Object From The Object Presets Palette

    Select and drag the Viewpoint Object to the position you wish. You may need to use several different views to correctly position the Viewpoint Object. Viewpoint Objects can be imported into Atmosphere Scenes. Tutorial: Adding a Viewpoint Object from the Object Presets palette Another way to add Viewpoint Objects to the scene is by using the Object Presets palette.
  • Page 101: Tutorial: Scaling A Viewpoint Object

    ADOBE ATMOSPHERE User Guide 3 To reposition the Viewpoint Object, select it and drag it to a new location. Presets make it easy to add multiple copies of an object to a Scene. Scaling Viewpoint Objects When a Viewpoint Object is selected in the Scene Editor, all wireframe lines will appear in red and the object will be surrounded by a bounding box of blue lines.
  • Page 102 CHAPTER 8 Dragging on the bounding box handles will scale a Viewpoint Object. Converting 3-D Models to the Viewpoint Format Not all 3-D software supports exporting to Viewpoint Media format. It is sometimes necessary to use another application to open and convert fi les into this format.
  • Page 103: Converting 3-D Files For Import Into Atmosphere

    OBJ fi le format instead. This fi le can then be converted to the Viewpoint Media format using the Viewpoint Scene Builder application, which can be download for free at http://developer.viewpoint.com/. Converting Viewpoint Objects to Surface Objects Imported Viewpoint Objects cannot be globally lit or textured in Atmosphere.
  • Page 104 Using this command will convert the Viewpoint Object into a Surface Object. Atmosphere will not let you convert a Viewpoint Object to a Surface Object until the project fi le has been saved. Surface Objects are included in Atmosphere’s Radiosity lighting calculations and can be textured in Atmosphere.
  • Page 105: Creating Avatars

    If you create an avatar in Atmosphere, position the avatar so its eye is at the scene’s origin point. This is where the virtual camera will “look out from” the model when the Avatar is loaded with the Player.
  • Page 106: Creating A Portal

    Creating a Portal Portals link Atmosphere environments. When a user enters a Portal in the Atmosphere Player, a new environment is loaded and the viewer fi nds themselves in a new place. Portals are represented in Player by glowing red, blue and green panes which rotate in space just above eye level.
  • Page 107: Positioning An Entry Point

    ADOBE ATMOSPHERE User Guide A Portal will connect to the environment entered in the Target URL box. Positioning an Entry Point An Entry Point is the location where users (and their avatars, if turned on) will fi rst arrive when they visit your environment.
  • Page 108: Using Anchors

    The Inspector palette for the Entry Point object includes buttons to change the Entry Point’s location. The Inspector palette also allows you to give the Entry Point a Name (if it’s not the default) and a Title. An Atmosphere scene can have several Entry Points. Using Anchors Anchors are used to mark positions in space.
  • Page 109: Setting Visibility

    ADOBE ATMOSPHERE User Guide Be aware that even though a scene Solid Object is locked, components of Solid Objects selected by double-clicking in the Scene Hierarchy can be edited in the Solid Object Editor. Setting Visibility You can set objects to be Visible in Wireframe Views and/or Visible in Player View using the options found in the Inspector palette.
  • Page 110 CHAPTER 8...
  • Page 111: Understanding Solid Objects

    In Atmosphere, these are called, appropriately enough, Solid Objects. This chapter covers using Atmosphere’s Solid Object Editor to create and assemble solid objects; constructs that are normally assembled from simple shapes – like a box or a cone – called primitives. The Solid Object Editor uses the Solid Object Tools toolbar to select from among eight primitives and add them to Solid Objects.
  • Page 112: Understanding Boolean Operations

    The fi rst thing to note is that all Solid Objects in Atmosphere ultimately are composed of solid primitives. A solid primitive is not a collection of polygons or surfaces, but a closed area of space defi ned by it’s type and some parameters.
  • Page 113: Connectors, Welding, Constraints And Layouts

    Atmosphere Solid Editor. Connectors defi ne solids procedurally, not by outlining their surface polygons directly. The Atmosphere Solid Object Editor tries to make the design of spaces or environments easy. One of the ways it does this is to allow Connectors to be welded or “snapped” together. When two Connectors are welded together, they essentially become a single Connector.
  • Page 114: Naming Objects

    1 Select the File > New (Ctrl+N) menu command to create a new Scene. 2 Depending on the state of Atmosphere, there may or may not be a Scene Editor window visible. If not, create a new view by selecting View>New View (Shift+Ctrl+N). A new Solid Object icon was automatically created in the new fi...
  • Page 115 ADOBE ATMOSPHERE User Guide 4 Enter the Solid Object Editor by double-clicking on the Solid Object icon in the Scene Editor window. You can also double-click the Solid Object icon in the Object Hierarchy list. 5 Right-click in the window and select Preset Positions > Perspective (or type F8) to bring up Perspective view.
  • Page 116: Learning The Primitive Types

    CHAPTER 9 Learning the Primitive Types There are eight different primitive objects available in the Solid Object Tools toolbar. When a Solid Object primitive is selected, it appears in red and its connectors are displayed as small white squares. Using connectors to edit objects is covered in Chapter 10, “Selecting and Editing Objects.”...
  • Page 117 ADOBE ATMOSPHERE User Guide comprise the circular cross-section. This value can range from three to 64, with larger numbers resulting in a more nearly circular Column. The Radius value is the radius of the circular cross-section. Column objects are another common primitive object.
  • Page 118: Triangular Slab

    CHAPTER 9 Cone objects are like columns with a narrow end. Triangular Slab The Triangular Slab primitive defaults to two edges 10 feet long joined at a right angle. It has three connectors, one at each corner. The Triangle Slab has one Inspector parameter, Thickness.
  • Page 119 The Stairs primitive creates a set of stairs with a connector at each corner. The Stairs primitive is the “smartest” solid primitive currently available in Atmosphere. An entire fl ight of stairs can be constructed as a single Stairs primitive, by defi...
  • Page 120 CHAPTER 9 Stairs objects are useful for creating buildings. Floor and Wall The Floor primitive is similar to the Triangular Slab primitive, except it creates a rectangular slab with four Connectors. The Floor primitive has a Thickness parameter in the Inspector. The Floor object has a special command associated with it: Edit >...
  • Page 121 ADOBE ATMOSPHERE User Guide Wall and Floor objects are slabs with different orientations. Although the primitive objects are simple, only your imagination limits the ways they can be combined into complicated objects.
  • Page 122: Deleting Objects

    CHAPTER 9 An environment containing A cottage created using only Atmosphere’s Solid Object primitives. Deleting Objects Objects can be deleted by selecting the object and using the Edit > Clear menu command or by pressing the Delete key. The Edit > Undo (Ctrl+Z) command will undelete a deleted object. You can also select and delete an object in the Object Hierarchy palette.
  • Page 123: Grouping Objects

    ADOBE ATMOSPHERE User Guide Grouping Objects The easiest way to move several objects at once in the Solid Object Editor is to collect them into a group. Groups of objects are moved, scaled and rotated together. Grouping is particularly useful in crowded assemblies.
  • Page 124 CHAPTER 9 Groups appear in the Object Hierarchy palette as either a folder or a folder with its child objects visible. Clicking the arrow icon by the folder expands or collapses the hierarchy at that point. Another way to create a group is by using the Object > New Group menu command. This command will create a new group in the Object Hierarchy palette.
  • Page 125 ADOBE ATMOSPHERE User Guide Grouped objects have an additional option. If the Make Contents of Group Subtractive option is selected, then the assembly Making subtractive groups represented by the contents of the group will itself subtract from objects in the group that contains it. When a group is marked as subtractive, an icon will appear in the Object Hierarchy palette.
  • Page 126 CHAPTER 9 An entire group of objects can be marked as subtractive. Above are Two Floor objects that are each overlapped with a grouped array of Box objects. The group on the right is marked as subtractive. The Boolean Intersect Contents of Group option for groups is used to create an Creating Boolean intersections assembly from the contents of the group whose “skin”...
  • Page 127 ADOBE ATMOSPHERE User Guide A Box object grouped with an overlapping Column object placed through the center of a Floor object.
  • Page 128 CHAPTER 9 Subtraction of the grouped object from the Floor object.
  • Page 129: Ungrouping Objects

    ADOBE ATMOSPHERE User Guide Subtraction of the grouped object from the Floor object with the Boolean Intersect option selected. The Boolean Intersect Contents of Group option will only work on groups that have overlapping objects. If no objects in the group overlap, the entire group will be invisible.
  • Page 130: Hiding Objects

    CHAPTER 9 To lock an object, select it and choose the Object > Lock > Selection (Ctrl+L) menu command. Clicking on a locked object with the Selection Tool will do nothing. Locked objects have a small lock icon in the Object Hierarchy palette. Locking a group will automatically lock all the objects contained within the group also.
  • Page 131 ADOBE ATMOSPHERE User Guide Hidden objects do not have the eye icon visible. Object > Hide > Others hides all objects except those that are selected. Object > Hide > All (Alt+Ctrl+H) hides all objects in the scene. The Object > Show All (Shift+Ctrl+H) unhides all objects in the scene.
  • Page 132 CHAPTER 9...
  • Page 133: Selecting Objects

    Selecting Objects Atmosphere offers a number of ways to select objects, both with the mouse and from the keyboard, allowing users to choose their most comfortable and productive personal style. The Selection Tools There are two selection tools in Atmosphere’s Tools toolbar.
  • Page 134 CHAPTER 10 The red wireframe lines denote a selected object in the Solid Object Editor with the Direct Selection Tool (A) active. Selecting from the Object Hierarchy palette Another way to select objects is to select an object’s name in the Object Hierarchy palette. The selected object’s name will be highlighted in blue when clicked.
  • Page 135 ADOBE ATMOSPHERE User Guide Selected objects are highlighted in blue in the Object Hierarchy palette. Selecting multiple objects Multipleobjects can be selected by clicking and dragging an outline around them. All objects that are completely within the dragged outline will be included in the selection. You can also select several objects by holding down the Shift key while clicking on individual objects.
  • Page 136: Moving Objects

    CHAPTER 10 When multiple objects are selected, they are all highlighted in red in the Solid Object Editor with the Direct Selection Tool (A) active. Moving Objects With the Direct Selection Tool (A) active, you can move objects by clicking in them and dragging them to a new position.
  • Page 137 Making Precision Movements Atmosphere’s Options tool bar, which can be free fl oating or docked at the bottom of the screen, allows you to enter precise position coordinates in the X, Y and Z fi elds. You can move objects relative to their current location using the Move fi...
  • Page 138: Editing Using Connectors

    CHAPTER 10 Precise object movements can be made using the Options toolbar. Editing using Connectors You can move or resize objects using the mouse. To move an object with the Selection Tool (V) active, click in the central blue box and drag it to its new location. To move an object with the Direct Selection Tool (A) active, click anywhere in the object except the square white handles and drag it to its new location.
  • Page 139 ADOBE ATMOSPHERE User Guide With all connectors visible, you can easily select multiple connectors. Scaling Objects Scaling or resizing is accomplished by dragging on an object’s connectors with the Direct Access Tool (A) active in the Solid Object Editor. When you grab and drag a connector, only the attached corner of the object moves. This will increase the size of objects like a Box.
  • Page 140 CHAPTER 10 Dragging a connector will resize a primitive object. Skewing Objects In Perspective view, you can drag a connector in two directions at once: the effect is to skew the object. Dragging connectors in two directions will skew the object.
  • Page 141 ADOBE ATMOSPHERE User Guide Welding Connectors At the right end of the Options toolbar is a Weld Connectors option and a Weld Distance value. When this option is enabled, you can weld two connectors together. Welded connectors will move together when any of their objects are moved.
  • Page 142: Snapping To A Grid

    Grids are shown by default: you can change the spacing or turn them off using the Grid option in the Display tab of the Preferences (Ctrl+K) dialog box. The grid feature in Atmosphere zooms with the view to provides grid lines at any scale.
  • Page 143 ADOBE ATMOSPHERE User Guide Grids can be enabled and spacing set in the Preferences dialog box. Setting Grid Spacing Checking Grid in the Display tab of Preferences (Ctrl+K) enables the Spacing and Subdivisions fi elds. Spacing is the distance from the origin to the fi rst major division. This value will appear next to the fi rst major division and a multiples of this value will appear at each subsequent major division.
  • Page 144: Tutorial: Building A Chess Board

    CHAPTER 10 Grids can have arbitrary Spacing and Subdivisions. Setting Snap Options The Snap to Grid option in the Display tab of Preferences (Ctrl+K) causes object corners to snap to the nearest grid intersection if selected. The Spacing and Subdivisions settings affect the granularity of Snapping: smaller Spacings and larger Subdivisions allow fi...
  • Page 145: Rotating Objects

    ADOBE ATMOSPHERE User Guide 7 Drag an outline over both Floor objects to select them both and move them to the lower left corner of the Top view. 8 With both Floor objects selected, select the Edit > Duplicate (Ctrl+D) menu command to duplicate both objects.
  • Page 146: Tutorial: Tilting A Top

    CHAPTER 10 Objects can be rotated around any point. Tutorial: Tilting a Top To create and rotate a top, follow these steps. 1 Select File > New (Ctrl+N) to make a new fi le. 2 In the Solid Object Editor, press F5 to select a Top view. 3 In the Solid Objects toolbar, click on the Cone object and then click in the Top view to create a single Cone object.
  • Page 147: Clearing Transformations

    ADOBE ATMOSPHERE User Guide 10 Select all objects with Edit > Select All (Ctrl+A) and group them with the Object > Group (Ctrl+G) menu command. In the Scene Hierarchy palette, name the Solid Object Top. 11 Press the F6 key to see the Front view. Click on the Rotate Tool (R) and drag in the view to rotate the top about 15 degrees from its center point–enough to show a slight tilt.
  • Page 148: Tutorial: Making Alphabet Letters

    CHAPTER 10 its volume from objects that overlaps. For example, if you place a Cylinder so that it passes through a Box, making the Cylinder subtractive will cause a circular hole to appear in the Box in the Player view. Cylinder and Box: Cylinder is Subtractive on the left.
  • Page 149 ADOBE ATMOSPHERE User Guide 5 Select the duplicated Triangular Slab and the Floor objects and enable the Subtractive option for each in the Inspector palette. Also set the Thickness value to 1.0. This will insure that the objects cut through the fi rst Triangular Slab.
  • Page 150 CHAPTER 10...
  • Page 151: The Appearance Editor

    Colors and textures can only be applied to objects in the Appearance Editor’s Player view. To open a Player view, select the View > Player View menu command (F4). This will open a window that displays the Atmosphere environment as if it were being viewed in the Player plug-in.
  • Page 152 CHAPTER 11 The Inspector palette lets you defi ne colors. Removing Colors You can remove colors from an object or face using the Remove Texture Tool (E) . If an object has had several colors applied to it, the Remove Texture Tool will remove only the last color that was applied. Clicking multiple times on an object with the Remove Texture Tool will remove all previously applied colors one by one.
  • Page 153 ADOBE ATMOSPHERE User Guide Keep in mind that colors on the computer screen are additive – higher color values are brighter. This stands in contrast to media like paint and inks where larger amounts of color produce darker results – known as subtractive color.
  • Page 154: Tutorial: Coloring Chess Pieces

    To apply color to a set of chess pieces, follow these steps. 1 Locate the Help\Tutorials\Chess folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Chess. After navigating to your folder in the open dialog, select the fi...
  • Page 155: Adding Preset Colors

    ADOBE ATMOSPHERE User Guide The completed chessboard with colored pieces.. Colors can be applied to objects using the Apply Texture Tool (K). Adding Preset Colors The Paint Presets palette makes it easy to store, select and apply colors to multiple objects.
  • Page 156 CHAPTER 11 The color preset icon identifi es colors in the Paint Presets palette. When a color preset is selected in the Paint Presets palette, the gray paint bucket is highlighted with color and a red border. When selected, you can change the preset’s color value in the Inspector. Selected color presets can be set using the Inspector.
  • Page 157: Texture Formats

    JPG or PNG. GIF is a good format for textures that contain text, logos and drawings. File sizes are usually small and load quickly. Atmosphere doesn’t support transparency, interlacing or animation in GIF fi les. JPEG The JPEG (JPG) format supports a photo-realistic 16.7 million colors.
  • Page 158: Tutorial: Adding Textures To An Object

    Textures can add a richer, more realistic look to objects. To apply textures to an object, follow these steps: 1 Locate the Help\Tutorials\Fountain folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Fountain. After navigating to your folder in the open dialog, select the fi...
  • Page 159: Working With Movies And Sound

    Paint Presets palette. Movie fi les can be very large and will slow downloads of web-based Atmosphere environments. Older computers may not be able to play back movies smoothly, and even newer ones may have problems when movies are added to more than one face of an object.
  • Page 160: Tutorial: Making A Television Come Alive

    Tutorial: Making a Television Come Alive To apply a movie to a television model, follow these steps. 1 Locate the Help\Tutorials\Television folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Television. After navigating to your folder in the open dialog, select the fi...
  • Page 161: Removing Textures

    ADOBE ATMOSPHERE User Guide Movies applied to an object face will play automatically when the scene is loaded. Notice how the movie is rotated incorrectly and tiled. The next chapter will explain how to fi x these problems. Removing Textures The Remove Texture Tool (E) removes color, texture and video from objects.
  • Page 162 CHAPTER 11...
  • Page 163: Editing Textures

    Developers will fi nd that Atmosphere makes it easy to access parameters for tiling and parametric and projective scaling. Creative designers and those new to this type of media will fi nd that Atmosphere’s interface – with slider controls and live visual feedback – makes it easy to learn even forbidding-sounding topics.
  • Page 164: Tutorial: Applying A Texture To A Single Face

    Surface tab of the Inspector palette. In this example, you’ll apply a texture to the front of a grandfather clock. 1 Locate the Help\Tutorials\Clock folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Clock. After navigating to your folder in the open dialog, select the fi...
  • Page 165 If the Size values are different before the link checkbox is enabled, the relative difference between the U and V values will be maintained, they will not be set equal. The maximum Texture size that can be used in Atmosphere is 2000 x 2000 pixels.
  • Page 166 CHAPTER 12 A scaled texture applied to three Wall primitives.The texture appearance is controlled by changing the Size values and Scaling Type. Offsetting Tex tures The Offset values set the location of the upper left corner of the texture image. The U value will offset the texture image in the horizontal direction and the V value will offset the image in the vertical direction.
  • Page 167 Offset values are measured from the upper left corner of the object face. Understanding Scaling Types Atmosphere includes four different Scaling Types – Pixel, Tile, Parametric and Projective. The selected type will change how textures appear on the surface of the object. The Pixel and Tile scaling types will normally maintain the texture image’s proportions, while the Parametric scaling type will stretch the image as needed to completely fi...
  • Page 168: Tutorial: Scaling A Texture To Fit

    Fitting a movie to a screen shows how Parametric Scaling works. To scale a texture to fi t an object face, follow these steps. 1 Locate the Help\Tutorials\Lounge folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Lounge. After navigating to your folder in the open dialog, select the fi...
  • Page 169 ADOBE ATMOSPHERE User Guide The Parametric Scaling Type fi ts textures perfectly on an object face. Wrapping Textures The Wrap options cause the texture image to be placed end to end across the face of the surface like tiles on a fl oor.
  • Page 170 CHAPTER 12 Textures like the grass in this soccer stadium can be tiled to cover the entire surface. Here is a texture that is tiled across the surface using the Wrap options. Rotating Textures The Rotation value rotates the texture image counterclockwise. The origin point is the upper left corner of the texture image.
  • Page 171: Tutorial: Creating Seamless Textures

    You can make seamless textures in Adobe Photoshop. Adobe ImageReady ships with a Filter called Tile Maker that automatically blends edges so that opposite edges will match (look in the Other fi lter category).
  • Page 172: Positioning Projective Textures

    CHAPTER 12 Seamless textures will tile end to end with minimally noticeable seams. Positioning Projective Textures When Projective Scaling is selected, you can position the texture projector by using the Elevation and Azimuth controls. These controls, familiar to astronomers, defi ne a location on an sphere of space surrounding the object face. Elevation can range from –90 to 90 with 0 being the horizon, -90 being directly underneath and 90 being directly overhead.
  • Page 173: Creating Billboards

    1 Obtain a high-resolution photo of a tree, with a normal viewing angle and lighting and no overlapping objects. 2 In Adobe Photoshop, or another image editor, cut the tree out from its background, leaving white where you want transparency.
  • Page 174 Save the object as an MTX fi le. 5 Import the Viewpoint MTX fi le into your Atmosphere environment and copy the MTS fi le to the folder where...
  • Page 175 ADOBE ATMOSPHERE User Guide A billboard tree object as part of an Atmosphere environment. Billboard objects always face the viewer.
  • Page 176 CHAPTER 12...
  • Page 177 “Light is the magician” are the famous words of Henri Cartier Bresson, one of the 20th Century’s greatest photographers. Mastering the play of light and shadow is no less important in your Atmosphere creation than it is in the real world.
  • Page 178: Understanding Lighting

    Where are the Lights? The main light source in Atmosphere is the sun, which behaves like the sun in the real world. In addition, any Solid Object or Surface Object in the scene can be a light source. The faces of objects that emit light are called emissive surfaces.
  • Page 179: Working With Emissive Surfaces

    ADOBE ATMOSPHERE User Guide Working with Emissive Surfaces Any object in the scene can be a light if the Emits Light option on the Surface tab of the Inspector palette is checked. This tab is only available when the Player view is selected.
  • Page 180: Pre-Computed Lighting

    The angle of incidence, the refl ective properties of the object and dozens of other properties must be considered and calculated to show lighting that appears realistic to the human eye. Atmosphere uses advanced Radiosity lighting algorithms that produce cinematic lighting quality by calculating the myriad ways that real light bounces through a scene.
  • Page 181: Tutorial: Making A Light Bulb

    ADOBE ATMOSPHERE User Guide Tutorial: Making a Light Bulb To create a simple light, follow these steps: 1 In the Solid Object Editor, add a primitive where you want a light object to be located. A cube or cylinder can be fashioned into a simple light source.
  • Page 182: Setting Light Parameters

    Creating Light Maps When you fi rst create objects in Atmosphere, they are unlit and appear as uniform gray shapes in the Player view, because no lighting has been calculated for them. Pressing the Start button on the Controls tab of the Lighting Control starts the process of generating Light Maps for the environment.
  • Page 183 ADOBE ATMOSPHERE User Guide The progress bars track the Percent of Light Remaining, the Percent of Surfaces Remaining and the Percent of Current Surface Remaining and are meant to help you judge how long the lighting will take. During lighting and once a scene has been lit, you can alter the Scene Brightness using the Scene Brightness control at the bottom of the Lighting Controls palette.
  • Page 184 CHAPTER 13 A setting of 10 will give the user immediate feedback in the Player View while taking longer to complete the lighting and a setting of 80 will speed lighting at the expense of less frequent Player View updates. An Update Frequency value of 0 will cause the Player view to update only after the entire lighting solution is calculated.
  • Page 185: Tutorial: Changing Scene Brightness

    Tutorial: Changing Scene Brightness This tutorial will help you understand how the lighting controls work: follow these steps. 1 Open or create an Atmosphere environment. 2 Select View > Player View (F4) to open a Player view window. 3 Select the Window > Lighting Control menu command to open the Lighting Control palette. In the Settings tab of the Lighting Control palette, enable all the light sources that you wish and set the Lighting Threshold to 25.
  • Page 186: Using Sunlight

    Using Sunlight In addition to emissive surfaces, you can also specify a distant light source known in Atmosphere (and in the real world) as the Sun. The Sun’s settings are found in the Sun tab of the Lighting Control palette and include: Elevation and Azimuth settings to describe its position in the sky, Cone Angle and Brightness to describe its intensity and Red, Green and Blue to describe its color.
  • Page 187 Understanding Elevation and Azimuth Elevation and Azimuth defi ne the position of the Sun on an imaginary sphere that encompasses an Atmosphere environment. The position of the sun in the sky infl uences which objects are highlighted and the direction of shadows that are cast.
  • Page 188: Tutorial: Coloring The Sun

    You can change the color by clicking on the color swatch and picking a new color from the Color palette or by dragging the Red, Green or Blue sliders. Color swatches in Atmosphere have 3 palettes. Clicking brings up the Color palette, Ctrl-clicking brings up a mini palette, and Alt-clicking brings up the web standard colors palette.
  • Page 189: Tutorial: Creating A Sky Cone

    ADOBE ATMOSPHERE User Guide Textures cannot be applied to the background, but you can place a texture using an object known as a Sky Dome or a Sky Cone. Tutorial: Creating a Sky Cone A Sky Cone is used to surround your environment with a sky and/or landscaping texture. It consists of two cone primitives, one subtracting from the other to form a wall around your environment.
  • Page 190: Using Object Light Maps

    CHAPTER 13 Sky cones can be textured to show the surrounding environment. The distant plain, hills and sky are textures on the sky cone. Using Object Light Maps For each surface, you can specify whether there should be a Light Map. This option is in the Light Map tab of the Inspector palette when a color or texture preset is selected or when the Edit Texture Tool is used to inspect an object surface.
  • Page 191: Effective Lighting Techniques

    Emissive surfaces can be hidden, so you can add a little light to a dark corner by placing a hidden, emissive object. • Texture images have their own lighting. Atmosphere lighting tends to darken them. To compensate for this, you can increase the brightness of texture images before importing them into Atmosphere using Image > Adjustments >...
  • Page 192: Tutorial: Preparing Textures For Lighting

    Atmosphere. Tutorial: Preparing Textures for Lighting While you can use Atmosphere’s Brightness setting to adjust texture objects, better results are possible with a little forethought as textures are being prepared. To prepare textures for lighting in Atmosphere, follow these steps.
  • Page 193: Chapter 14: Adding Interactivity

    Atmosphere ships with a selection of useful pre-built behaviors, and users can easily import and use scripts obtained from others. Programmers will be pleased to know that Atmosphere has a rich API that allows control of virtually every aspect of an Atmosphere world including its physics. Atmosphere supports JavaScript, the World-Wide Web’s widely used and well-documented scripting language.
  • Page 194 CHAPTER 14 Placing Scripts Scripts that are loaded using the File > Import > Script command appear at the origin of a Scene. Scripts in the Object Presets palette are placed using the Scene Editor which allows scripts to be placed anywhere. To place a script, click on its icon in the Object Presets palette, then click in the Scene.
  • Page 195: Tutorial: Adding Fog

    Some effects such as fog will not be visible until the environment is published and loaded in the Player plug-in. To add fog to your scene, follow these steps. 1 Locate the Help\Tutorials\Bridge folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Bridge. After navigating to your folder in the open dialog, select the fi...
  • Page 196 CHAPTER 14 An Atmosphere environment with the fog script applied. The amount of fog can be set by adjusting the script’s properties in the Inspector. Fog can be enabled in the scene simply by adding the fog.js script. Editing Scripts The Inspector palette includes a fi...
  • Page 197: Defi Ning Properties And Setting Values

    ADOBE ATMOSPHERE User Guide Clicking the Edit button will open the script in a text editor. Defi ning Properties and Setting Values The Properties section in the Inspector palette holds all the defi ned properties for the script. You can enter new parameter values by selecting a property and typing its new value into the Value fi...
  • Page 198: Tutorial: Adding Background Sound

    The URL property defi nes the path to the sound fi le to play. Atmosphere supports sound in the WAV and MP3 fi le formats. The volume property controls how loudly the sound plays.
  • Page 199: Adding New Properties

    ADOBE ATMOSPHERE User Guide 5 In the Inspector palette, click on the URL property to select it. Then right click on the Value fi eld and select Sounds from the pop-up menu. In the fi le dialog box that opens, locate and select the background sound that you wish to use.
  • Page 200: Associating A Script With An Object

    Associating a Script with an Object Scripts that affect objects, unlike scene scripts, must be associated with the object in order to work properly. Atmosphere uses the whip tool to make it easy to associate a script with an object. Using the Whip Tool Selecting a target object is accomplished using the Script whip tool located in the Inspector palette to the right of the Properties Name and Value fi...
  • Page 201 ADOBE ATMOSPHERE User Guide The Script Whip tool will draw a line from the tool to the target object. You can also drag the Script Whip tool to the objects in the Scene or Object Hierarchy palettes. Because script objects can only be selected in the Scene Editor, you cannot whip to a Solid Object sub-part. You can, however, whip to a Solid Object part using the Object Hierarchy palette.
  • Page 202: Tutorial: Making A Showroom Car Rotate

    Tutorial: Making a Showroom Car Rotate To cause an object to rotate in the scene, follow these steps. 1 Locate the Help\Tutorials\Showroom folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Showroom. After navigating to your folder in the open dialog, select the project fi...
  • Page 203: Tutorial: Creating A Free Moving Soccer Ball

    The rotateContinuous script can be used to rotate objects in the scene. Working with physical models Atmosphere’s JavaScript API allows access to the built-in Havok physics-simulation engine. You can use JavaScript to create and control real-world physics simulations including collisions, gravity, water, wind and magnetism.
  • Page 204 CHAPTER 14 1 Locate the Help\Tutorials\Soccer folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Soccer. After navigating to your folder in the open dialog, select the project fi le Soccer.atmo and press Open.
  • Page 205: Linking A Script To A Script

    This example links the rotateContinuous script to the onClick script to start the rotation when an object is clicked. To link one script to another, follow these steps. 1 Locate the Help\Tutorials\Windmill folder under the directory where Atmosphere was installed. It should be a path similar to c:\Program Files\Adobe\Atmosphere\Help\Tutorials\Windmill. After navigating to your folder in the open dialog, select the project fi...
  • Page 206 CHAPTER 14 The windmill environment after linking the rotate script to the onClick script. Linking scripts to scripts let you control actions based on events that the user initiates.
  • Page 207: Chapter 15: Publishing

    Testing and Debugging Environments It would be a pity, after all your hard work, if your Atmosphere environment didn’t behave as planned. To make sure your users won’t be disappointed, it’s a good idea to test your environment before you release it.
  • Page 208: Testing The Final Environment

    CHAPTER 15 The Chat palette in the Player will display JavaScript errors. Incorrectly positioned Entry Point If the environment loads, but the fl oor seems to be missing, the problem could be that your Entry Point object is contained within the Floor object. Another problem occurs when Entry Points are positioned outside of the environment: when the scene loads in the Player with Gravity enabled, the user falls away from the environment.
  • Page 209: Publishing An Atmosphere Environment

    The Server URL defi nes the location of the Collaboration Server if you wish to enable chat and object synchronization. If the Server URL is left blank, it will automatically be set to use Adobe’s default Collaboration Server. The Topic fi eld is for keywords that describe your project.
  • Page 210: Publishing A Single Model

    If the Web Page URL fi eld is left blank, then the HTML fi le created by Atmosphere will be loaded in the web browser. However, if a Web Page URL is included, then the specifi ed URL will be loaded.
  • Page 211: Embedding Within A Web Page

    1 In Acrobat, on the Advance Editing Toolbar, select the Movie Tool 2 Click and drag in the document to the point where you want the Atmosphere scene located. This will open the Add Movie dialog box where you can Browse to the location of the Atmosphere scene to load. You will also need to select the application/x-aer MIME type from the Content Type drop-down list.
  • Page 212: Optimization Techniques

    Optimization Techniques If you intend to place your Atmosphere environment on the web, you may wish to optimize the fi le before publishing. Optimized fi les will be smaller and download faster. Optimized fi les embedded in PDF documents can help keep them smaller, too..
  • Page 213 ADOBE ATMOSPHERE User Guide • Apply textures only to visible faces instead of entire objects where you can. • Avoid using a large number of faces in a single object. • Avoid using 2 or more dynamic lights in a single environment.
  • Page 214 CHAPTER 15...
  • Page 215: Appendix A: Installing And Confi Guring

    Installing the Atmosphere Player The Atmosphere Player is a browser plug-in that is installed on demand when a user visits a site featuring an Atmosphere environment. If the Player plug-in is not already installed, a Security Warning dialog box will appear asking if you wish to install the Player plug-in Clicking Yes in the Security Warning dialog box will download and install the 2.6 MB Player plug-in automatically.
  • Page 216 APPENDIX A Hardware Rendering will improve the performance and the appearance of Atmosphere environments. Even if you have a newer video card, the Active Renderer may still be set to Software. If this is the case, then the video card in your system is not supported. A complete list of supported video cards is included later in this chapter.
  • Page 217 ADOBE ATMOSPHERE User Guide A scene shows transparent windows and crisp shadows with hardware rendering.
  • Page 218: Tutorial: Helping Atmosphere Recognize Your Card

    Atmosphere to recognize your video chip set by manually entering it into its list of supported devices. Atmosphere uses a confi guration fi le called AtmoHWConfi g.txt, which lists all the video cards it knows about. For a default installation, you will fi...
  • Page 219 3 Try to locate your video chipset in the fi le (if you do not know what chipset you have, see the next paragraph). If there is a line for your chipset, but it is disabled, remove the two slashes, save the fi le and relaunch Atmosphere. If there is no entry for your chipset, then you will have to add a line.
  • Page 220: Supported Video Cards

    If Atmosphere still doesn’t recognize your chipset, check to make sure that you made the entries correctly, saved the fi le and relaunched Atmosphere. If all is correct, then it may be that your chipset, even though listed in the AtmoHWConfi...
  • Page 221: Appendix B: Keyboard Shortcuts

    ADOBE ATMOSPHERE User Guide Appendix B: Keyboard Shortcuts Learning and using the keyboard shortcuts will help you become much more effi cient with Atmosphere. The following list includes all the keyboard shortcuts for Adobe Atmosphere. Menu Keyboard Shortcuts Command Shortcut File >...
  • Page 222 View > Fit Selected Shift+Ctrl+0 View > Grid Ctrl+’ View > Snap to Grid Shift+Ctrl+’ View > Guidelines Ctrl+; View > Shadows Shift+Ctrl+; View > Reset Views Shift+Ctrl+R Help > Atmosphere Help Help > Javascript API Documentation Help > Lighting Overview...
  • Page 223 ADOBE ATMOSPHERE User Guide Toolbar Keyboard Shortcuts Command Shortcut Selection Tool Direct Selection Tool Rotate Tool Scale Tool Orbit Camera Tool Hand Tool H or spacebar Dynamic Zoom Tool Zoom Tool Navigate Tool Remove Texture Tool Sample Texture Tool Apply Texture Tool...
  • Page 224 APPENDIX B Player Navigation Keyboard Shortcuts Command Shortcut Move forward Up arrow Move backward Down arrow Turn to right Right arrow Turn to left Left arrow Move upward Shift+up arrow Move downward (with Gravity disabled) Shift+down arrow Tilt view upward Ctrl+up arrow Tilt view downward Ctrl+down arrow...
  • Page 225: Appendix C: Resource Libraries

    ADOBE ATMOSPHERE User Guide Appendix C: Resource Libraries Atmosphere ships with several libraries of preset objects including Textures, Objects, Scripts, and Sounds. They can be located in the Atmosphere\Extras folder in the location you installed the application.
  • Page 226: Textures - Set 1

    APPENDIX C Textures – Set 1...
  • Page 227 ADOBE ATMOSPHERE User Guide...
  • Page 228 APPENDIX C...
  • Page 229 ADOBE ATMOSPHERE User Guide...
  • Page 230 APPENDIX C...
  • Page 231 ADOBE ATMOSPHERE User Guide...
  • Page 232 APPENDIX C...
  • Page 233 ADOBE ATMOSPHERE User Guide...
  • Page 234 APPENDIX C...
  • Page 235: Textures - Set 2

    ADOBE ATMOSPHERE User Guide Textures – Set 2...
  • Page 236 APPENDIX C...
  • Page 237 ADOBE ATMOSPHERE User Guide...
  • Page 238 APPENDIX C...
  • Page 239: Objects - Set 1

    ADOBE ATMOSPHERE User Guide Objects – Set 1...
  • Page 240 APPENDIX C...
  • Page 241: Objects - Set 2

    ADOBE ATMOSPHERE User Guide Objects – Set 2...
  • Page 242 APPENDIX C...
  • Page 243: Objects - Set 3

    ADOBE ATMOSPHERE User Guide Objects – Set 3...
  • Page 244: Scripts - Set 1 - Basic

    ‘fog’ is a global effect for an Atmosphere world. Simply placing this script into your world will cause a fog effect to be present. The various aspects of the fog can be set by adjusting the properties present in the Inspector palette.
  • Page 245: Scripts - Set 2 - Intermediate

    ADOBE ATMOSPHERE User Guide Scripts - Set 2 - Intermediate Name Description angularDashpot When you publish the world and it is viewed in the Player, the script will cause the target solid object to attempt to maintain it’s rotational relationship to the reference object by applying a torque in opposition to movement.
  • Page 246: Scripts - Set 3 - Advanced

    APPENDIX C pointToPointConstraint This script sets up a point to point constraint between the target object and the reference object. The script will create a physical model for the target object, so make sure you don’t use the target object with another script that wants to do so. The script also needs the reference object to have a physical model, however it won’t make one for it.
  • Page 247: Appendix D: Javascript Api Overview

    “tree”. The user interface hierarchy is also introduced. Information is provided on how to enable scene objects to be controlled by the physics engine present in Atmosphere. It concludes with a discussion of script execution order, and how to update objects using periodic callbacks.
  • Page 248 API, there are properties on objects that give the “world space position” directly for an object independent of where it is in the scene hierarchy. By default in the Atmosphere application, all objects are attached to parent.
  • Page 249 A solid object is a scene element that contains a hierarchy of primitives that include boxes, cones, walls, fl oors, anchor points, entry points and groups that contain other primitives. In the Atmosphere application the primitives may be edited and moved relative to each other. In the Player application, the primitives will have been combined together into a single fi...
  • Page 250: Physical Simulation

    These include the state of keys in the keyboard and the mouse button. The application also has an array of “view” objects, one for each window into the current 3-D world. (In this version of Atmosphere there is only one such view.) The application also has some control over the chat window and can send JavaScript commands to...
  • Page 251 The user interface for the Adobe Atmosphere Player application includes check boxes for “Collisions” and “Gravity”. Note that these settings actually only control whether the “Actor” experiences gravity and collisions. To enable gravity for a physical model, the physical model must have its vertical acceleration set to a Vector (such as Vector( 0, -32, 0 ) for Earths’...
  • Page 252: Javascript Interpreter Information

    JavaScript API that appears in these documents. Scope As you browse worlds using the Adobe Atmosphere Player, a separate instance of the interpreter is created for each world that you visit. Additionally, any loaded scene groups or avatars that have JavaScripts attached to them will also have their own separate interpreter.
  • Page 253: Script Context

    “addAnimator” function. Many of the Preset scripts included with Atmosphere initiate a timestep which tests to see if the target object is loaded prior to performing any action on it. See the code in these scripts for an example of best practices on testing whether something is loaded.
  • Page 254 APPENDIX D...
  • Page 255: Appendix E: Javascript Api

    Appendix E: JavaScript API JavaScript API Features With the latest version of the Adobe® Atmosphere™ Player, the JavaScript API has been expanded to over 800 Properties, Methods, and Callbacks. This large library is intended to provide developers with access to nearly every aspect of the Atmosphere Player 3D stage, as well as it’s supporting web page.
  • Page 256 APPENDIX E else if (context == RemoteAvatarContext) chat.print(“This is a REMOTE avatar script.”); else chat.print(“This is not an avatar script.”); localAvatarContext the value of the ‘context’ global in an Avatar script which is running on the client that owns the Avatar. remoteAvatarContext the value of the ‘context’...
  • Page 257 In the Webpage, the Atmosphere Player is loaded using the <object> tag, which also allows for an “id” value in the tag. (If you are using the “AtmosphereInterface.js” provided by Adobe, the “id” value will automatically be assigned to “MetaCtl0”.) Once the page has been processed and Atmosphere is loaded, you may reference the...
  • Page 258 Finally, it is possible to concatenate Webpage variable values into your command string sent to Atmosphere. Once understood, this process is not diffi cult and is very useful to induce Atmosphere actions and changes based upon events in the Webpage.
  • Page 259 ADOBE ATMOSPHERE User Guide * See the examples elsewhere on the Atmosphere website to demonstrate this behavior in more detail. The example can be downloaded and examined or customized for your particular application. // Open the URL in a browser window sendJS(“window.open (‘http://www.adobe.com’, ‘’, ‘’);”);...
  • Page 260: Application

    APPENDIX E the use of the timestep method, follow the “Javascript Workshops” link at the Adobe Atmosphere website. (Please also note that there is a default function present for the timestep(t, deltaT) method in the “worldinit.js” fi le, and it is not recommended that you change this behavior).
  • Page 261 ADOBE ATMOSPHERE User Guide Properties type The type of object, returned as “Application”. // prints “Application” to the chat console chat.print(application.type); controlKeyDown A boolean fl ag that is true when the control key is down. if (application.controlKeyDown) { ... } shiftKeyDown A boolean fl...
  • Page 262: View

    APPENDIX E toolbarVisible Controls the display of the toolbar which appears at the lower edge of the Player area. application.toolbarVisible = false; //turn it off for maximum viewable area Methods getView(index) Returns the View object selected by the value of index. Currently the only valid value for index is 0. view = application.getView(0);...
  • Page 263: Button

    ADOBE ATMOSPHERE User Guide stageModel.getSolidObject(0).rootPrimitive.onClick = function() chat.print(“You clicked down at X-coordinate: “ + view.mouseX); mouseY The Y coordinate of the pixel that the mouse cursor is over in the rendered view. 0 represents the top of the screen, with the value increasing as the cursor goes down the screen.
  • Page 264 APPENDIX E Global Methods Button(label) creates a Button with the specifi ed label (optional). The Button will not be added to the Control Panel until you call add(). takePicture = Button(“Say Cheese”); Toggle(label) creates a Toggle with the specifi ed label (optional). The Toggle will not be added to the Control Panel until you call add().
  • Page 265: Slider

    ADOBE ATMOSPHERE User Guide fogToggle.onClick = function(state) fog.active = state; Slider The Slider module enables a script to add sliders and progress bars to the browser’s Controls panel. Once created, the sliders may be added and removed from the panel (so they may be, for instance, only made visible when they are relevant).
  • Page 266: Printdevice & Object Synchronization

    Object synchronization is accomplished by causing the Atmosphere server to create and maintain shared object names, properties, and values. This information is maintained as long as visitors to a given world are present. Once all...
  • Page 267 User Guide Lastly, successful synchronization requires that a consecutive series of steps be followed for establishing shared object names and their conditions. The Atmosphere website shows an example of this technology, and will aid greatly in creating your own solution.
  • Page 268 APPENDIX E chat.onConnect = function() chat.createSharedObject(“myGlobe”); getSharedProperty(str objectName, str propertyName) This method is a local check of the property value; it does not communicate with the server chat.getSharedProperty(“myGlobe”,”isSpinning”); requestSharedProperty(str objectName, str propertyName) Notice that only a “request” method exists; there is no method to “create” a shared property. This prevents new visitors from forcibly (accidentally) resetting the value of the shared property when they arrive.
  • Page 269: Math

    ADOBE ATMOSPHERE User Guide fi lterOutput(textOutput) This method is used by your Remote Avatar, which is running on someone else’s computer. When you type a message into your chat line and press Enter, the message is sent to the server, and the server in turn sends the message to all the visitors in the world (including you, the original sender).
  • Page 270 An example of this approach can be seen in the ‘rotateContinous’ preset script included with the Atmosphere application. Lastly, ‘rotation’ measured for objects in an Atmosphere scene are in the units of Radians (where a complete circle = pi * 2).
  • Page 271: Transform

    ADOBE ATMOSPHERE User Guide Methods blend(b, fraction) Returns a rotation that is the interpolation between a and b according to the specifi ed fraction (0..1) // 10% of the way from a to b c = a.blend(b, .1); map(vec) Returns a Vector that results from rotating ‘vec’ by this Rotation forward = orientation.map(Vector(0.0, 0.0, -1.0));...
  • Page 272 APPENDIX E • Transform(rotor) - Rotate by the given Rotation • Transform(translateVec, rotor) - a translation of a rotation • Transform(tfm1, tfm2) - tfm1 of tfm2 (apply tfm2, then tfm1) • Transform(trans1, tfm2, rot3, tfm4, ...) - Any number of concatenations are allowed. In this manner, multiple iterations of transforms are not in absolute coordinates, but are added relatively •...
  • Page 273: Vector

    ADOBE ATMOSPHERE User Guide approach: box.transform = Transform(newTransform.toString()) newTransform = currentTransform.toString() Vector Vectors specify geometric x, y, z offsets. Most objects use Vectors to specify their location (relative to the origin <0, 0, 0>). Many methods are provided for combining and manipulating Vectors without the need to refer to the x, y, z components directly.
  • Page 274 APPENDIX E if (a.subtract(b).length < minDistance) { ... } negated The negative (opposite direction) of the vector. b = a.negated; normalized The normalized (length == 1) version of the vector. b = a.normalized; Methods add(B) Returns the sum of this Vector with Vector B position = position.add(moveVec);...
  • Page 275: Effects

    ADOBE ATMOSPHERE User Guide lengths of both A and B. The direction of C can be determined by the “right hand rule”: curl the fi ngers of your right hand in the direction from A to B, then your thumb points in the direction of C.) upVec = rightVec.cross(forwardVec);...
  • Page 276: Glare

    APPENDIX E fog.active = true; color The color Vector of the fog. // Bluish fog fog.color = [.8, .8, 1]; dropOff The fog drop-off style (0=hard; 1=linear; 2=1/Z-squared). // Linear style fog.dropOff = 1; The distance at which objects are completely obscured by the fog. fog.far = 100;...
  • Page 277: Sound

    Presently, the fi le formats supported for sound are: WAV, MP3, and CEL) When you use a script to specify a sound fi le, the Atmosphere application will keep track of the fi les for you. During ‘publish’...
  • Page 278 APPENDIX E Properties active Is the sound playing? // Pause the wind windSound.active = false; The distance beyond which the sound will not be audible. windSound.far = 50.; near The distance within which the sound will always be at maximum value. For each additional multiple of minDistance, the sound loudness will decrease by half.
  • Page 279: Event Handlers

    ADOBE ATMOSPHERE User Guide windSound.stop(); Event Handlers CollisionEventHandler A CollisionEventHandler is an object that can be used to specify what happens when two or more physical objects collide with each other. Numerous CollisionEventHandler’s can be created, each specifying results for a limited scope of events, set by the fi...
  • Page 280: Keyeventhandler

    ‘setFilterOnKeyUp()’ will cause a response only when a key is released. The ‘setFilterEvent()’ method will respond to all key events. When a key event occurs, Atmosphere searches the list of user created KeyEventHandlers(with their Filtering Methods) to determine if the ‘.OnEvent(keyEvent)’ callback should be triggered. If triggered, the ‘event’ object which is returned possesses numerous properties about the key event.
  • Page 281 ADOBE ATMOSPHERE User Guide Local Callbacks onEvent(keyEvent) A method which defi nes what will happen when a key event occurs. A ‘KeyEvent’ object is returned which possesses the key code for the key pressed, as well as several other properties.
  • Page 282: Keyevent

    APPENDIX E myEventHandler = KeyEventHandler(); myEventHandler.setFilterOnKeyUp(); myEventHandler.onEvent = function(keyEvent) chat.print(“Key up key code = “ + keyEvent.keyCode); KeyEvent A KeyEvent is not an object that you can modify. Rather, it is an object that is returned in the “KeyEventHandler. onEvent(KeyEvent, what)” callback. When you create a new KeyEventHandler(), you assign a fi...
  • Page 283 Internet Explorer®, the response by Atmosphere will more easily understood. It should be noted that both Atmosphere and Internet Explorer® have a limitation when returning key codes: upper and lower case are not differentiated. Therefore, the key code returned for any key will be the same regardless of whether the shift key is also held down.
  • Page 284: Mouseeventhandler

    The Filtering Methods are also used to specify or limit the scope of world objects which will trigger the MouseEventHandler response. When a mouse event occurs, Atmosphere searches the list of user created MouseEventHandlers(with their Filtering Methods) to determine if the ‘.OnEvent(event, what)’ callback should be triggered. If triggered, the ‘event’ object which is returned as the fi...
  • Page 285 ADOBE ATMOSPHERE User Guide myEventHandler.onEvent = function(mouseEvent, what) chat.print(“Object = “ + what); dump(mouseEvent); If the above onEvent function is called as shown, a ‘dump’ of the mouseEvent will return the following properties, which can in turn be used to control other logic for the event:...
  • Page 286: Mouseevent

    ‘undefi ned’ . myEventHandler.setFilterEvent(); Copyright ©2002 Adobe Systems Incorporated. All rights reserved. MouseEvent A MouseEvent is not an object that you can modify. Rather, it is an object that is returned as the fi rst argument of the “MouseEventHandler.onEvent(mouseEvent, what)”...
  • Page 287: Overlapeventhandler

    ADOBE ATMOSPHERE User Guide Local Callbacks onEvent(mouseEvent, what) A method which defi nes what will happen when the mouse event occurs. An event object is returned which possesses numerous properties, and the object under the mouse is returned as the second argument.
  • Page 288 APPENDIX E buildingOverlap = OverlapEventHandler(); Local Callbacks onEnter(PhysicalModelA, PhysicalModelB) A method which defi nes what will happen when an overlap initially occurs. The two physical models involved in the overlap are also returned. These values can be tested for parent or type, and customized actions performed based upon the results.
  • Page 289: Scene Objects

    ADOBE ATMOSPHERE User Guide Copyright ©2002 Adobe Systems Incorporated. All rights reserved. Scene Objects Actor The Actor module is used to represent the user of the application as they navigate the 3-D world. It has a position and orientation that is changed as the user moves. It corresponds the position of the user’s avatar as seen by other people (and by the user in third person view).
  • Page 290 APPENDIX E chat.print(“Current avatar = “ + theActor.avatarURL); showAvatar A fl ag that determines whether the avatar is rendered. // Hide the avatar theActor.showAvatar = false; position the position as a Vector object theActor.position = Vector(10, 5, -25); transform the Transform representing the combined position and orientation. theActor.transform = entryPoint.transform;...
  • Page 291 ADOBE ATMOSPHERE User Guide pitchAngle = theActor.headPitch; velocity the Actor’s velocity Vector in the World coordinate frame theActor.velocity = Vector(0, 10, 10); // Jump up and forward acceleration An acceleration vector which is applied to the Actor. // Apply an acceleration in the X direction (continuous).
  • Page 292 APPENDIX E verticalSpeed the Actor’s vertical velocity, facing the Actor’s current direction for this rendered frame theActor.verticalSpeed += 20; // Jump straight up enableVerticalThrusters If enableVerticalThrusters is set to true, then holding down the shift key while using the up-arrow key reverses the direction of gravity.
  • Page 293 ADOBE ATMOSPHERE User Guide forcedGravitySetting If ignoreGravityPreference is set to true, the value of forcedGravitySetting determines whether gravity is enabled // To force gravity to be on, // independent of the control panel setting: theActor.ignoreGravityPreference = true; theActor.forcedGravitySetting = true;...
  • Page 294 APPENDIX E keyUpDownTurnsEnabled A fl ag that determines whether to use the built in navigation scheme for ctrl+up-arrow or ctrl down-arrow. // We wish to prevent such motion theActor.keyUpDownTurnsEnabled = false; mouseLeftRightMovesEnabled A fl ag that determines whether to use the built in navigation scheme for shift+left-arrow or shift right-arrow. // We wish to prevent such motion theActor.mouseLeftRightMovesEnabled = false;...
  • Page 295 ADOBE ATMOSPHERE User Guide frog.jumpAwayFrom(theActor.position); moveTo(Vector position) This method schedules an update to the position property using a smooth interpolation over the next time step period. This smooth kinematic motion is more stable when other objects collide with the current object. By the next time step the velocity and acceleration will be set to zero.
  • Page 296 APPENDIX E // Places the camera six feet behind the actor offset = Vector(0.0, 0.0, 6.0); bodyRelativeOffset = theActor.getHeadOrientation().map(offset); camera.position = theActor.position.add(bodyRelativeOffset); camera.orientation = theActor.getHeadOrientation(); setPosition(Vector or x,y,z) Places the eye position of the actor at the specifi ed position, giving no consideration to collisions with other objects.
  • Page 297: Anchor

    ADOBE ATMOSPHERE User Guide theActor.getSolidObject(i).useDynamicLighting = true; getSolidObject(index) Returns the SolidObject at the given index that is contained by the actor’s SceneGroup. //print actor height compared to the world currentHeight = ( theActor.getSolidObject(0).position[1] - stageModel.getSolidObject(0).position[1] ); chat.print(“Your avatar is currently this high: “ + currentHeight);...
  • Page 298: Camera

    APPENDIX E if (myObject.loaded) { ... } parent A reference to the parent SceneGroup containing the object myParent = myObject.parent; position The position of the object as a Vector. // set the position of the object to a known anchor myObject.position = myAnchor3.position;...
  • Page 299 ADOBE ATMOSPHERE User Guide Functions are also supplied for converting pixel coordinates to rays, to ease the creation of ray-test queries. Finally, the 2D center of projection may be shifted relative to the image plane for special effects and unusual projections.
  • Page 300 APPENDIX E lockToActor When true the camera’s position and orientation are copied from the actor’s position and head orientation every time step. // Make the camera track the actor’s position // and head orientation camera = application.getView(0).getCamera(0); camera.lockToActor = true; preferenceShowMyAvatar Returns the current state of the checkbox in the Actor preferences “Show My Avatar”, as well as the toggle on the toolbar.
  • Page 301 ADOBE ATMOSPHERE User Guide camera = application.getView(0).getCamera(0); // Find ray direction for pixel 20, 40 direction = camera.getRayDirectionFromPixelCoords(20, 40); setOffsetsFromRayDirectionAndPixelCoords(Vector rayDirection, x, y) Changes the xOffset and yOffset so that the given ray direction and pixel coordinates correspond in the image plane.
  • Page 302: Entrypoint

    Identifying the EntryPoint in JavaScript might be useful if you desire to return the visitor to the starting location for any given reason. Multiple entrypoints can be created and used when specifying the URL of the Atmosphere world in your webpage, and are referenced by appending the pound sign followed by the Entrypoint name (example: “./ myFileName.aer#entryPosition2”.
  • Page 303: Physicalmodel

    ADOBE ATMOSPHERE User Guide position The position of the object as a Vector. // set the position of the object to a known anchor myObject.position = myAnchor3.position; orientation The rotational orientation of the object (as a Rotation). // set the orientation of the object to a known anchor myObject.orientation = myAnchor3.orientation;...
  • Page 304 PhysicalModel, in world space coordinates (as a Rotation). Note that Atmosphere uses the units of Radians for rotations (where a full circle = pi * 2). myPhysicalModelCreatorObject.worldSpaceOrientation = myAnchor3.worldSpaceOrientation;...
  • Page 305 ‘active’ property to ‘true’ in case the object has come to rest. (For more information, see the overview at the top of page.) Atmosphere angularVelocity is in the scale of Radians per second.
  • Page 306 APPENDIX E This unnecessary settling can be eliminated by setting the “active” state to “false”. The objects will automatically resume physics behavior at the next collision with another object, and this fl ag will automatically be returned to “true”. This property should also be set to ‘true’ prior to specifying an acceleration or velocity of an object, since an object at rest may be in a ‘deactivated’...
  • Page 307 ADOBE ATMOSPHERE User Guide friction The coeffi cient of friction for the physical model. Higher values of friction allow physical models to sit on slopes without sliding. Typical values are in the range of 0.0 to 1.0, although higher values are allowed - negative values are not.
  • Page 308 APPENDIX E // Make the box spin when it is clicked on box.physicalModel.applyAngularImpulse(Vector(1,0,0)); removeAnimator(this); addAnimator(box); applyImpulse(Vector impulse, Vector position) This function increments the linear momentum of the physical model by a specifi ed amount, and also updates the angular momentum, in a way that is consistent with the impulse being applied to a given position within the physical model.
  • Page 309 ADOBE ATMOSPHERE User Guide removeAnimator(this); addAnimator(box); applyImpulseToCenterOfMass(Vector impulse) This function increments the linear momentum of the physical model by a specifi ed amount, and also updates the angular momentum, in a way that is consistent with the impulse being applied to a given position within the physical model.
  • Page 310 APPENDIX E loader = new Object(); loader.timestep = function() if(box1.loaded && box2.loaded) box1.physicalModel = this.createPhysicalModel(2); box2.physicalModel = this.createPhysicalModel(5); box1.physicalModel.disableCollisionsWith(box2.physicalModel); removeAnimator(this); addAnimator(loader); enableCollisionsWith(PhysicalModel) This function undoes the effect of disableCollisionsWith(physicalModel). It removes the pair of collisions that are currently being ignored from the list, so that collisions between these two objects will no longer be ignored. box1.physicalModel.enableCollisionsWith(box2.physicalModel);...
  • Page 311 Physical Model (apart from using constraints or the collision with another object) is to use the ‘ApplyImpulse()’ methods. Note that rotations in Atmosphere are in the units of Radians (a full circle = pi * 2).
  • Page 312 = box1.physicalModel.getParent(); Portal The Portal scene element is used to automatically ‘transport’ your visitor to another Atmosphere world (or different entrypoint in the current world) when they overlap the Portal area. The Portal is identifi ed by three vertical square planes which are rotating and circling about the overlap area (the planes are colored red, blue, green).
  • Page 313 // set the worldSpaceTransform of the object to a known anchor myObject.worldSpaceTransform = myAnchor3.worldSpaceTransform; A new URL for the portal object, which may be any valid URL (relative or absolute) and which may also include an alternate Atmosphere entrypoint (see details on EntryPoints elsewhere in these documents).
  • Page 314: Referencepoint

    ReferencePoint The ReferencePoint scene element is similar in use the Anchor object. Since all Atmosphere worlds contain at least one ReferencePoint, it may be a useful way to specify a common location as you design your worlds. (Note that the primary usage for ReferencePoint is found in the Atmosphere authoring application, where it is used to specify the placement of any new objects or primitives during construction.
  • Page 315: Scenegroup

    “attachedToParentModel”. When the value of this fl ag is changed, the position coordinates are updated to maintain the same location in world space. Any Atmosphere world saved from the Builder may be loaded as a SceneGroup. Avatars are also examples of SceneGroups.
  • Page 316 SceneGroup(url) The SceneGroup constructor, it loads an Atmosphere world fi le from the given URL and returns it as an object. Just like Web links, SceneGroup URLs can be either relative or absolute. Note that the SceneGroup is not visible (rendered) until you use the local add() method shown below.
  • Page 317 ADOBE ATMOSPHERE User Guide if (!box.loaded) { return; } chat.print(“The box is loaded now.”); removeAnimator(this) addAnimator(box); parent A reference to the parent SceneGroup containing the object myParent = myObject.parent; orientation The rotational orientation of the SceneGroup (as a Rotation). // Rotate the arrow to have the same orientation as the player arrow = SceneGroup(“./arrow.aer”);...
  • Page 318 APPENDIX E worldSpaceTransform The worldSpaceTransform is the combined worldSpacePosition and worldSpaceOrientation of the object. // set the worldSpaceTransform of the object to a known anchor myObject.worldSpaceTransform = myAnchor3.worldSpaceTransform; bounds The min and max extent of the SceneGroup in local coordinates, relative to the SceneGroup’s Eye position and orientation, expressed as an array of two Vectors [min, max].
  • Page 319 ADOBE ATMOSPHERE User Guide Methods add() Adds the SceneGroup to the top-level World. Returns a reference to the SceneGroup as a convenience. // Load the spider and add it to the world spider = SceneGroup(“./spider.aer”).add(); addTo(parent) Adds the SceneGroup as a child to the specifi ed SceneGroup. Returns the SceneGroup as a convenience.
  • Page 320 APPENDIX E mapLocalPositionToWorldPosition(Vector) Given a position Vector in local coordinates returns the corresponding position Vector in world-relative coordinates. // Find the local space position of the wheel axle in the SceneGroup anchor = car.getPrimitive(“wheel1”); desiredOffset = anchor.position; // Place the wheel SceneGroup in world space wheel.position = car.mapLocalPositionToWorldPosition(desiredOffset);...
  • Page 321 ADOBE ATMOSPHERE User Guide getSolidObjectCount() Returns the number of SolidObjects in the given SceneGroup. chat.print(“There are “ + stage.solidObjectCount() + “ SolidObject(s) in the scene.”); getSurfaceObject(index or name) Returns the corresponding SurfaceObject at the given index or name that is contained by the SceneGroup.
  • Page 322 APPENDIX E if (this.loaded) physicalModel = this.createPhysicalModel(10); removeAnimator(this); addAnimator(box); createConvexPhysicalModel(mass, inertiaScale) Same as the method createPhysicalModel, though in this version the function, the physical model uses the convex hull of the SceneGroup, which allows collisions to be much more effi ciently computed by the physics engine.
  • Page 323 ADOBE ATMOSPHERE User Guide // Calculates the distance to the object // clicked on by the mouse distance = theStage.rayIntersectionDistance(rayOrigin, rayDir); rayIntersectionNormal(Vector rayOrigin, Vector rayDirection) Given an origin and direction shoots a ray and returns the normal vector of the surface the ray intersects.
  • Page 324: Script

    Script to specify an axis of rotation. A very powerful new aspect of Atmosphere JavaScripts is the ability to divide the script into two sections; a top section which is processed when the script is loaded in the Authoring Application, and a bottom section which is processed when the script is run in the Atmosphere Player.
  • Page 325 When the “.aer” published fi le is opened in the Atmosphere Player, the rest of the script is read and processed (again, the top section is ignored). In this bottom section, the script designer retrieves the custom user values using the “get CustomPropertyValue(name)”...
  • Page 326 APPENDIX E parent A reference to the parent SceneGroup containing the object myParent = myObject.parent; position The position of the object as a Vector. // set the position of the object to a known anchor myObject.position = myAnchor3.position; orientation The rotational orientation of the object (as a Rotation). // set the orientation of the object to a known anchor myObject.orientation = myAnchor3.orientation;...
  • Page 327: Solidobject

    ADOBE ATMOSPHERE User Guide “object”, //type - see the Inspector Palette drop down menu //for property types available. “target”, //name - specify a unique name for each property. null, //value - the default value you would like to assign. false, //referenced - whether or not this property will be visible //in the Scene Hierarchy palette.
  • Page 328 APPENDIX E and position. Primitives may be accessed via the root primitive, which is the top of the tree of primitives for the solid object. Objects within this tree may be accessed using the fi nd method of Primitive. By default, a solid object will be rendered using the light map computed in the Builder to modulate the surface texture, if present.
  • Page 329 ADOBE ATMOSPHERE User Guide theStage.getSolidObject(0).rootPrimitive.onClick = function() chat.print(“You clicked the fi rst SolidObject.”); position The position as a Vector. mySceneGroup.position = Vector (10, 5, -25); orientation The rotational orientation of the SceneGroup (as a Rotation). // Rotate incrementally (10%) toward the player’s orientation // (see the “Rotation”...
  • Page 330 APPENDIX E // Make the spider’s feet just touch the fl oor spider.y = fl oorHeight-spider.bounds[0].y; opacity The percentage value of opaqueness of the SolidObject. Valid values range from 0 to 1. (0.0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0) // A ghost spider spider.opacity = .5;...
  • Page 331 ADOBE ATMOSPHERE User Guide diffuseColor A Vector representing the color to modulate the light coming from Distant Light sources. Default is Vector(1, 1, sphere = SceneGroup (“./sphere.aer”); solidObject = spheres[i].getSolidObject(0); solidObject.diffuseColor = Vector (1, 1, .98); lightMapBrightness The scale value that modulates the brightness of the object’s light map. Default is 0.25.
  • Page 332 APPENDIX E solidObject.receiveShadows = true; Methods createPhysicalModel(mass, inertiaScale) A function that takes the current SolidObject geometry and creates a physical model with the given mass. Once created, the physical model will modify the tranform of the SolidObject object as it experiences external forces, collisions and constraints.
  • Page 333: Surfaceobject

    A SurfaceObject is generated when a “Viewpoint” object is imported, and then “Convert to Surface” is selected from the Object menu in the Atmosphere authoring application. Converting a Viewpoint object to a SurfaceObject is useful in that the object can now recieve it’s lighting from the Atmoshpere lighting process (direction, brightness, etc.).
  • Page 334 APPENDIX E loaded Returns true once the object has fi nished loading. if (myObject.loaded) { ... } parent A reference to the SceneGroup containing the SurfaceObject objectParent = SurfaceObject.parent; attachedToParent A fl ag that is set to true when a SurfaceObject is attached to a SceneGroup using the addTo() method. A SurfaceObject that is attached to it’s parent will be transformed with the parent.
  • Page 335 ADOBE ATMOSPHERE User Guide SurfaceObject.n = 0; SurfaceObject.timestep = function() this.transform = entryPoint1.transform.blend(entryPoint2.transform, this.n++/100); addAnimator(SurfaceObject); worldSpacePosition The worldSpacePosition of the object as a Vector. // set the worldSpacePosition of the object to a known anchor myObject.worldSpacePosition = myAnchor3.worldSpacePosition; worldSpaceOrientation The worldSpaceOrientation of the object (as a Rotation).
  • Page 336 APPENDIX E receiveShadows A boolean value that specifi es whether this object will receive shadows. This property requires that dynamic lighting is enabled for the scene, and that the property ‘useDynamicLighting’ is set to ‘true’ . SurfaceObject.receiveShadows = true; visible A boolean fl...
  • Page 337: Viewpointobject

    ViewpointObject A ViewpointObject is a SceneGroup which is imported into the Atmosphere Builder from an MTX fi le (and optional associated MTS fi le). It contains a reference to the full MTSScene which is described in both the MTX and MTS fi les (if present).
  • Page 338 Note that within a Viewpoint scene, the ‘Z’ coordinate is reversed for position. Therefore, if a Viewpoint scene contains multiple instances, moving those instances relative to each other will require using an inverted Z value as compared to the normal Atmosphere coordinate system. Properties type Returns the string ‘ViewpointObject’...
  • Page 339 ADOBE ATMOSPHERE User Guide attachedToParent Specifi ed whether the Viewpoint object is attached to the parent SceneGroup. If the parent SceneGroup also contains a physical model, setting this fl ag to false will also remove the physical model of the Viewpoint object, and it will become as separate object.
  • Page 340 APPENDIX E useDynamicLighting A fl ag specifying whether dynamic lighting should be enabled for this Viewpoint object. viewpointObject.useDynamicLighting = true; visible A fl ag specifying whether the Viewpoint object should be rendered in the scene. viewpointObject.visible = false; Methods createPhysicalModel(mass, inertiaScale) A function that takes the current Viewpoint geometry and creates a physical model with the given mass.Once created, the physical model will modify the tranform of the Viewpoint object as it experiences external forces, collisions and constraints.
  • Page 341 ADOBE ATMOSPHERE User Guide more stable by scaling up the moments of inertia of the physical models that they affect. Once created, the physical model will modfy the tranform of the Viewpoint object as it experiences external forces, collisions and constraints.
  • Page 342: Solid Object Structure

    APPENDIX E chat.print(“You clicked on the box’s lid!”); else chat.print(“You clicked on the box!”); onMouseOver() This function is called when the cursor fi rst hovers over the Viewpoint object. viewpointObject.onMouseOver = function() // get the object’s border theBorder = viewpointObject.scene.getMaterial(“border”) // set the border’s color to white theBorder.diffuseColor = [ 1.0, 1.0, 1.0 ];...
  • Page 343 ADOBE ATMOSPHERE User Guide objectFaceNo The face number of the primitive. This value is read-only. lightMapOrigin The origin of the face’s light map as a Vector. This value is read-only. lightMapUTangent The tangent to the light map’s U-axis as a Vector. This value is read-only.
  • Page 344: Primitive

    APPENDIX E addAnimator(loader); Primitive A Primitive is a module used to represent a Builder group, anchor, entrypoint or geometric primitive. Every solid object has a rootPrimitive which is the top level group from the Builder fi le for that solid object. (Currently there is only one solid object per SceneGroup.) This root primitive may be searched by name to fi...
  • Page 345 ADOBE ATMOSPHERE User Guide box = SceneGroup(“./box.aer”); box.orientation = anchor.orientation; position The position (or min of bounds) of the Primitive in the world, expressed as a Vector. anchor = stageModel.getPrimitive(“anchorPoint”); box = SceneGroup(“./box.aer”); box.position = anchor.position; transform The Transform of the Primitive representing the combined position and orientation. Presently this only applies to Entrypoints and Anchors.
  • Page 346 APPENDIX E volume = (max.x - min.x) * (max.y - min.y) * (max.z - min.z); chat.print(“Primitive’s bounding-box volume is “ + volume); children An array of Primitives that are children to the given Primitive in the Builder object hierarcy. If children is undefi...
  • Page 347 ADOBE ATMOSPHERE User Guide getFace(index) Returns the Face of the Primitive at the given index. billboard = stageModel.getPrimitive(“Box”); theFace = billboard.getFace(2); getFaceCount() Returns the number of Faces the Primitive has. billboard = stageModel.getPrimitive(“Box”); numFaces = billboard.getFaceCount(); chat.print(“The primitive has “ + numFaces + “ face(s)”);...
  • Page 348: Materials

    APPENDIX E Materials SurfaceTexture A SurfaceTexture is a module used to represent the mapping between a texture image and a surface. It contains a reference to a Texture module, that contains the image, along with parameters that control the location, size and rotation angle of the texture relative to the surface.
  • Page 349: Texture

    ADOBE ATMOSPHERE User Guide Methods getTexture() Returns the Texture object attached to the surface. Code Sample box = SceneGroup(“./box.aer”).add(); loader = new Object(); loader.timestep = function() if(box.loaded) aTexture = Texture(); aTexture.URL = “http://www.myDomain.com/myHomePage/grass.gif”; thePrimitive = box.solidObject.rootPrimitive; theFace = thePrimitive.getFace(0); theSurfaceTexture = theFace.getSurfaceTexture();...
  • Page 350 APPENDIX E Global Methods Texture() The Texture constructor function, creates a new texture object. tex = Texture(); Properties type The type of object, returned as “Application”. tex = Texture(); chat.print(tex.type); // prints “Texture” to the chat console cached A boolean fl ag that determines if the image fi le loaded by a Texture object should be cached by the Player application.
  • Page 351: Viewpoint Object Structure

    ADOBE ATMOSPHERE User Guide Viewpoint Object Structure MTSBaseObject These methods are inherited by all Viewpoint objects, and are useful for determining basic information about the object in question. Methods getBaseMetatype() Returns an integer that describes the Viewpoint type of the object’s base class.
  • Page 352: Mtsimagestream

    America Online performs further compression on GIF and JPG images to aid in reducing download time. Atmosphere has the capacity to decompress these fi les. This boolean fl ag specifi es whether the AOL image fi les should be decompressed. (Off by default) VPobject = stageModel.getViewpointObject(“plane1”);...
  • Page 353: Mtsscene

    ADOBE ATMOSPHERE User Guide timeElem.running = false; timeElem.path = “http://www.mydomain.com/newPhoto.jpg”; timeElem.running = true; running Returns or sets the running state of the timeElement. curRunningState = timeElem.running isStreaming Returns the streaming state of the timeElement (is it actively streaming or not).
  • Page 354 APPENDIX E leg = scene.getInstanceFromIndex(0); getInstanceCount() Returns the number of instances in the scene. instanceCount = scene.getInstanceCount(); getRepository() Gets a reference to the scene repository. repository = scene.getRepository(); getTimeElem(index or name) Gets a reference to the specifi ed time element. The argument can either be a string or a numeric index. walkTimeElem = scene.getTimeElem(“Walking”);...
  • Page 355: Mtsgeometry

    ADOBE ATMOSPHERE User Guide MTSGeometry An MTSGeometry object is used to represent a Viewpoint surface. This object also supports the methods and properties of MTSBaseObject. Properties backFaceCull Enables back-face culling during rendering. This will make closed surfaces render more quickly, but may look strange with open surfaces.
  • Page 356 (Note that within a Viewpoint scene, the ‘Z’ coordinate is reversed for position. Therefore, if a Viewpoint scene contains multiple instances, moving those instances relative to each other will require using an inverted Z value as compared to the normal Atmosphere coordinate system.) Properties position / location contains the position for the instance as an array of three values.
  • Page 357 ADOBE ATMOSPHERE User Guide instance.preliteColor = [ 1, 0, 0, ]; //set to red usePreliteColor switches between the default value or the newly defi ned color. instance.usePreliteColor = true; //use newly defi ned color renderLayer controls the order in which layers are rendered.
  • Page 358: Mtstexture

    APPENDIX E MTSTexture An MTSTexture object is used to represent a Viewpoint texture, which may be used by a Viewpoint material to control the appearance of a surface. This object also inherits all the methods of the MTSBaseObject. Properties scaleX Specifi...
  • Page 359: Mtsinstance2D

    MTSInstance2d An MTSInstance2D object is used to represent a Viewpoint text object. The text may be attached to an Atmosphere object in 3D, or may be placed in a fi xed position in the display window. (See the instructions for “dstPin” below.) The geometry object must be fi...
  • Page 360 APPENDIX E bold Apply or remove this font style to the text object. (Default is ‘false’ , or off.) textObj.bold = true; italic Apply or remove this font style to the text object. (Default is ‘false’ , or off.) textObj.italic = true; underline Apply or remove this font style to the text object.
  • Page 361 ADOBE ATMOSPHERE User Guide dstPin For text which is fi xed in the window space(immovable), this property specifi es the distance from the window corner in pixels as an array of two numbers [ X, Y ]. The distance may also be specifi ed as a percentage of the window size using “dstPinRelative = true”...
  • Page 362: Mtsmaterial

    APPENDIX E alwaysVisible Returns whether the text will always be visible in Atmosphere, or will only show during a “MouseOver” event. Note that for this release, changing this property has no effect and should be considered “read only”. It’s also important to note that this attribute must be present in the MTX description fi...
  • Page 363: Mtstimeelem

    ADOBE ATMOSPHERE User Guide opacity Sets the opacity of a material ( 0.0 - 1.0 ) , which allows the underlying geometry to appear transparent. material.opacity = 0.2; //Nearly transparent renderMode Changes the manner in which the Viewpoint scene is rendered. The following settings are most commonly used: renderMode = 1024 (default) renderMode = 7;...
  • Page 364 APPENDIX E // Pause the time element prior to setting the time timeElem.pauseTime = true; time The time used to evaluate the animation when timeElem.pauseTime and timeElem.running are both set to true. // Evaluate the animation at time 1.5 seconds timeElem.time = 1.5;...
  • Page 365: Mtstimeelemswfview

    ADOBE ATMOSPHERE User Guide timeElem.rewind (); trigger() Tells the time element to rewind and start playing. timeElem.trigger (); setSpeed() Sets the speed of the time element and all its children. timeElem.setSpeed (0.5); setPlayOnce() Set the play once fl ag, that if true, tells the time element to play once and then stop.
  • Page 366 APPENDIX E time Moves the SWF movie to the specifi ed time, and renders it. Note that the movie must be paused for this property to have an effect. SWFtimeElem.time = 5; //render the movie at the 5 second mark loop Causes the SWF movie to loop continously from beginning to end when playing.
  • Page 367: Physics

    ADOBE ATMOSPHERE User Guide SWFtimeElem.rewind(); trigger() Rewinds the SWF movie to the beginning and also starts the movie playing. SWFtimeElem.trigger(); setSpeed() Sets the speed of the SWF movie where 1 = 100%. //run the movie at 50% speed SWFtimeElem.setSpeed(0.5); setPlayOnce() Flags the movie to play only one time.
  • Page 368 APPENDIX E • Any physical model involved in a constraint or action should have all of it’s constraints and actions included in the same FastConstraintSolver. • Faster processing may be achieved if unrelated constraints belong to different solvers, such as a hingeConstraint for a door and a wheelConstraint for a vehicle.
  • Page 369 ADOBE ATMOSPHERE User Guide createWheelConstraint(PhysicalModel, PhysicalModel) Creates and returns a new WheelConstraint between the two PhysicalModels. The fi rst PhysicalModel is the chassis, the second is the wheel. solver = FastConstraintSolver(); constraint = solver.createWheelConstraint(frame.physicalModel, wheel.physicalModel); solver.addConstraint(constraint); addConstraint(constraint) Adds the constraint to the Solver for calculation.
  • Page 370 APPENDIX E createDragAction() Creates and returns a new “DragAction”.The action has the effect of slowing down the momentum of objects for both direction and rotation. solver = FastConstraintSolver(); velocityDrag = 1; angularVelocityDrag = 1; dragAction = solverA.createDragAction(velocityDrag, angularVelocityDrag); solverA.addAction(dragAction); createFluidAction() Creates and returns a new “FluidAction”.
  • Page 371: Angulardashpot

    ADOBE ATMOSPHERE User Guide createSimpleRigidWindAction(PhysicalModel, direction, strength) Creates and returns a new “SimpleRigidWindAction”. This action simulates the effect of wind on a single physical model. (Additional wind actions may be created.) direction = Vector( 0, 0, -1.0 ); strength = 3.0;...
  • Page 372: Actions

    APPENDIX E strength The strength or stiffness of the dashpot. angularDashpot.damping = 0.5; Methods setRotation(rotation) Sets the desired resting rotation relative to the fi rst PhysicalModel’s coordinate frame. angularDashpot.setRotation( Rotation(‘Z’, 0.01) ); Code Sample box1 = SceneGroup(“./box.aer”).add(); box2 = SceneGroup(“./box.aer”).add(); loader = new Object();...
  • Page 373: Fluidaction

    ADOBE ATMOSPHERE User Guide It should be noted that for any of the physics based constraints or actions, it is necessary to assign reasonable mass values when creating the physical models so that physics processing does not become unstable (driven out of scope).
  • Page 374: Magneticaction

    APPENDIX E MagneticAction The “MagneticAction” simulates the effect of magnetic attraction or repulsion on physical models. The action is created by a method of the “FastConstraintSolver”, and the source position of the effect is specifi ed as a vector. The effect may be applied to as many SceneGroups as desired using the “addPhysicalModel(modelName)”...
  • Page 375 ADOBE ATMOSPHERE User Guide position = magCenter.position; strength The relative strength of the magnetic force. Positive values result in an attractive force, and negative values apply a repulsive force. Useful range is between -1000 and 1000. magneticAction.strength = 200; Local Methods addPhysicalModel (PhysicalModel) Specifi...
  • Page 376: Motoraction

    = 3; maxTorque The maximum torque available to the motor (torque is a measurement of the rotational force produced by the motor armature). In the Atmosphere application, ‘maxTorque’ acts as a limit to the gain property. motorAction.maxTorque = 3; spinRate The rotational speed desired for the motor (angular velocity).
  • Page 377: Singledragaction

    ADOBE ATMOSPHERE User Guide solverA.addAction(armature.action); removeAnimator(armature); addAnimator(armature); SingleDragAction A Single Drag Action is a subtle force that is applied to a specifi ed dynamic physical model. The effect is that of slowing down the momentum of the object for both direction and rotation. This module differs from Drag Action in that the effect can be limited to one object.
  • Page 378: Simplerigidwindaction

    APPENDIX E cone.singleDragAction = cone.solver.createSingleDragAction( cone.physicalModel, cone.velocityDrag, cone.angularVelocityDrag ); cone.solver.addAction(singleDragAction); removeAnimator(cone); addAnimator(cone); SimpleRigidWindAction As the name implies, a “SimpleRigidWindAction” simulates the effect of wind on a physical model. The wind action is created by a method of the “FastConstraintSolver”. A single SceneGroup is controlled for each wind action, and numerous wind actions can be created.
  • Page 379: Constraints

    ADOBE ATMOSPHERE User Guide sphere.windStrength = 3; sphere.windDirection = Vector( 0.0, 0.0, -1.0 ); sphere.windAction = sphere.solver.createSimpleRigidWindAction(sphere.physicalModel, sphere.windDirection, sphere.windStrength); sphere.solver.addAction(sphere.windAction); removeAnimator(sphere); addAnimator(sphere); Constraints BreakableConstraint A breakable constraint is actually an arbitrator that determines if a given constraint should remain active. The breakable contraint is created by a method of the “FastConstraintSolver”, and is passed a constraint name and values...
  • Page 380: Hingeconstraint

    APPENDIX E loader.timestep = function(now) if (!doorLeft.loaded) { return; } if (!hingeLeft.loaded) { return; } doorLeft.physicalModel = doorLeft.createConvexPhysicalModel(2); doorLeft.physicalModel.collide = true; doorLeft.physicalModel.acceleration = Vector(0.0, -32.0, 0.0); hingeLeft.physicalModel = hingeLeft.createConvexPhysicalModel(0); hingeLeft.physicalModel.fi xed = true; constraint = this.solver.createHingeConstraint(doorLeft.physicalModel, hingeLeft.physicalModel); constraint.setWorldSpacePivotAndAxis(doorLeft.pivot, doorLeft.axis); breakableConstraint = this.solver.createBreakableConstraint(constraint, 50, 50); this.solver.addConstraint(breakableConstraint);...
  • Page 381: Pointtopointconstraint

    ADOBE ATMOSPHERE User Guide Methods setWorldSpacePivotAndAxis(Vector pivot, Vector axis) A point defi ning the location of the constraint, and the hinge axis direction. Code Sample cube = SceneGroup(“./cube.aer”).add(); star = SceneGroup(“./star.aer”).add(); loader = new Object(); loader.timestep = function() if (cube.loaded && star.loaded) cube.physicalModel = cube.createPhysicalModel(1);...
  • Page 382: Prismaticconstraint

    APPENDIX E The time constant for the constraint, similar to damping. Methods setWorldSpacePivotPoint(Vector pivot) The point in world space that defi nes the location of the constraint. Code Sample cube = SceneGroup(“./cube.aer”).add(); star = SceneGroup(“./star.aer”).add(); loader = new Object(); loader.timestep = function() if (cube.loaded &&...
  • Page 383: Stiffspringconstraint

    ADOBE ATMOSPHERE User Guide Properties The time constant for the constraint, similar to damping. strength The strength or stiffness of the constraint. relativeOrientation The orientation of the axis of constraint relative to the fi rst PhysicalModel. relativeTranslation The translation of the axis of constraint relative to the fi rst PhysicalModel.
  • Page 384 APPENDIX E It should be noted that for any of the physics based constraints or actions, it is necessary to assignreasonable mass values when creating the physical models so that physics processing does not become unstable(driven out of scope). The guidelines for mass and inertia are decribed in the methodcreatePhysicalModel(). Properties length The resting length of the spring.
  • Page 385: Wheelconstraint

    ADOBE ATMOSPHERE User Guide solver.addConstraint(constraint); removeAnimator(this); addAnimator(loader); WheelConstraint A wheel constraint simulates the effects of a wheel being held by a stiff suspension along with a motor to apply torque to the wheels. There are functions to control the preferred speed of the wheels as well as the desired steering angle of the wheel.
  • Page 386 APPENDIX E constraint = solver.createWheelConstraint(frame.physicalModel, wheel.physicalModel); constraint.strength = 1.0; constraint.tau = 1.0; speed = 2.0; maxTorque = 5.0; constraint.setMotorSpeedAndMaxTorque(speed, maxTorque); setSteeringAngle(45); pivot = Vector (0, 0, 0); axle = Vector (1, 0, 0) suspension = Vector(0, 1, 0); constraint.setWorldSpacePivotAxleAndSuspension(pivot, axle, suspension) solver.addConstraint(constraint);...
  • Page 387 ADOBE ATMOSPHERE User Guide...
  • Page 390 Adobe Atmosphere ® ™ Adobe Systems Incoporated 345 Park Avenue, San Jose, CA 95110-2704 USA www.adobe.com 90047303 11/03...

Table of Contents