I am exporting image sequences and movies as as animated textures in COLLADA; ability to process these should be a required feature of COLLADA readers. The interpretation of a movie as a texture seems relatively unambiguous, it is indexed by the same time coordinate as everything else. The interpretation of image sequences is potentially ambiguous — an aggressive reader could deduce the frame rate from the spacing of animation keys, but this is very unrelated to the texture itself, and is problematic if there is animation and even frame sequences at different rates, which is possible for some real cases I’m aware of.
Is there an existing mechanism to specify frame rate for image sequences? Is this a potential extension (preferably one that could be implemented by existing 1.4-class readers).
A full scale implementation for movies and sequences would specify a frame rate, offset, and a loop or hold indicator.
In COLLADA, time values are in seconds to provide the most flexibility. I.e. key frames may not be regularly spaced.
The animation_clip element has attributes that specify the relative start and end time of the clip.
In 1.5, the sampler element has attributes for pre and post behavior such as looping.
Instantiation of animation is not declared in a COLLADA document and is application defined.
I’m not sure how animation_clip applies here —
<image id=“Camera01-image” name=“Camera01-image”>
Here the animated texture is an image file list containing the list of images for each frame in the sequence. There is no inherent time specification, that must be induced from something else in the file. The animation_clip might be able to do that, but as I see it animation_clip refers only to an animation, not to an image (sequence) here.
The requirement is to be able to show a video/film shot as a backdrop onto a “projection screen” parented to the camera. That’s 100% essential for using COLLADA for describing scenes containing match-moving.
I’m not sure what this means: “Instantiation of animation is not declared in a COLLADA document and is application defined.” Also from the spec “Currently, animation clips cannot be instantiated inside a COLLADA document.” I’ve ignored animation_clips, are they REQUIRED in order for an animation to appear? (despite at least some evidence to the contrary)
From your example, you’re just declaring a single image resource as far as COLLADA is concerned. It is your application that has to understand that the IFL file contains a list of images and frame counts that describe a sequence of images.
Declaring the rest of the media information that is needed to play it as a movie is application defined. In the simplest case you could add an <extra> element to the <image> element in question and include the media parameters that you want to pass to your app.
Sure, my application understands a ton about that IFL file, usually it has created it, and knows plenty more about how it should be played. But the point of any COLLADA exporter, and mine in particular, is to tell OTHER applications how to play the file (here IFL) — and to do that, everyone needs to agree on the format of the information. Since animated textures and IFLs are extremely common in visual effects, I am expecting there to be a standardized way to do that — even if it takes the form of standardized extra elements.
Softimage defined an extension that I think fits your use-case. Have a look at:
https://collada.org/mediawiki/index.php … _extension