From: owner-3dui@hitl.washington.edu on behalf of Drew Kessler [dkessler@eecs.lehigh.edu] Sent: Monday, August 21, 2000 4:35 PM To: 3d-ui@hitl.washington.edu Subject: Re: Topic: dynamically creating (copies of) objects On Thursday, August 10, 2000, Jeff Pierce wrote: ... > Topic > ----- > How to take advantage of the ability of computers to dynamically create new > objects and copy existing objects Jeff, Interesting topic. I think this is an approach to thinking about new interaction methods that will be fruitful. Here are some brief thoughts: ... > (5) Problem: Rendering N views of an object effectively divides the maximum > frame rate by 1/N. > > Technique: Instead the system could create N copies of the object, and > arrange the copies in front of the user to provide different views. These > copies could also provide different constraints for manipulating the > object. For example, a top down view of the object could be constrained to > move the original left/right and forward/back in the scene. Instead of > activating different constraints on the same object, the user would then > just choose which constrained copy to pick up. Sorry, Jeff, but you lost me here. Can you explain this idea further? ... > (7) Problem: Most systems for multi-user worlds unnecessarily restrict > operations on objects so that only one user can be working with an object > at a time. However, in a virtual world there is no reason that one user > couldn't be painting an object while another user is repositioning it. > > Technique: Create copies of an object on demand so that multiple users can > work with it, and lock the object by operation (e.g. painting, positioning, > manipulating limb positions, etc). This is a great idea... I can say so because it has come up a few times :) See, for example: Brook Conner and Loring Holden, "Providing a low latency user experience in a high latency application." Proceedings of the 1997 symposium on Interactive 3D graphics, April 27 - 30, 1997, Providence, RI USA. Un-Jae Sung; Jae-Heon Yang; Kwang-Yun Wohn, "Concurrency control in CIAO," Virtual Reality, 1999. Proceedings., IEEE , 1999 ... > (6) Problem: Techniques for transporting objects (e.g. Fix and Float, Cut > and Paste, Toolspaces and Glances) require that users determine in advance > which objects they will need in another location (a task we aren't always > very good at). > > Technique: The system could create a copy of any object that we ever walk > within 20 meters of. We could then access those copies later to retrieve > an object we realize later we need. If the system preserves the spatial > arrangement of these copies, they could also provide a means of returning > to previously visited locations (a la flying into the WIM). > ... > > (8) Problem: Precise placement is difficult and time consuming in virtual > worlds. Approaches like gridding may unnecessarily restrict the locations > where users can place objects. > > Technique: While the user is moving an object the system can attempt to > infer potential resting places and create copies at those locations. The > user can drop the the object and touch a copy to cause the placement. This > allows the system to suggest possible placements rather than enforcing a > particular one. I've grouped these because, although they are good ideas, I think they demonstrate the down-side of using object copies: having to select a particular copy in a sea of copies. I would be particularly concerned about the reverse-crumb-dropping technique (7 above): rather than dropping crumbs to remember a path, "picking up" landmark copies to have a hook to get back to a place. The key to this technique would be organizing the copies so that the user can select the one desired, and have the right object to location association. For technique 8, you would want to limit the number of copies, which leads to the same restrictions imposed by a gridding or "object gravity" selection of possible locations (there isn't too much of a difference between showing a copy at the nearest selected location, or showing copies at the n nearest selected locations). In my mind, I see the following uses of object copies: - Creating a new object this is just like another, but different. - Using a copy for indirect manipulation. - Using one or more copies to provide choices (add an "abort" function to the previous use, and you have two choices: keep what you had or use what you've changed). - Using copies to provide different views or the same thing. Except for the last one, Jeff described a few examples of these uses. An example of the last use would be a collaborative design building design session, where the electrician, plumber, structural engineer, and client would each want to see different details of the same building model, perhaps to discuss the design (client asks, "can I put another outlet on that wall?"). Did I miss anything? -Drew -- ___________________________________________________________________________ G. Drew Kessler, Ph.D., Assistant Professor dkessler@eecs.lehigh.edu Electrical Engineering and Computer Science Dept. Office: 118A Packard Lab 19 Memorial Drive West Phone: (610)758-4818 Lehigh University Fax: (610)758-6279 Bethlehem, PA, USA 18015 http://www.eecs.lehigh.edu/~dkessler/