トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     PaperVision3Dでマテリアルがうまく適用できません
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
kimukimura
Åê¹ÆNo.43985
投稿日時: 2009-11-20 14:56
新米
居住地: 三鷹市
投稿: 11
使用環境:
Re: PaperVision3Dでマテリアルがうまく適用できません
clockmakerさん

お忙しい中色々とご確認いただきありがとうございます!

引用:

私の方でも確認してみましたが、Flash CS4 (10.0.2) / PV3D 2.1 (r920) のほうでエラーが発生せずパブリッシュできました。コンパイルエラーの原因として以下の項目が思い当たります。
・ライブラリファイルのパスが通っていない
・Max3DSクラスが古いものを使用している
・何かしらの原因で該当のクラスファイルの文字コード/改行コードが変更されている
…あまりアテにならない回答ですみません


了解です、クラスパスの確認、Revision920をtrunkごとがっつりチェックアウト(方法合ってますよね?)、と試してみたのですが、、、引き続き原因を調べます!

引用:

3DSのインポートについて、モデリングソフトのほうでUVマッピングのほうを確認してみる必要がありそうかと思いました。(当方、モデリングソフトに詳しくなく、あまり助言できないのですが…)。


モデリングを担当されている方に確認をお願いしたところ、ご指摘の通りUVマッピングの設定がされていないことが原因でした。マテリアルの適用は成功したのですが、テクスチャとオブジェクトの比率が合っていなかったり、正確な表現にはまだまだほど遠いので試行錯誤してみます!

ここにきて次の壁にぶち当たりました。モデルを読み込み、さらに陰を付けていきたいのですがMax3DSクラスのMaterialsListにShadedMaterialを渡すとエラーが出てしまいます。PV3D側で作成したプリミティブオブジェクトには問題なく適用されるのですが。。。


/* ライト等は省略します*/

private function setModel(src:String):void
{
var texture:BitmapMaterial = new BitmapMaterial(new Bitmap(new Image(0,0)).bitmapData);

var shader:GouraudShader = new GouraudShader(_light, 0xFFFFFF, 0x000000, 20);
var shaded:ShadedMaterial = new ShadedMaterial(texture, shader);
_model = new Max3DS();
_model.load(src, new MaterialsList( { all: shaded} ));

_model.addEventListener(FileLoadEvent.LOAD_COMPLETE, function():void
{
_scene.addChild(_model);
_renderer.renderScene(_scene, _camera, _viewport);
});
}


----------------------------
/* _renderer.renderScene()でエラー

TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at org.papervision3d.materials.shaders::ShadedMaterial/drawTriangle()
at org.papervision3d.core.render.command::RenderTriangle/render()
at org.papervision3d.render::BasicRenderEngine/doRender()
at org.papervision3d.render::BasicRenderEngine/renderScene()
at MethodInfo-1235()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at org.papervision3d.objects.parsers::Max3DS/parse()
at org.papervision3d.objects.parsers::Max3DS/onFileLoadComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()



---------------------
試してみたこと

Max3DSクラス同様、MaterialsListを渡すCubeクラスで試す
>> 問題なし

モデル読み込みでMaterialsListにテクスチャを渡す
>> 問題なし

モデル読み込みでMaterialsListにシェードマテリアルを渡す
>> エラー

最新のバージョンを試す
>> 変わらず

キューブに上記を試す
>> オールOK


----------------------------------------

ほんと、とほほな感じです ;;
できる限りでググってみたのですが英語で同様の問題に直面している(ように見えた)記事があったきりで事例も見つかりません。
http://osflash.org/pipermail/papervision3d_osflash.org/2008-June/022182.html

引き続き方法を模索しますが、もし解決策がありましたら教えていただければ幸いです。

ありがとうございました!
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   PaperVision3Dでマテリアルがうまく適用できません kimukimura 2009-11-16 22:37
     Re: PaperVision3Dでマテリアルがうまく適用できません ゲスト 2009-11-16 23:24
       Re: PaperVision3Dでマテリアルがうまく適用できません kimukimura 2009-11-17 16:35
         Re: PaperVision3Dでマテリアルがうまく適用できません ゲスト 2009-11-19 5:27
         » Re: PaperVision3Dでマテリアルがうまく適用できません kimukimura 2009-11-20 14:56
     Re: PaperVision3Dでマテリアルがうまく適用できません kimukimura 2009-12-8 10:37

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops