To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 10299
10298  |  10300
Special: 
[DAT] (requires LDraw-compatible viewer)
Subject: 
Re: Thoughts on File Format for LDraw Animation
Newsgroups: 
lugnet.cad.dev
Date: 
Wed, 26 Oct 2005 12:01:13 GMT
Viewed: 
2316 times
  
How about 3d modeling Parent->Child relationships

This is the way LDA2001/2005 already works on the inside.

Here's a temporary object file, created by LDA2005, before it is inlined into
its parent and grandparent files and, after that, deleted:

0 Project=MyAn; Frame #000; Object=Minifig01.RightArm (#009)
0 Name: @MyAn000.009
0 Author: T E
0 LDraw Animation Frame Object File

0 [Parent Object]
0 Parent Object is Minifig01.Torso

0 [This Object]
1 16  0 0 0  1 0 0  0 1 0  0 0 1  982.dat

0 [Child Objects]
1 14  -5 18 -10  1 0 0  0 0.73 -0.64  0 0.64 0.73  983.dat
0

Every Object has an unique name (like Minifig01.RightArm) and an unique index
number (009 in the example above).


When the Parent part moves, All children move in relation to it, including
rotation

So far, I can follow you. This is already done by LDA2005. Now, I need a way to
store the parent/child relations to be able to build libraries of objects and
not having to create them again each time, and (another?) way to store what I
call behaviours, like walk, run, march, jump...

I think that MPD:s (that I first rejected, but now find to be a good idea) may
be able to handle to parent/child relations in a good way, but I need time to do
some experimenting on that first.


(Unless they are Tracking to another object). This is the common
practice in 3D Modeling/Animation tools.

Don't know what Tracking is, and the lunch break is over. Have to get back to
work now. I'll study the rest of the replies later tonight.

Thanks,
/Tore

Another I've seen, used in conjunction with Parenting, is Tracking. This allows
an object to be Rotate to face another object on an axis, while being Moved by
it's Parent. with Parenting relationships an empty handle object could be
defined to contain multiple parts, including other handles et cetera. Then when
the mast handle is moved, it moves all of it's children down the tree. This
would also leave it possible to reposition a child object in relation to it's
parent. Finally, if there were an object naming convention (beyond the basic
part file name) such as from end of file field to end of line, or even a simple
string field with no allowed spaces on the end, you would be more able to use
some form of meta command to rotate a uniquely named object in a model (Whether
that object was a group handle (Empty) or an part. The parenting relationship
would thusly create all the motion of the children.

So you'd have
EXISTING LDRAW Line Format <Unique_Part_Name> <Parent_Name> <Track_Part_Name>
<Nonvolatile_Axis> <Volatile_Axis>

Unique_Part_Name would be unique to each piece in a model, even if it was just
2795_001 and 2795_002 (likely software defaults)

Parent_Name would be Null for no parent or the name of another piece's
Unique_Part_Name

Track_Part_Name would be the Unique_Part_Name to track rotation to.

Nonvolatile_Axis would be the Axis the part will rotate on (X/Y/Z)

Volatile_Axis would be the part Axis which is tracking to Track_Part_Name
(X/-X/Y/-Y/Z/-Z)

I hope that makes sense.



Message is in Reply To:
  Re: Thoughts on File Format for LDraw Animation
 
In lugnet.cad.dev, Kevin L. Clague wrote: <snip> (...) Too true! (...) How about 3d modeling Parent->Child relationships When the Parent part moves, All children move in relation to it, including rotation (Unless they are Tracking to another (...) (19 years ago, 26-Oct-05, to lugnet.cad.dev)

30 Messages in This Thread:







Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR