テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

LWF(lightweight swf)を使ってみた(利用編)

昨日の続きで、LWFを使ってSWFを使ったアニメーションをUnityで再生してみる。SWFからlwfdataを作成する方法は昨日の記事を参照。

[Unity3D]LWFを使ってみた(コンバート編)
http://terasur.blog.fc2.com/blog-entry-304.html

この記事は上の続き。

■lwfdataをUnity(LWF)で再生する

1.Unityを起動
とりあえずUnityを起動する。2の手順でプロジェクトフォルダ下が色々ゴチャゴチャするので、単純に試したい場合はNew Projectで新しくプロジェクトを作っておくが吉。

2.LWFのインポート
 lwf.unitypackageを実行する。このパッケージは、昨日DLしたlwf/csharp/unity/distにある。パッケージの保存しているフォルダパスに日本語が含まれている場合は、正常に動作しないことがあるので注意。エラーが出る場合はC:\直下等に移動すると何とかなる
 上手くいけば下のようなウィンドウが出るのでインポートする。
import.png
 これで現状プロジェクトにLWFのインポートできた。

 ちなみに、LOVE LOVE HEARTさんがDLL化の方法も解説しているので、フォルダをスッキリさせたい場合は、こっちを参考にしても良いかも。

 Lightweight SWFのインストール(LOVE LOVE HEART)
 http://www.loveloveheart.com/unity/lwf/install.php

3.昨日作ったlwfdataフォルダをインポート
 昨日と同じなら、gree_logo.lwfdata等々、*.lwfdataといったフォルダを作ったはずなので、それをResourcesフォルダにD&Dしてインポートする。Resourcesフォルダは2の手順で作られているはず。 (インポートするのは、例えばgree_logo.lwfdataフォルダ等々)

4.ウィジェットを表示するクラスを設定
 最後にこのクラスを作成して、適当なフォルダにアタッチ、あとは各項目を設定する。

public class LWFsample : LWFObject {
[SerializeField] string bytefilePath;
[SerializeField] string textureDirPath;
void Start () {
Load(bytefilePath, textureDirPath);
}
}
設定する項目は、bytefilePathとtextureDirPath。bytefilePathはファイルを指定し、textureDirPathはフォルダ名を指定する。両方ともResourcesフォルダからの相対パスなので、そのあたりを注意。
settings2.png
上の図は、Resourcesフォルダに昨日作ったgree_logo.lwfdata及びその中身を配置した場合。
実はResourcesフォルダに生成物を置く場合はLoad関数の第二引数が要らないみたいだけど、それはまた別の話。この情報はきっとUVクリアランス。

5.Unityを再生
後はUnityを再生すれば、Flashアニメーションがシーンで再生される。ただし、ウィジェットの中心点がGameObjectの中心点ではないので注意。なのでアタッチしたTransformのPositionを(-300,300,900)に変更しておくと吉。
2012102903.png

■使用感と問題点

少し使ってみた感じ、いくつか気になる所がある。例えば、

1.他のGUIアセットと違いゲームを再生しないとFlashアニメーションが確認できない点
2.アニメーションを利用したFlashはシーンビューにすら表示されない点(バグ?)
3.ウィジェットの初期位置が変な位置にある為、探すのが面倒な点
 (xが-300, yが300, zが900くらい)

等々。
他にも、Scaleの変更系操作を行うとウィジェットが消えちゃったり、一度アニメーションを止めると復帰できなかったりするが、このあたりは使い方が間違っているだけなきがするので情報待ち。

2012102904.png
実際、導入事例があるのだから何か対策があるんじゃないかと思う。その辺りは、11月15日に坂本一樹LWFカンファレンスがあるらしいので、そこで聞いてみよう。

坂本一樹LWFカンファレンス
http://techtalk1.labs.gree.jp/



オープンソースで展開しているので、どう発展していくか楽しみな所。