2016-07-12 81 views
0

顆粒材料我有我使用映射到PlaneGeometry圖像的TextureLoader#load() - 它呈現很好只要我的相機是不看「着」飛機,在這種情況(當然)是零寬度,並從視圖中消失。體素化在three.js所 - 從紋理

我試圖找出如何給圖片的一些深度,所以我現在的想法是:

  • 生成ParticleSystem其中顆粒在(x, y)股份公司與(灰度)像素顏色在(x, y)的圖像 - 有效地,使每個像素面向攝像頭
  • 「Cube-ifying」圖像中的每個像素,因此它佔用了z方向的一些空間。因此(x, y)上的一個像素成爲(x, y, z)的立方體,並且在所有三維中都有一定的尺寸。

兩個讓我看看「一起」上的圖像的邊緣,看到的東西,而飛機是看不見的。

我的第一個問題是,這是可能;第二,究竟是什麼體素化技術的?它在three.js中是否本機支持?

很高興提供更多的信息或一些基本的代碼,如果這是有幫助的。

回答

1

確實有可能。

與立方體的想法應該是可行的每個像樣的3D引擎。 它只是一個克隆/實例化多維數據集的問題,而不是相應的位置和顏色。

不知道是否有這種技術的名稱。

也不確定threejs中的粒子系統,但我想這也是一個選項。

我真正的答案是這樣的:使用高度圖

他們那種不正是你想要的。高度貼圖是灰度紋理,並且對於其映射的幾何體的每個垂直軸,它將根據灰度偏移垂直軸位置的y分量(白色=無偏移量,黑色=全部偏移量) http://danni-three.blogspot.de/2013/09/threejs-heightmaps.html

+0

高度貼圖* *靠近*,但不會一視同仁。我正在尋找的是一個'冰塊托盤',每個像素都被擠壓成一個立方體:一個高度圖會使灰度圖像看起來更像一個山區景觀。但是......絕對是值得深思的... – j6m8

+1

嗯,我明白了你的觀點,但是僅僅克隆每個像素的立方體可能並不會在性能明智之後給出結果。當然,這將取決於您的圖像大小以及用於查看內容的設備的功率。您可能需要考慮將圖像切分爲小部分(如5px X 5px),而不是將每個立方體貼上自己的小紋理。或者,您可以使用僅1紋理,但設置立方體的uv值,以便每個立方體顯示圖像的一部分。無論哪種方式,我認爲你會得到比只使用1個像素/像素更好的結果。 – 80prozent

+0

剛剛通過一些非常糟糕的代碼來生成每個像素的立方體 - 完全正確。一個小小的圖像足以癱瘓我的筆記本電腦...我的理解是,一個ParticleSystem不會遭受與網格集合相同的性能問題,但我可能會看到是否可以用高度圖作弊... – j6m8