Animation Clips, Animations, Channels and Sampler

1. Structure of animation
In the specs, on <animation> there is a bound of sampler and channel.

A channel is always preceded by a sampler. On the <channel> page there is an example referencing samplers, but there are none.

This is unclear. Since channels and sampler are referencing why is there the limitation of a sequence: input(s), channel(s), sampler ?

2. Relative time over COLLADA files
I think the current use of start/end attributes of the <animation_clip> is not the best choice. Animation are referenced and this means they can come in another file, e.g. in an extern model file with animation templates for the model. The current method requires an absolute time over all COLLADA files in the collection.

I think to assume every animation to start at time 0.0s, and to set a time offset with the start attribute suites for more situations.

3. Own sampler targets
The target of a sample adresses a element with a sid within the element of an id. The target element can be accessed with a special member attribute, which is a fixed list of semantics, like X,Y,Z, ANGLE, …

I would like to animate an own attribute of a geometry, but the geometry is in an extern file.

How can I extend the target-Attribute with own attributes ?
Should I create fake <extra> containers with an own profile which
contain a sid which is adressed with the target string.
I want to animate the temperature (for example), I cannot use TEMPERATURE as the attribute. So I use X or R or whatever single-value attribute and because I adress an element in an own profile only my application takes care of this animation ?

push , edits are not on top

I don’t know about 1 or 2, but for 3,

First, parameters are not as meaningful as you may think, I found a file that referenced UV values as U and V where the spec clearly states it should be using S and T, what really matters is the semantic which for an animation sampler are usually INPUT,OUTPUT and INTERPOLATION, I don’t know where exactly you saw X,Y,Z,ANGLE in there, but I think it was inside the input’s accessors, not the sampler input semantic.

Second, you don’t animate a geometry, you animate an instance_geometry if all you want to animate is its transformation, if you want to animate in more detail you animate it through an instance_controller that references either a skin or a morph, which in turns references the mesh.

The geometry may be on a separate file since you instantiate it via the instance_geometry or instance_controller.

> I don’t know where exactly you saw X,Y,Z,ANGLE in there, but I think it was inside the input’s accessors, not the sampler input semantic.

I was refering to the target attribute of <channel>, not to sampler/source/input. The target member attributes are defined in the specs. Sorry for the typo, I did not mean a time sample.

> Second, you don’t animate a geometry, you animate an instance_geometry
of course, I was expressing this unclear. I meant that.

The problem is: I want to animate something not defined in the attribute list.

Well, I’ve been looking at skins as my needs are to animate skeletal based characters, from what I’ve seen, you usually animate a node, never directly an instance, (skin bones are in fact referenced nodes), so you’d probably have to put whatever you want to animate under the same node as the instance_geometry and refer to it with “sid notation”, I am just speculating here, I really have no idea if it is possible to animate anything other than node transformation information.

I’m not sure what you mean by attribute list.

COLLADA animation channels can target anything that can be referenced by an SID reference (Target Address Syntax in the 1.4.1 spec/relnotes).