忍者ブログ
逃亡したい
[1]  [2]  [3
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

papervision3dのつづき

結局Cube とかCylinderとかで作れない形状をどうするかということになる。

せっかく3DCADはあるので(CADっつーかCAD/CAMだがな)
STLファイルを変換できればいいよね。という話。

Blenderを入れれば良いといわれる。 なにそれ。
3Dモデリングのソフト。 をー 無料でこんなのがあるのね

Blender.jpの日本語化だといまいちわからなかったので
http://tamac.daa.jp/wiki/?Blender
こっちを参照。

しっかしpythonというものをいれなければCollada形式には変換できません!
そしてcollada 1.4の形式出力で”トライアングル”?の形式にしないとうまく行きませんでした。

画面画像はレオちゃんにBlender入れてないので、お見せできませんが(会社で
暇があったら追加します)(だいたいレオちゃんにCADがはいらないからね
MACだから。子WINにもあんまりいれたくないし)

そんなかんじでした。orz 表示してまわすところで力つきたの。

しかし色はマテリアル設定でBlenderで処理できることが判明しましたが
影関係はどうなるんでしょうか。
テクスチャもpapervisionで設定するんじゃなくてBlenderでやっちゃうんでしょうか。
どうせなら、papervision内でやりたいが(変換だけにしたい。Blender
意味解らんもん)

だって機械系の3DCADと3Dモデリングソフトはそもそも考え方が違うからね。

つかいづらいんだ。

そして3Dモデラーでうんうん唸っているときに、機械系な質問をされても
答えに窮するよ(つまり日常業務を放棄してやってるということ....か)
そもそもCAD/CAMをしばらくまともに触ってないからね

なんかまたHPの仕事入りそうだし。まあこっちも一応仕事だからね。
どっち優先なのかはかなり悩むけど。

あーあ今日はおうちでお仕事やめようとおもってたけど
結局調べるのに時間を費やしてしまった。
明日暇があったら再チャレンジ。

ここで永遠の課題。 私のお仕事なんなんでしょうね。 あっはっは。
PR
ActionScript3.0+papervision3d(Greate White)+Tweenerで

ボタンを押したら、テキストフィールドに入った数字だけ回転する
というものをつくっておりました。

そうしたら、ボタンを何度も押さないと最後まで回転しないという
状況に陥り、数日間悩んでいました。

しかし天啓をうけ(ばか)
ようやく解決。
ありがとうございます。
http://shin-ishimaru.cocolog-nifty.com/blog/2007/08/papervision3dtw_0d78.html

原因= いちいち
renderer.renderScene(scene,camera,viewport);
でレンダリングしてたから。

わかってしまえばくだらない!

つまりこんなことをしてたのです
/////////(間違っていた例)/////////
cube =new Cube(new MaterialsList({all:new ColorMaterial(0xFFFF66)}), 200, 200, 200,2,2,2 );
addChild(cube);

renderer.renderScene(scene,camera,viewport);

submit.addEventListener(MouseEvent.CLICK,angle);

function angle(event:Event):void{
var a= Textfiled.text;

Tweener.addTween(cube, {rotationX:angle, time:2, transition:"linear"});
renderer.renderScene(scene,camera,viewport);

}

////////////////////////////////////

あほだー<じぶん

/////////正解/////////
レンダリングをループさせておく


this.addEventListener(Event.ENTER_FRAME, loop3D);

/*中略*/

function loop3D( event:Event ):void
{
//ずっとレンダリングしまくり(泣)
renderer.renderScene(scene,camera,viewport);
}
/*中略*/

submit.addEventListener(MouseEvent.CLICK,angle);

function angle(event:Event):void{
var a= Textfiled.text;

Tweener.addTween(cube, {rotationX:angle, time:2, transition:"linear"});

}

////////

これでいいじゃん。 ばかー馬鹿な俺。何日悩んどんねん(><)
はあ。次はシェードです。
とりあえず1色指定のFlatShadeはできたので、bitMapのシェードをなんとかしたい。

その後は3Dモデルの読み込み。

先は長い

※実際にうごいたコードとはかなり変えてあるので、動くかどうかはテストしてません。一部分しか書いてないので、これだけでは動きません。




進行形メモです。

参考:http://www.adamrocker.com/blog/124/
flash_actinscript_papervision3d_download_install.html

1.Subversionというソフトをいれました。
2.ターミナルで 「svn co http://papervision3d.googlecode.com/
svn/trunk/branches/GreatWhite/」と入力

home の下にGreatWhiteのフォルダができました。

をを。

先に進みます

Flex SDKにコピー
私の場合、Developer/SDKs/flex/にいれたので、

ターミナルで
cp -rf GreatWhite/src/* /Developer/SDKs/flex/frameworks/source/

このあと、参考ページとおなじようにファイルを書き換え終了〜

サンプルファイルをコンパイルしようかなーとおもったらエラーがでましたorz
なーぜー

/Users/***/GreatWhite/examples/FlexSDK/SpherePanorama/
src/com/unitzeroone/pv3d/SpherePano.as(12):
col: 34 エラー: 基本クラス BasicView の定義が見つかりませんでした。

public class SpherePano extends BasicView
^

/Users/***/GreatWhite/examples/FlexSDK/SpherePanorama
/src/com/unitzeroone/pv3d/SpherePano.as(55): col: 31
エラー: override としてマークされたメソッドは、
別のメソッドをオーバーライドする必要があります。

override protected function onRenderTick(event:Event=null):void
^



なーぜー

とりあえず今日はここまで

会社で再びPapervision3Dと格闘。 マテリアルを角度入力して動かしたり
マテリアルを動かしたり、画像をはりつけたり、というところまではいったが

カメラの動き方の制御が全然理解できん。

いやちゃんと動いているんだろうけど、自分が思う通りに動かせない。

しくしく。 とりあえず会社はFlash CS3は注文されているのでもうすぐ
導入なのでいいが、家のレオちゃんでは今後できない。
ということでFlex SDK2.0を導入。

これとまた格闘。

ようやくテストファイルのコンパイルができました。
はあMACでパスを通すっていわれても「どうするんだよう(><)」ってかんじでした。 いかんいかん!窓族に犯されてる。

でもさーもともとプログラムするわけじゃないので、ターミナルなんて初めて使ったですよ。 とほほ。 まーだまだ格闘しなきゃいけません。
今度はPapervision3d の2.0をいれないと

先は長い
ActionScript3.0 FlaashCS3で 前はHTMLとJavaScriptとCGI
でやってたコンテンツを作り変えました。

そこで、ActionScriptでCGIを読込んだはいいが、Cookieはどうするか
と思い、いろいろしらべたところ
SharedObjectにたどりつく。

そしてハマッタので自分なりの答えをメモ。

textFieldというインスタンス(TextInpu)があり、ボタンを押したらCGIへうごいて
値は覚えさせて、次回読込んだときはその値がtextFieldに反映されるという。ちなみにコンポーネントのTextInputを使用

> var so:SharedObject;
> function SharedObjectEx(event:Event) :void{
>
> so=SharedObject.getLocal("ShaderdObject_so");
> if (so.data.text!=null){
> textField.text=so.data.text;
> }
> }
>
> function sendData(event:MouseEvent):void {
> /*この辺は中略*/
> so.data.text= textField.text;
> so.flush();
> }

こんなかんじかな

ここまではこちらのサイトをみるとよーくわかる。 
http://www.saturn.dti.ne.jp/~npaka/flash/as30/SharedObjectEx/index.html(ありがとうございます。ぺこり)



ここからが馬鹿な私がはまったところ。
じゃあ複数あるんだけど、どうやってしたらいいの~(><)
配列が~配列が~~~とかいってたんだが・・・

(今考えると本当に馬鹿・・・なんでこんなことで一日悩んで
たんだろう)

答えは超簡単。

> so.data.text= textField.text;
 
soが保存するファイル textが値の名前みたいになるので

A1、A2、A3っていうインスタンスがあったら
so.data.A1 = A1.text;
so.data.A2 = A2.text;
so.data.A3 = A3.text;

ってやったらすんなりできた(T^T)
あまりにも馬鹿すぎる自分をなじってやりたい。 うう。
今日はここまで orz
昨日FlashからのCGI呼び出しができたので(まだGETしかわからんが)
ちょっとPapervision3Dに手をだしてみました。


・・・しかし、私は今いろんなサンプルソースを参考にできるが
最初いきなりやった人は本当にすごいな・・・
ぜんっぜんわかんないよ。(ソースみてなるほどと思う程度です。今は)

そんなわけで、簡単な立方体をまわしています。
立法体の色はかえられるけど、線の出し方がわからん。
できるのか・・・いやそういうサンプルを見た気がするからできるんだろうな。

次はぐりぐりできるようにします・・・・



そんなわけで、初歩的なものができたので。
簡易おみくじです。

あたるかどうかは補償いたしかねます(苦笑)


※参考 前出のActionScript3.0入門ノート そのままともいう。
絶対にやらないぞーと心に誓っていたのに
どうしてもやらないといけない状況がやってくるのです orz

ついにActionScriptをまじめに勉強せねばならんことになっていましました。しかも3.0.... 

今までやったことあるといえばFlashMXで簡単なイベント処理しか
したことなかったのに、FlashCS3の体験版でちょっとみてみたら
まったく様変わり・・・・  とほほ

とりあえずFlashの正規版のライセンスがやってくるまで
基本的なことができるようにならんと、その先へ進めない・・・というわけで自習資料としてこれをゲット。

Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート (DVD付)
Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート (DVD付)大重美幸

ソーテック社 2007-08-13


Amazonで詳しく見る
by G-Tools



ひとつずつ勉強していきます。 とりあえずその先に見えるものが遠すぎる・・ 
プロフィール
自分自身と格闘中

HN:
Aki
性別:
女性
職業:
かいしゃいん
趣味:
音楽と本と藝術関係とスポーツ観戦(自転車とか。アルペンスキーとか。)
自己紹介:
今年の目標は自己改善。
ストレスに打ち勝つこと。
そしてまじめにジムにいくこと。
Twitter




ブログ内検索
最新コメント
[09/21 aki]
[09/19 JUN]
[09/12 ジェリコ猫]
[09/10 maniac_shuffle]
[09/02 aki]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
忍者ブログ [PR]
design by AZZURR0