Flashで3Dを実現する素材集
Kurukuru for Flashplayer6 and FlashMX
Flashで3D表現を実現する素材集です。
Flashユーザの方のために、ソースファイルも同梱してあります。
もちろん、Flashユーザでない方も、お使いいただけます。
実験的に作ったので、実行速度も特別速いわけではありませんし、
単純なモデルでないと、リアルタイムに動かしたりはできません。
リアルタイムに動かすのでなければ、かなりつかえると思います。
10/14 Shade2KurukuruをMacでも使えるように修正
10/6 現在確認されている不具合を追加 設置方法に追記
10/5 大事なことを書き忘れていました。(Shade用スクリプトについて)
説明
使い方
Flashムービーの設置方法
設定ファイルの文法
Shade用スクリプトShade2Kurukuruについて
アクションスクリプトについて
さらなる改造
現在確認されている不具合
説明
まずは、ダウンロードしたファイルを解凍して、その中に入っているhtmlファイルを実行してみてください。
3D形状が表示され、マウスでドラッグするとクルクルまわります。
(一部、まわらないものもあります)
kurukuruの仕組みを説明します。
kurukuru.swf を、ページに設置します。 |
設定ファイルの文法
設定ファイルは、自分で書き換えることが出来ます。これによって、3D形状の辺や頂点の表示、非表示、頂点のサイズなど、を書き換えることができます。
設定ファイルは、どれもXMLによって定義されます。ファイル名は、同梱されているswfファイルをそのまま
使う場合は、「camera.txt」「poly.txt」「config.txt」となります。
Flashを使って自分で組み込む場合は、ファイル名に制限はありません。
注意! XMLの操作には細心の注意を払ってください。すこしでも書式がくずれると、正しく読み込まれません。特に、データの間にスペースを入れたり、全角文字を入れたりすると、エラーになります。(なにも表示されません)
camera.txt
|
poly.txt
|
config.txt
|
Shade用スクリプト Shade2kurukuruについて
大事なことを書き忘れてました!!
ダウンロードファイルの中の、shadeフォルダには、Shade用のスクリプト「shade2kurukuru.tcl」が含まれています。
Shadeで、ポリゴンを1つ選択して、これを実行すれば、3つの設定ファイルを書き出すことができます。
カメラの設定は、視点、注視点、焦点距離のみが適用されます。
大事なことを書き忘れてました!!
スクリプトを実行する前に、shadeの形状ファイルを、保存して置いてください。その保存先のフォルダに設定ファイルが作成されます。
特に、別ファイルをインポートした時などは、フォルダの位置が変わってしまいますので、しっかり、「保存」をしてください。
アクションスクリプトについて
Flashユーザが、このkurukuruを使って、さらに自由な操作を利用できるように、Flashのアクションスクリプトによる操作が可能です。
利用可能なメソッドやプロパティを解説します。
Kurukuru コンポーネントが、非常に重要な部品で、中身は単なるムービークリップです。
このインスタンスを作成することで、3D形状の表示を行います。
また、これにインスタンス名をつけて、外部から操作することによって、さまざまな操作を行います。
メソッド go();
これを呼び出すことによって、3D形状の描画を更新します。下記の、pressedがtrueになっている時のみ有効です。
プロパティ difx
プロパティ dify
これの値を変更することで、3D形状の回転具合を操作します。
difxは、緯度方向、difyは軽度方向の回転です。
プロパティ pressed
この値をtrueにすると、マウスドラッグによる操作が可能となります。falseにすると、マウスドラッグを受け付けなくなります。
ライブラリ内にある、「mousereciever」コンポーネントは、mouseDown、mouseUpイベントにより、常時pressed=trueとしているために、常にマウス操作を受け付けます。
マウス操作を受け付けるタイミングを自分で設定する場合はこのプロパティを、自分で設定する必要があります。
プロパティ speed
形状の回転する速さです。マウスドラッグによる操作を受け付けている場合は、マウスの速さと、この速さとが加味されたスピードになります。
また、スクリプトによる操作の際にも影響します。
プロパティ mul
3D形状を表示するサイズです。
以下未稿 まだまだありますが、文章化は非常にやっかいですので、も少しお時間をください。
さらなる改造
ライブラリ内のアイテムを改造することで、さらに改造することが出来ます。
ライブラリの、「3Dkurukuru」-「asset」内のアイテムを改造することで、辺や頂点を改造することが出来ます。
改造してもいいアイテムは、「ball」と「「line」です。
アクションスクリプトを使った制御よりはるかに簡単なので、気楽に改造してみてください。
現在確認されている不具合 (仕様?)
Kurukuruには、現在確認されている不具合が多少あります。
どれも、致命的なものではないですが、一読しておいてください。
・緯度方向に回転を続けると、カメラ位置が赤道上に漸近していく。(カメラ処理のアルゴリズムが稚拙なための、仕様)
スピードをべらぼうに大きくしていなければ、マウス操作ならば、気にならない範囲です。スクリプトで操作する場合、この現象を回避することは無理です。
しかし、カメラを緯度方向にしか回さないのであれば、軽度方向に一定の値だけ回転させてやることで、赤道以外の緯線に収束します。
・回転させてないのに、Flash開始時に、回転運動をする。
カメラ位置が遠すぎる、あるいは近すぎる時に発生するようです。(原因不明)正常に動作するモデルデータをバックアップしておいて、そのシーンで、別のデータも作成すると、正常な結果を100%で再現できます。
・実行速度が遅すぎる。(これは、永遠の課題か。。。)
これといった回避策は無し。多くは、作者のプログラムが稚拙なためですが、もちろん、頂点、辺の表示、頂点のパースの有無をはずせば、それだけ軽くなります。
また、色設定は、これといって負荷に関係ありませんが、頂点の透明度を設定すると負荷も重くなるようです。
Flashの表示品質を落とすのも有効です。
カメラ移動のアルゴリズムは改善する予定です。
また、さらなる機能アップの際に、プログラムの見直しをする予定なので、多少負荷が少なくなると思われます。