This is Interesting: Free Magazines for Graphics designers and webmasters
Home > Archive > VRML > March 2006 > Separating graphic (x3d) and animation
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Separating graphic (x3d) and animation
|
|
|
| Hi!
I am currently trying to get an overview about the possibility of
separating graphical data from its animations.
More specifically speaking, the graphical data is made up from 3D-CAD
authoring software (e.g. CATIA). This static data is then used to
create animations describing construction steps. Because the original
3D data is undergoing continuous (minor) change, it would be necessary
to alter the animations whenever the 3D data changes. This is clearly
not very reasonable.
So I would like to separate the data and its animations into two files,
the only 'connection' being the object-ID of the graphical objects that
constitute the scene. At runtime the animation should be transformed
(if not already in the right format) and inserted into the X3D file.
The result is a single X3D file including animations that can be e.g.
triggered from the outside.
And here are my questions:
1. Is that concept feasible or not, concerning firstly x3d as graphic
format and secondly the linking mechanism itself?
2. Do you see problems in creating a stylesheet that 'merges' the two
files into one?
3. If separation is possible, how should animations be described?
Already in X3D or maybe in a simpler, proprietary format? (Remark:
Editing animations should be as simple as possible, so Timesensors,
Routes etc. should not be included. Animations are categorized and
follow strict patterns (e.g. duration) which can be used to reduce
information)
4. Does anyone know of solutions that deal with this kind of separation
and are used in industry?
Thanks a lot for your help!
Best regards,
Andreas Hascher
| |
| Joerg Scheurich aka MUFTI 2006-03-09, 6:27 pm |
| > 2. Do you see problems in creating a stylesheet that 'merges' the two
> files into one?
There is no need to merge a X3D with shape/geometry data and a X3D file with
animation/data into one file, cause of the EXPORT/IMPORT features in X3D.
With EXPORT/IMPORT you can route X3D events to other files which are Inlined.
For a simple example see
http://www.web3d.org/x3d/publiclist...9/msg00043.html
So you can have a X3D file with shape/geometry data which IMPORTs
> 3. If separation is possible, how should animations be described?
> Already in X3D or maybe in a simpler, proprietary format? (Remark:
> Editing animations should be as simple as possible, so Timesensors,
> Routes etc. should not be included.
You can use a single Interpolator Node in one file, when you use more EXPORT/IMPORT
statements.
Anything, that can be done with EXPORT/IMPORT statements, can be done with
the traditional VRML97 way by using EXTERNPROTOs as well, but it is not easy to say,
if this is simpler or not as the EXPORT/IMPORT way.
so long
MUFTI
--
Wenn Sie Zugang zur Welt Breite Spinnwebe haben, koennen Sie die
spaetesten Spitzen und Tricks blaettern.
(aus einem Software-Handbuch, Stichwort: World Wide Web)
| |
|
| 1. don't think of x3d (vrml) as a graphic format, it's a computer
language that 'understands' 3d objects, and 'understands' the web.
Linking is fundamental to it. So an x3d file that animates links to 3D,
but which itself contains no 3D, is the obvious thing to do.
2. because x3d 'understands' links there is no need for stylesheets.
but it could be done.
3. without Timesensor there's no changes in time, all animation
starts from timesensor!
Note: check VRML content for existing solutions.
| |
| Joerg Scheurich aka MUFTI 2006-03-09, 6:27 pm |
| > 3. without Timesensor there's no changes in time, all animation
> starts from timesensor!
Except you use a external authoring interface like EAI and e.g. drive your animation
from java. But this is rather uncommon.
so long
MUFTI
--
Wenn Sie Zugang zur Welt Breite Spinnwebe haben, koennen Sie die
spaetesten Spitzen und Tricks blaettern.
(aus einem Software-Handbuch, Stichwort: World Wide Web)
| |
|
| i also thought of another way, not quite animation,
for things with a stepped linear sequence, you could have an object
that changed on proximity, so that as the avitar walked round it/
examined it, you switching on/off different parts to show the, for
example, sequence of assembly, order of construction, unpacking details
etc. etc.
but then automatically rotating the viewpoint would be nice, and then
you're back to needing a timesensor.
| |
|
| First of all, thanks for your comments! It's good to have other people
have a thought about it.
@Joerg Scheurich aka MUFTI
I already thought of using the import/export features of X3D. But this
would be against the most important requirement: Separation. Of course,
there has to be some kind of link between those files in order to be
able to animate the correct objects etc. But the graphic file should be
as clean as possible, failing imports or referencing of missing
variables that cause error messages while editing the graphic is not
acceptable. I haven't tried it out completely, but I guess some errors
will be thrown if imports fail.
As an external trigger I will use HTML + Javascript to start and stop
animations.
@simon
Well, yes, of course X3D itself is no graphic, but which 3D-format
really is? It is simply not possible to use something like JPEG etc.
for encoding, the additional dimension does not permit that. But that's
just a vocabulary issue anyway.
What do you mean by 'stylesheets' are not necessary? In case the
animation is being described in another XML-Format, there is no other
way than transforming it to a single X3D-File at runtime. Or do I miss
your point here?
This project is more a conceptual outline of what is possible and
feasible with the requirement of total separation of graphic and
animation. So approaches that come short of this goal are also of
interest.
Thanks!
| |
| Joerg Scheurich aka MUFTI 2006-03-10, 6:28 pm |
| > able to animate the correct objects etc. But the graphic file should be
> as clean as possible,
Then it depends of you type of animation for a simple solution.
If you animation is you transform (e.g. rotation, translation), then you
can simply animate a inline with a VRML/X3D file of your geometry.
clean_graphics.wrl:
#VRML V2.0 utf8
Transform
{
children
[
Shape
{
appearance Appearance
{
material Material
{
}
}
geometry Box
{
}
}
]
}
#VRML V2.0 utf8
DEF Transform1 Transform
{
children
[
Inline
{
url
[
"clean_graphics.wrl"
]
}
]
}
DEF TimeSensor1 TimeSensor
{
cycleInterval 10
loop TRUE
}
DEF PositionInterpolator1 PositionInterpolator
{
key
[
0
1
]
keyValue
[
-2 0 0
2 0 0
]
}
ROUTE TimeSensor1.fraction_changed TO PositionInterpolator1.set_fraction
ROUTE PositionInterpolator1.value_changed TO Transform1.set_translation
For other types of animation (color, morphing etc.) you need a
external authoring API (like the EAI of VRML or its X3D equivalent).
> failing imports or referencing of missing
> variables that cause error messages while editing the graphic is not
> acceptable.
You possibly should rethink about "editing". Even if you do not want to use
a graphical VRML editor (where it is not so easy to produce a syntactical
error), you can easily build a foulproof selfmade editing command,
when you exactly know, what you produce.
You simply have to build a small script (e.g. with something like perl, awk
etc.) that hides any unneeded data from the user, isolates the needed data,
starts a text editor with the needed data, prooves the changed data for
correctness and then merges the unneeded data back into the file.
Cause VRML or X3D data is either ASCII or XML, actions like isolation of
data or proove for correctness are very simple to implement.
This is similar to the ideas behind UNIX commands like visudo or vipw.
> I haven't tried it out completely, but I guess some errors
> will be thrown if imports fail.
Depends on your browsing applications. Some of them try to to display,
whatever it can detect from the correct rest of the file.
E.g. cosmoplayer often shows only yellow warning lights and silently continue
on a problem that would knock out programs like freewrl...
> Well, yes, of course X3D itself is no graphic, but which 3D-format
> really is? It is simply not possible to use something like JPEG etc.
> for encoding, the additional dimension does not permit that.
If you need something like "jpeg in 3 dimensions", you should take a look
at volume rendering formats. At least VRML is not volume rendering, it
can only display 2D surfaces in 3D space, not 3D volumes in 3D space.
You can fake 3D volumes in 3D space by stacking 2D surfaces in 3D space,
but this is possibly not what you want.
Volume rendering will be part of X3D with the using of 3D textures, but
don't ask me, which browser support it today...
> What do you mean by 'stylesheets' are not necessary? In case the
> animation is being described in another XML-Format, there is no other
> way than transforming it to a single X3D-File at runtime. Or do I miss
> your point here?
With languages like java you can build a application, that reads data
from "the other XML-Format" and manipulates the single X3D-File at runtime
with a external authoring API. I would not call such a java-application
'stylesheets'...
so long
MUFTI
--
+ /bin/true
../configure: /bin/true: not found
+ echo
+ echo configure: failed program was:
| |
|
| > For other types of animation (color, morphing etc.) you need a
> external authoring API (like the EAI of VRML or its X3D equivalent).
Can you give a short example of a script that is able to alter coloring
etc.?
What about exporting and importing definitions for e.g. materials? Have
you got any experiences with that? I tried hard but I couldn't get my
example working, see also
http://www.web3d.org/message_boards/viewtopic.php?t=268
> With languages like java you can build a application, that reads data
> from "the other XML-Format" and manipulates the single X3D-File at runtime
> with a external authoring API. I would not call such a java-application
> 'stylesheets'...
No, of course not. I wasn't thinking of building an application in
Java, more of building a XSLT-file which uses several templates to
include the animations in the (clean) graphic descriptions. A standard
repertoire of animations along with fixed parameters (like duration)
may be the basis for a simplified animation description language.
Thanks!
| |
| Joerg Scheurich aka MUFTI 2006-03-16, 6:16 am |
| Thag <ahascher@XXXXXXXXXX> wrote:
[color=darkred]
> ... example of a script that is able to alter coloring
> etc.?
http://www.web3d.org/x3d/specificat...d.html#Examples
so long
MUFTI
--
#define DIBUTTON_FISHING_BINOCULAR 0x0E000403 /* Look through Binocular */
from Micro$oft DirectInput headerfile dinput.h
|
|
|
| | Copyright 2003 - 2008 forum4designers.com Software forum Computer Hardware reviews |
|