[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00121] Re: SimpleUniverseで表示できる範囲
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ
踊れ!踊れ れ!踊れ!踊
!踊れ!踊 [チキまん関西] 1月20日創刊 踊れ!踊れ!
れ!踊れ! http://www.mansionnavi.com/mag.html !踊れ!踊れ
踊れ!踊れ れ!踊れ!踊
!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!踊れ!
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
>ちなみに、私も通常にツリーを組んでViewを利用していますが、初期値はかなり
>小さく、自動的に更新されないようなので、オブジェクトを追加する毎に空間範囲
>から適当な値を設定しています。
私は横着をしてモデルの方を±0.5程度の大きさにscalingするようにしてしまいました。
>Backgrounにも範囲指定があるなど、ある意味徹底はしているのですが、パフォー
>マンス影響ないような場合には、以下のようにDouble.MAX_VALUEを利用するのも
>良い方法のようですね。
>
> setBounds(new Point3d(), Double.MAX_VALUE);
こんな方法もあるのですね。
サンプルの ConicWorld や PickTestBounds などを参考にしているのですが、今は
BoundingSphere bounds =
new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
でboundsを生成して、その同じboundsをlightの範囲に指定したり、
light =
new DirectionalLight(
true,
new Color3f(0.7f, 0.7f, 0.7f),
new Vector3f(0.0f, 0.0f, -1.0f));
light.setInfluencingBounds(bounds);
マウスの影響範囲に指定したりしています。
MouseRotate behavior = new MouseRotate(zscale);
zscale.addChild(behavior);
behavior.setSchedulingBounds(bounds);
MouseZoom behavior2 = new MouseZoom(zscale);
zscale.addChild(behavior2);
behavior2.setSchedulingBounds(bounds);
MouseTranslate behavior3 = new MouseTranslate(zscale);
zscale.addChild(behavior3);
behavior3.setSchedulingBounds(bounds);
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F FAX 03-5362-9008