[x3d-public] Non-Hand Coding of X3D

Joe D Williams joedwil at earthlink.net
Fri Feb 26 16:20:40 PST 2016


> Thanks for the tips....:-)

Thanks, I'm sticking with your def of non-hand-coding.

There are so many little items of concern. Like we want to reuse parts
of an animated scene and ask for a tool output and get giant lists of
vertices and times. Instead we have to step back a notch a realize
that max had output this set of data for a film rendering system. No
computations at render time because all data for each frame is
predone. Max just figured out what each frame should be then output
those sets of geometries for each frame, completely independent of any
other frame. So we go back in and ask the max to give us the real
procedural stuffs that includes the original geometry and the
interpolators that move it. Now we have something that X3D can work
with.

Of course with some reformat work X3D could work with either form but
the precomputed for rendering output would not be that interesting for
realtime.

Another one that really got me was working with an HAnim skin where I
thought I had all Joints and Vertices rigged to work. Then I imported
the skin in some tool and pressed the optimize button. Well, since the
order of vertices is important to making the deformable skin work,
then when the tool rearranged some verts to 'optimize' it, the thing
blew up and would not work anymore.

Now, with the BS Studio maybe we are back in the situation where we
have a couple of current authoring systems.

So, in X3D, you can't help but hand-create stuff because is almost
everything you bring in can be pasted in and hand-tuned with a simple
text editor to look better and run faster. Besides, the best tools
give you the best access to the core user code and at the same time do
their very best to keep you out of it. You just have to be very
persistent and ask the right questions to get the best view of the
stuff.

Thanks and Best,
Joe
http://www.hypermultimedia.com/acontents.htm

----- Original Message ----- 
From: "John Richardson" <richards at spawar.navy.mil>
To: "'X3D Graphics public mailing list'" <x3d-public at web3d.org>
Sent: Friday, February 26, 2016 11:47 AM
Subject: Re: [x3d-public] Non-Hand Coding of X3D


> Thanks for the tips....:-)
>
> John
>
> -----Original Message-----
> From: John Carlson [mailto:yottzumm at gmail.com]
> Sent: Thursday, February 25, 2016 5:21 PM
> To: Joe D Williams
> Cc: John Richardson; X3D Graphics public mailing list
> Subject: Re: [x3d-public] Non-Hand Coding of X3D
>
> Thanks Joe, very enlightening.  I can’t even seem to use an
> authoring tool, except for vim and Mail.
>
> John
>> On Feb 25, 2016, at 8:03 PM, Joe D Williams <joedwil at earthlink.net>
>> wrote:
>>
>> Great stuff. If you have only slightly more than a passing
>> acquaintance wit realtime interactive animated 3D graphics, there
>> is no worthwhile scene that is not in part hand-coded (or the
>> majority if copy paste is part of hand--coding.
>> If you cannot use a text eidtor on whatever user code is emmitted
>> from whatever tool, then I mean its like being an html expert using
>> only Dreamweaver or Frontpage.
>>
>> If you have a tool made with X3D in mind, meaning that X3D was
>> lucky enough to pick off some of the prime features of the tool,
>> then all is much better. Too bad many of those tools made for
>> VRML/X3D, like flux and viz are in hiding. Talk to your toolmaker
>> and tell them you want to export X3D in some form and they might
>> tell you how to make it more simple. Because the most simple way to
>> export stuff is like rendering for film where the output for each
>> frame is the entire precomputed set of vertices and supporting data
>> for each frame without the idea of interpolators, aim for realtime
>> which means you have the stuff drawn and now you just need to move
>> it to determined locations at the time appropriate in the
>> particular live scene.
>>
>> Fiirst step: Since all the tools use basically the same stuff with
>> different names and different formats or encodings, first try to
>> align the authoring and export tool to our beloved X3D.  Start
>> simple with export of geometries and textures. Most importantly do
>> your cleanups, before exporting. If animating, be sure the tool can
>> provide user code for interpolators and timers - believe me they
>> all do but may be hidden or deep. Next, if you are picking stuff up
>> from lilbraries, plan of converting shapes from whatever to some
>> X3D. Most mature tools will not have a problem with this if you can
>> find the correct settings.
>>
>> Sure, that means maybe eliminating some of the proprietary features
>> of
>> some tool but Hey, it is X3D not the 10K$ per seat CG.wiz that gabe
>> us
>> most of the pieces we now have. In certain ways you will find that
>> a
>> typical major tool in its native code is more or less forgiving
>> than
>> an X3D player which is more likely to demand that all things are
>> completely correct
>>
>> If the authoring tool is mainly set up for film and video outputs,
>> then carefully check that it will give you interpolators and
>> axis-angle (or quaternion) rotations. It may be better to export
>> some kinds of stuff to Collada or SRC or GLtf then fix some syntax
>> with a text editor before putting it in the X3D scene. Before you
>> export the stuff, massage it so that it is realistic with respect
>> to X3D, that is dimensions in meters. Zero everything in place.
>> Don't depend upon a bunch of 'convenient' scales and transforms to
>> make things fit in.
>>
>> If you are working a humanoid (like Biped), then especially get the
>> size of the thing in human space. Build the skeleton in realistic
>> X3D humanoid skeleton space. Dimension everything in human space
>> and don't use sets of scales and transforms to fit the parts, draw
>> them in human space with human dimensions.
>>
>> Most tools will have a 'zero' button that allows you to 'normalize'
>> the human and its parts into a single coordinate system. Much more
>> simple for playback.
>>
>> The deeper you get then the closer you get to 'hand-coding' the
>> stuff. In the major tool, and in any X3D editor, you can look at
>> the data at each keyframe and type in some values. So, depending
>> upon what you like, you can use the tool to hand-edit animations.
>> Also, I think you will find that whatever the project, the most
>> complex ones will always need to read and fix the user code. In
>> X3D, you are reading the X3D names and data and in any other tool
>> you are reading their special form. THe best tools will give you
>> the best rendition of their functioning user code. Either way, the
>> significant advances are made when the author gets in there and
>> changes a couple of numbers of letters and manages to import and
>> display the effect of that hand-coding step.
>>
>> Finally ... if you have a problem, ask here and maybe somebody can
>> help with specifics.
>>
>> All Best,
>> Joe
>>
>>
>>
>>
>>
>> ----- Original Message ----- From: "John Richardson"
>> <richards at spawar.navy.mil <mailto:richards at spawar.navy.mil>>
>> To: "'X3D Graphics public mailing list'" <x3d-public at web3d.org
>> <mailto:x3d-public at web3d.org>>
>> Sent: Thursday, February 25, 2016 2:42 PM
>> Subject: Re: [x3d-public] Non-Hand Coding of X3D
>>
>>
>>> Hello,
>>>
>>> In XML format
>>>
>>> <DO NOT MESS WITH THIS DEFINITION
>>> the definition of non-hand coded is....:-)   [in this space time
>>> continuum. I make no attempt to define non-hand coded in parallel
>>> universes]
>>>
>>> Use tool N(1) of M major modeling and animation tools [Maya,
>>> Lightwave, Houdini, Cinema 4d, Poser, Daz Studio, GIS type tools,
>>> Blender, COMSOL, ANSYS, Solidworks, BIM tools, Simulink,
>>> Mathematica System Modeler, Maple's tools, Form-Z, Nemetchek's
>>> stuff, AutoCAD, ProEngineer, plus any I left out that have
>>> reasonable market shares or throw in open source stuff].
>>> Make unbelievably complex models with really sophisticated
>>> simulations [behaviors in the common tongue] Select VRML or X3D
>>> for
>>> export format [see fbx below] Push the export Button Go get a cup
>>> of
>>> coffee or tea [no comment on whether you will survive this step]
>>> Return to your Ergometric furniture [or stand to give your back a
>>> rest] View the massively complex interactive simulation [business
>>> or
>>> training or...] in the Instant Reality / Bitmanagement / FreWRL
>>> viewer / X3D Edit / Simulink 3D animation / <insert view name
>>> here>
>>> Subnote: format conversion is not allowed unless you want to pull
>>> out
>>> your hair (see following comment). This just makes the M number of
>>> tool designers lazy and X3D authoring tool designers pull out
>>> their hair...:-) If the viewer squeals or pukes or upchucks or
>>> throws up trying to view the massively complex VR scene, execute
>>> X3D Edit or Bitmanagement or Simulinks 3D animation tool or
>>> Mathematica or Maple or COMSOL or....
>>> Press the import button
>>> Tweak to your hearts content
>>> Push the export button on the VRML/X3D/VR authoring tool View the
>>> massively complex interactive simulation [business or training
>>> or...]
>>> in the Instant Reality / Bitmanagement / FreWRL / X3D Edit /
>>> Simulink
>>> 3D animation / <insert view name here> Repeat tweaking until your
>>> viewer of choice or preferably every viewer in existence is error
>>> free with regard to your VR scene
>>>
>>> Repeat the above process for modeling and animation tool N(2)
>>> through
>>> N(M)....:-)
>>>
>>> Keep on repeating until a suite of massively complex simulations
>>> generate error free viewing....:-)
>>>
>>> Publish the proclamation that VRML and X3D is not suitable for
>>> non-hand coding development....:-)
>>>
>>> Note: M = 20 plus V where V is the number of tools the community
>>> thinks are major or makes community participants smile while they
>>> consume coffee or tea.
>>>
>>> Note: Export to fbx translates into "when facebook finishes
>>> spending money on 3D VR" then fbx/facebook authoring tools will be
>>> the tweak tools for facebook VR. Just to add an American obsolete
>>> silver 3 cent opinion to an earlier thread...:-).
>>>
>>> Final Note: Process should be turnkey on Windows PC, Macintosh,
>>> Linux, mobile .... with community agreed upon minimum RAM,
>>> processor, disk specs.
>>> /DO NOT MESS WITH THIS DEFINITION>
>>>
>>> Feel free to engage in vigorous architectural design of the X3D
>>> spec to facilitate this definition. The X3D community will
>>> prevail...!
>>>
>>> John
>>>
>>> -----Original Message-----
>>> From: x3d-public [mailto:x3d-public-bounces at web3d.org
>>> <mailto:x3d-public-bounces at web3d.org>] On Behalf Of Leonard Daly
>>> Sent: Wednesday, February 24, 2016 6:02 PM
>>> To: John Carlson
>>> Cc: X3D Graphics public mailing list
>>> Subject: Re: [x3d-public] Non-Hand Coding of X3D
>>>
>>> John,
>>>
>>> Just to address a few of your points.
>>>
>>> I don't see the functionality currently available with PROTOs and
>>> Scripts going away. I see it increasing because HTML Scripts can
>>> easily add nodes to the DOM. There have been several discussions
>>> on the topic of PROTOs. I see a proto-expander or MACRO as being a
>>> great addition to V4. It is also possible to easily provide that
>>> sort of service via an HTML Script or new custom-implemented node.
>>> If the new node is a collection of existing nodes (say Yves
>>> pyramid node), then the supporting code to create and parse that
>>> node is very easy to write in X3DOM.
>>>
>>> I can see a shared library of useful nodes that sites on top of
>>> X3D and is available to the user as either nodes or HTML scripts.
>>>
>>> I would like to see X3D accept a wide variety of data formats,
>>> even if some translation/conversion needs to occur. Using
>>> InstantReality it is possible to go from X3D, OBJ, FBX and perhaps
>>> others to SRC. SRC is a good format for injestion because it moves
>>> quickly to WebGL. X3D is to remain ISO standardized. No other 3D
>>> format and run-time can state that.
>>>
>>> Animation is a current problem. The SRC does not hold animations.
>>> The only widely used format that does combined with model data is
>>> FBX. That is something that needs to be developed, but there are
>>> several things that need to come first.
>>>
>>>
>>> Leonard Daly
>>>
>>>
>>>
>>>
>>>
>>>> You make good points Leonard.  How would you differentiate V4
>>>> from
>>>> Collada in that case?    My understanding is that X3D provides
>>>> for
>>>> declarative app development. This is one reason we are moving
>>>> towards the web, to open X3D up to more app developers.  What is
>>>> important for declarative app development?  Protos, Templates,
>>>> Web
>>>> Components and associated scripts, essentially *shared behavior*.
>>>> If you have a virtual world, you might certainly have exactly one
>>>> of everything.
>>>> However, it’s easier to instantiate Protos or Templates, I think.
>>>> The trick is to only mention the creation a few times (once) with
>>>> templates or web components, and let the environment expand it
>>>> into
>>>> multiple instances through templated transforms and
>>>> parameterization.
>>>> I don’t want to see 400 ProtoInstances of cylinders in code,
>>>> unless
>>>> it’s generated (HTML).  X3D *should* be associated with a data
>>>> format for pure data, like D3.js has several, and transforming
>>>> pure
>>>> data into 3D.  I know I have different requirements, but I think
>>>> X3D
>>>> V4 should be designed for scaling things up—not only shapes and
>>>> transforms, but coordinates and polygons as well (SRC). Is any
>>>> other
>>>> format in position to provide for such scaling without killing
>>>> memory or diskspace?  Models are certainly moving towards SRC. If
>>>> you are concerned about animation, what’s the best way to provide
>>>> for
>>>> animation coming from these tools?   We have your proposed nodes.
>>>> Are
>>>> these sufficient?   Should we start looking more at creating
>>>> exporters
>>>> for animation beyond just models?  What animation exporters to
>>>> X3D
>>>> are already out there?
>>>>
>>>> John
>>>>
>>>>> On Feb 24, 2016, at 7:55 PM, Leonard Daly
>>>>> <Leonard.Daly at realism.com
>>>>> <mailto:Leonard.Daly at realism.com
>>>>> <mailto:Leonard.Daly at realism.com>>> wrote:
>>>>>
>>>>> There seems to be some confusion about my statements about not
>>>>> hand-coding certain things.
>>>>>
>>>>> I have stated that models and animations are not hand-coded
>>>>> anymore.
>>>>> That statement does not mean it can't be done, but there are
>>>>> many
>>>>> tools that do it, including open-source ones. There is no way
>>>>> someone is going to hand-code models such as you can see at
>>>>> http://www.blendswap.com/blends/index. Hand coding models to be
>>>>> printed is also not a good idea because things will probably not
>>>>> line up correctly.
>>>>>
>>>>> Animation is the same thing. Yes you can animate by hand-coding
>>>>> all
>>>>> of the motions and deformations, but that is not how it is done.
>>>>> If
>>>>> X3D is to get any acceptance into the professional marketplace
>>>>> it
>>>>> MUST work with application generated models and animations.
>>>>> There
>>>>> will still be some important animations that are hand coded
>>>>> (e.g.,
>>>>> camera motions, automated systems, etc.).
>>>>>
>>>>> Nothing I have done in working out the V4 proposal precludes
>>>>> hand-coding of animation or modeling. It does not provide a lot
>>>>> of
>>>>> convenience features/nodes to make complex work simple. In the
>>>>> marketplace, it is much simpler to get someone to do the model
>>>>> or
>>>>> animation in a tool.
>>>>>
>>>>>
>>>>> --
>>>>> *Leonard Daly*
>>>>> 3D Systems & Cloud Consultant
>>>>> X3D Co-Chair on Sabbatical
>>>>> LA ACM SIGGRAPH Chair
>>>>> President, Daly Realism - /Creating the Future/
>>>>> _______________________________________________
>>>>> x3d-public mailing list
>>>>> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>>>>> <mailto:x3d-public at web3d.org <mailto:x3d-public at web3d.org>>
>>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>> <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
>>>>
>>>
>>>
>>> --
>>> *Leonard Daly*
>>> 3D Systems & Cloud Consultant
>>> X3D Co-Chair on Sabbatical
>>> LA ACM SIGGRAPH Chair
>>> President, Daly Realism - /Creating the Future/
>>>
>>>
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>> <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
>
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>




More information about the x3d-public mailing list