ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Virtoolsコミュの広域地図のVR

  • mixiチェック
  • このエントリーをはてなブックマークに追加
仕事で広域地図のVRを作ることになったのですが
こういったのはどのように作っていけば良いのでしょうか?

今私がやっているのはmaxでオブジェクトを分割して
それを{Is In View Frustum}を使って画面外は
{Object Delete]で消しています。
しかしこれだと最初に一回すべてのオブジェクトを
読み込まなければいけないので何か他に良い方法が
あれば教えていただきたいです。

よろしくお願いいたします。

コメント(10)

はじめまして


オブジェクトの方はどうしたらいいか、ちょっと想像付きませんが、テクスチャは外部ファイルにすることで必要なときに読み込めるようになるはずです。
CMOファイルも大きくならないし、管理も楽ですし。
akiさん

返信ありがとうございます。
私がやったスクリプトをのせました。
なにか指摘があるところがありましたら
してもらってもよろしいでしょうか?

これはロードしたオブジェクトを画面内で
消すか生かすかをしてある一定の距離になったら
テクスチャが切り替わる
というのを目的につくりました。
テクスチャの切り替えのところで
Texture load BBをつかいたかったのですが
なぜかそれだと切り替えが出来ずがまん顔
解像度の低い画像は最初にCMOに入れてやっています。

Texture load BBがローカルパラメータに入れられるように
出来れば解決するのだろうと思いますが
どうでしょうか?
スクリーンショット見れません・・・
ともかく、こういうプログレッシブな巨大データをあまり扱ったことがないので役に立てるかわかりませんが、

オンラインマニュアルの「Optimization」近辺に「Portals.cmo」という関係ありそうなサンプルがあります。
あとはこの辺も関係あるかもしれない。
LOD Manager
Set MipMap Texture
Distributed Objects

また進展あったら教えてくださいねー
akiさん
返信ありがとうございます
画像なんですが
大きな画像張っているのですが
なぜかアップロードするとちっこくなって
しまいますー(><)

オンラインマニュアルのPortals.cmoだと
節目、節目にPortalを作っていかなければいけないので
百とかの単位だと結構きついかなぁと思いました。

LOD Manager
Set MipMap Texture
Distributed Objects
みてみました。
Distributed Objects
ってなんですか?(BBにもなくてヘプルでもhitしませんでした)
テクスチャ関係のBBをしらみつぶしにCMOを開いていたったのですが画像を荒くするやつとかあってつかえそうかなぁ
とおもったら荒くしたらICつかわないと戻せなかったです…

[billboard]って[Additional View]
つかって二画面にすると
なんか両方のカメラに反応してしまいませんか??
どっちのカメラとかの指定のパラメータが見あたらないの
ですがあるんですかねぇ?
どなたかご存知ないでしょうか?
>Distributed Objects

普通のCG用語だと分散オブジェクト、
巨大なシーンを分割することです
あとはPC数台でレンダリングする場合とかも。

>[billboard]って[Additional View]
>つかって二画面にすると
>なんか両方のカメラに反応してしまいませんか??

Billboardのソース
(Virtools)/Virtools Dev 3.5/SDK/Samples/Behaviors/3DTransBehavior/behaviors src/Billboard.cpp
を見てみましたが、

Owner Objectを取得して、
GetAttachedCamera
GetViewpoint
という感じです。

このGetAttachedCameraの代わりに任意のカメラの参照をあたえてあげればよいのでは?

akiさん
ありがとうございます

ここに書いてあるGetAttachedCameraなどは
そのソース自体を書きかえるということでしょうか?
それともBBのリンクをつなげるのでしょうか?
だとしたらBillboard BBにはそのようなものはなかったです

例えばそのソースを見て
GetAttachedCameraがある行は↓
ですよね?

CK3dEntity* cam = behcontext.CurrentRenderContext->GetAttachedCamera();
if (!cam) cam = behcontext.CurrentRenderContext->GetViewpoint();

ここのGetAttachedCamera()の中に任意のカメラを
書き込んだらよいのでしょうか?

えーとまずはBuildingBlock(SDK)のコンパイル環境はありますか?

標準のBBに不満があれば、そのソースを改良して、あたらしいBBを作って使うことができます。
この場合でしたら、参照するカメラを明示するInputをつくってあげればいいわけです。

とりあえず知合いで初心者向けドキュメントを書いた人がいるのでつれてきます・・・。
akiさん
BuildingBlock(SDK)のコンパイル環境はありません。
コンパイルするソフトはvirtoolsのHPとかにあるんでしょうか?ちょっと調べてみます。

>とりあえず知合いで初心者向けドキュメントを書いた人がいるのでつれてきます・・・。
このコミュに?ってことですか??
それはありがたいです
いつの間にか12人になってますねー
この調子でどんどん増えていってほしいですね!

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Virtools 更新情報

Virtoolsのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。