From jpierce@cs.cmu.edu Fri May 1 17:59:30 1998 Received: from burdell.cc.gatech.edu (root@burdell.cc.gatech.edu [130.207.3.207]) by lennon.cc.gatech.edu (8.8.4/8.6.9) with ESMTP id RAA20870 for ; Fri, 1 May 1998 17:59:27 -0400 (EDT) Received: from wheaten.hitl.washington.edu (nbwfVQWZl+TXvtp12m23is9jEDwgKLU4@[128.95.73.60]) by burdell.cc.gatech.edu (8.8.4/8.6.9) with ESMTP id RAA16984 for ; Fri, 1 May 1998 17:59:26 -0400 (EDT) Received: from ux2.sp.cs.cmu.edu (UX2.SP.CS.CMU.EDU [128.2.198.102]) by wheaten.hitl.washington.edu (8.8.8/8.6.12) with SMTP id OAA15702 for <3d-ui@hitl.washington.edu>; Fri, 1 May 1998 14:59:21 -0700 (PDT) Message-Id: <199805012159.OAA15702@wheaten.hitl.washington.edu> Received: from HITCHCOCK.PC.CS.CMU.EDU by ux2.sp.cs.cmu.edu id aa00600; 1 May 98 17:58 EDT X-Sender: jpierce@ux2.sp.cs.cmu.edu X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0 Date: Fri, 01 May 1998 17:57:05 -0400 To: 3d-ui@hitl.washington.edu From: Jeff Pierce Subject: RE: Interaction technique idea In-Reply-To: <4FD6422BE942D111908D00805F3158DF05B2665A@red-msg-52.dns.mi crosoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Status: RO At 12:49 PM 5/1/98 -0700, Matt Conway wrote: >I like this idea - though I suspect that in some cases, you might actually >get three modes in some limited cases by considering the case of an object >that gets grabbed with both hands at the same time. (Cracking an egg?) You mean you can't crack eggs one-handed? ;) >Perhaps this idea generalizes to the idea of objects and the tools that >hold them (ick, that sounds like a Jerry Springer episode). This sort of thing gets sticky really fast. One thing I like about using the hand (NDH vs. DH) to determine mode is that there's a fairly straightforward implementation: whenever you reparent an object to the hand, you check the object for hooks and run any attached functions. Then you do the same thing when you unparent. Although come to think of it, this does technically scale because you can use these hooks for _any_ reparent. Of course, then you have to start trying to figure out exactly which object the user is trying to reparent to (did you want that on the table or in the vise?). Ugh. Although this does remind me of another point: has anyone found a 3D authoring system that uses the notion of object prototypes? Ex. I create a bunny and define "hopping" and "banging the drum" behaviors for him. Now I want to declare that bunny (his geometry, texture, and behaviors) to be a prototype, so that I can then create instances of him at will. This allows me to do nice things like reuse characters (rather than code - only an engineer would rather reuse code than characters ;) between worlds, or send my characters to you so that you can plug them into your worlds. Jeff