でけた。
まだまだ不備は一杯あるけど、まあ、なんとか。
Blenderが書き出してくれる簡単なデータくらいは普通に読めたよ。
とりあえず
こんな感じ。
多分だな。1.4に対応するにはxsdから自動生成が正しいんだと思う。 しかしxsd読むのが大変だ。
SOAP4Rにxsd2rubyなんてモノがあるんだが、COLLADAのスキーマ喰わすとエラーで止まってくれる。さすがにこれは無理か。
あと1.3.1のスキーマでも止まるけど、ソースいじって無理矢理切り抜けることは可能。しかし無視される要素があるのでやっぱり使えん。
Schemaがちゃんとしてることが確認出来れば、ちょっとめんどいけど自動生成してもいいかもしんない。少なくとも。手で書くより100倍マシ。
1.3.1でももういじりたくないくらいクラスがある。いじらなきゃいけないんだけど。
おっと、話の流れが読めない人向けに書いておくと、COLLADA DOMっぽいモノをRubyで実装したよ、ってことだ。