2012-09-19 108 views
1

修改新遊戲的功能集時,我正在考慮包括PVP遊戲模式。沒有像踢了AI這樣smithereens :)之後的NI。僅限iSomething。願意限制到現代設備。圍繞紋理的非透明部分繪製輪廓

我會考慮區分地圖上每個玩家的角色的一個選項是爲每個玩家角色添加不同顏色的2點輪廓(其他選項存在,但有重量考慮資源)。

我還沒有在這裏找到任何非常有用的答案,對於這種需求我也沒有找到,也不是我的GL專家。如果你們中的任何一個人可以指示我參加一些教程的方向,我將不勝感激。 TIA

+0

角色是紋理精靈還是3d模型?如果精靈,將輪廓數據添加到源紋理的選項? – Tim

+0

精靈。如上所述,有選擇。目前的估計將該應用程序放在320Mb左右。如果我將紋理資源加倍,一個用'紅色',另一個用'藍色'輪廓,好像看起來有點多。這就是爲什麼我要在運行時尋找某種方式來做到這一點(儘管可能會影響性能但尚未量化)。 – YvesLeBorg

回答

1

我並不是建議您必須將輪廓放入單獨的紋理中。我想象的是你有一個精靈,其區域全部爲alpha = 1.0,被一個透明的alpha = 0.0區域所包圍。

一個想法可能是在不透明區域周圍畫幾個像素寬的環,像alpha = 0.5

如果你然後想繪製你的精靈沒有邊框,你可以只是測試alpha > 0.75,並且邊框不會出現。如果要繪製邊框,可以對alpha > 0.25進行alpha測試,然後使用片段着色器將0.4 < alpha < 0.6的所有像素替換爲您選擇的彩色邊框。

如果您的圖片使用部分透明度,這會變得更加困難,但在這種情況下,您可能會阻止範圍從0.0到0.1的alpha元數據(如邊框)​​。

這不需要使用任何額外的紋理或增加任何現有資源的大小。

+0

啊......首先不明白你的建議。目前有alpha = 1包圍的基本alpha = 1,並手動添加2個點。我會與Mr Art先生覈對他的工具是否允許在輪廓加工時控制alpha通道。如果是的話,更近一步,然後找出着色器的事情,以及如何說服科科斯在ccAnimation中做到這一點。 BRB。 – YvesLeBorg

+0

是的,我們可以在概述時控制alpha通道。 – YvesLeBorg

+0

是一個工作,不需要玩CCAnimation,着色器程序從frame1傳播到下面所有的。反走樣不是那麼明顯。在Art先生的手中可能會把球拋回來:)但這是一個好主意。 – YvesLeBorg