12月05日
Papervision3DでCoverFlowみたいな
前に作ってたCoverFlowを流用して納品物に加えようと思ってたら…PV3Dのバージョンが変わっててパブリッシュが通らない…orz
目的のクラスはどこへ消えたかな?とファイルを眺めてると、そこに現れたるは「ReflectionView」。
ってこれ、そのまんまじゃんw
ということで実装。
超簡単に鏡面反射が実現できます。
import org.papervision3d.core.effects.view.ReflectionView ;
で
public class Main extends ReflectionView
で
singleRender();
終了。

CoverFlow自体のルーチンは流用できるので、これにて完成。あー良かった良かった。
で落とし穴…orz
FirefoxとChromeで鬼のちらつきが…しかも鏡面反射の部分が。変な位置にチラチラと表示されるのよね。色々と試してみました。CoverFlowが動いてない時にはレンダリング止めてみたり、いろいろいろいろいろいろいろいろいろいろいろいろいろりおr。
で、ハッケン。
surfaceHeight
で鏡面反射の位置を調整できるんだけど、これに負の値を入れてたのが原因“みたい”。これをデフォルト値で、オブジェクトの位置で最適になるように調整したら、大体OK。
大体、というのが、Firefoxでは発生しなくなったのに、Chromeでは起きてしまうこの事実。
もう思い当たる節がないんですケド…
ハズレーorz
やっぱり直ってなくて、CameraをFreeにしたのが気にいらんのか?とか別に探ってみたり、ヤケを起こしてReflectionView使うのを止めようかとよぎったり。。。
が、ハッケンしましたよ、お兄さん。
camera.useCulling = true;
でなぜ直るのかイマイチあれですが、CoverFlow的な動きがReflectionViewの癪に障ったのかもしれません(んな訳あるか!)。
まーそんなこんなでReflectionViewを使って描画対象がドッチラケな方向で分身の術を繰り広げる場合、上記の方法を試してみるのも解決の一手かも(All OKなんて口が裂けても言えないorz)。
え?IE?最初っからちらついてないの。ナニコレ?
コメント & トラックバック
コメントフィード
コメント