2010-10-16 63 views
4

昨天,我決定開始與Java和Java3D的我的新的模擬器項目。由於我已經對Java進行了編程,所以它是一個很大的優勢,我可以直接從模擬器開始。現在我有點想着如何處理這個問題,而我直接遇到了麻煩,而且我的程序的最大部分是:模擬器中的激光器。創建「laserlights」與Java3D的/其他3D API

我想創建一個類似於這些激光器(當然我永遠不會進來之初即接近,但你的想法)

alt text http://c.wrzuta.pl/wi3928/68d3307a00283a1b475b370b/0/lasershow

的問題是,誰能給我如何解決這個問題的粗略解釋?我瀏覽了Java3D的完整文檔,但是我找不到用於創建這些內容的功能。只是一些出發點已經很好了。

(如果有人建議這樣的任務,這也是Java的不同的3D API,請告訴我)提前

感謝,

威廉訴多倫

回答

2

讓我通過說我在Java3D方面的經驗非常有限,我的答案在前言。我已經玩過這些例子,但就是這樣。但是,許多規則適用於3D環境。

如果你在談論靜態圖像:利用很窄的圓錐體,添加顏色和透明度,有可能紋理相對於從錐體的中心軸的距離減小alpha分量。

如果你在談論一個動畫場景,這樣做有點困難。你需要綜合霧。 Volumetrics將爲您提供令人難以置信的圖像,但它的計算成本很高,我認爲Jave3D不支持它。但是,如果您有一個對象是所有激光束的父對象,並且Java3D將讓紋理錨定到父項並讓子項繼承它,我認爲您可以僞造它。

更新1: 我會用一個很小的半徑爲單束Cone開始。

+0

我想專注於創造激光燈。我將如何去這abuot?簡單的線條紋理?問題是,線路「外部」的不透明度遠高於中間線路。 – wvd 2010-10-19 13:19:31

1

使用alpha紋理。帶上您的多邊形,將激光的「光束」作爲堅實的綠色邊緣。 把綠色的雲紋理與激光邊緣之間的alpha通道。

完成。 :-)

0

我不熟悉Java 3D API可言,但是當我快速通過文檔看着我偶然發現了LineArray。谷歌搜索導致我到a piece of example code這導致我相信它可能是你在找什麼。除此之外,我可以強烈推薦jMonkeyEngine,它絕對支持GL行。希望這有助於!