๋ฎค๋ ์ดํ์ ์ธ๋์ผ์ดํฐ ์์คํ ์ ์ ์ ์ผ๋ก ํ๋ ์ด์ด๊ฐ ์ด๋ํ๋ ๋ผ์ธ์ ๋ณด์ฌ์ฃผ๋๋ฐ,ย
์ ๋ํฐ์์ ์ ์ ๋ ๋๋งํ๋ ๋ฐฉ์์๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ์์ด ์์ง๋ง ๋๋ ๋ํธ๊ฐ ์ผ๋ถ๋ฌ ํ๋๋ก ๋ง๋ค๊ณ ์ถ์๊ธฐ์ ์ฝ๊ฐ์ ์ฑ๋ฅ ์ ํ๋ฅผ ๊ฐ์ํ๊ณ ์๋ Texture2D.SetPixel์ ์ฐ๊ณ ์์.
(๊ฐ์ฅ ์ข์ ๊ฑด ์ ฐ์ด๋๋ฅผ ์ด์ฉํ๋ ๊ฑฐ๊ฒ ์ง๋ง, ์๋ฌด๋ฆฌ ์ฉ์ ์จ ๋ด๋ ์ ๋๋๋ผ...ํ ์๋ฐ ์ ฐ์ด๋ ์์ด๋ ์ด๋ ต๋...)
์ฌ์ฉ์๊ฐ ์๊ฐ๋ฝ์ ๋๋๊ทธํ๋ ๋์ค์๋ ํ ์ค์ณ ํด๋ฆฌ์ด -> ์ ์ ๋ ๋ -> (๋ค์ ํ๋ ์) ํ ์ค์ณ ํด๋ฆฌ์ด -> ์ ์ ๋ ๋ -> ... ๊ณผ์ ์ ๊ฑฐ์น๋๋ฐ,
์ด ๋ ํ ์ค์ณ ํด๋ฆฌ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ณ ์์์.
publicย staticย Texture2Dย ClearTexture(Texture2Dย texture,ย Colorย clearColor) { Color[]ย fillPixelsย =ย newย Color[texture.widthย *ย texture.height]; forย (intย iย =ย 0;ย iย <ย fillPixels.Length;ย i++) { fillPixels[i]ย =ย clearColor; } texture.SetPixels(fillPixels); returnย texture;ย
ย }
๊ทธ๋ฐ๋ฐ ์ค๋ย ์๊ณ ๋ณด๋ ์ ๋ํฐ์๋ Texture2D.SetPixels32() ๋ผ๋ ํจ์๊ฐ ์๋๋ผ. ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๊ณ ๊ณต์ ๋ฌธ์์์ ์ด์ผ๊ธฐํ๊ธธ๋ ํ๋ฒ ์จ ๋ดค์.
publicย staticย Texture2Dย ClearTexture(Texture2Dย texture,ย Colorย clearColor) { Color32[]ย fillPixelsย =ย newย Color32[texture.widthย *ย texture.height]; forย (intย iย =ย 0;ย iย <ย fillPixels.Length;ย i++) { fillPixels[i]ย =ย clearColor; } texture.SetPixels32(fillPixels); returnย texture;ย
ย }
Color ๋ณ์๋ฅผ Color32๋ก ๋ฐ๊พธ๊ณ , SetPixels32๋ก ํธ์ถํ๋ค.ย
์ฒ์ ํ๊ท FPS๋ ๋๋๊ทธํ๋ฉด์ ์ธ๋์ผ์ดํฐ๊ฐ ๋ ๋๋ง๋๋ ์ค์ผ ๊ฒฝ์ฐ 40 ์ ๋, ๋๊ทผ๊ฑฐ๋ฆฌ๋ฉด์ ์๋๋ก์ด๋์์ ๋๋ ค๋ณธ ๊ฒฐ๊ณผ...
ํ๊ท 2~30์ด ๋์ด.
ํ๋ ์์ด ๋ ๋จ์ด์ก๋ค. ์ฅ? ์ด๊ฑฐ ์์ ์ฌ๊ธฐ ์๋๋? ํ๋ ๋์ค์ ๋ฌธ๋ ๋ ์ค๋ฅธ ์๊ฐ์ด ์์ด ํ๋ฒ ์ํํด๋ดค๋ค.
publicย staticย Texture2Dย ClearTexture(Texture2Dย texture,ย Color32ย clearColor) { Color32[]ย fillPixelsย =ย newย Color32[texture.widthย *ย texture.height]; forย (intย iย =ย 0;ย iย <ย fillPixels.Length;ย i++) { fillPixels[i]ย =ย clearColor; } texture.SetPixels32(fillPixels); returnย texture;ย
ย }
ํ๋ผ๋ฏธํฐ์ Color๋ฅผ ๊ทธ๋๋ก ๋์๋๋ฐ, ๊ทธ๊ฑธ Color32๋ก ๋ฐ๊ฟจ์.
๋๊ทผ๊ฑฐ๋ฆฌ๋ฉด์ ๋ค์ ๋๋ ค๋ณธ ๊ฒฐ๊ณผ...ํ๊ท FPS 58~60์ ์ ์งํ๋ค! SetPixels32 ๋ง์ธ!
์ฌ๊ธฐ์ ๋ฌด์จ ์ฐจ์ด๊ฐ ์์๊น?ย
ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด์จ clearColor๊ฐ Color32ํ์ ์ด ์๋๋ผ Color ํ์ ์ผ ๊ฒฝ์ฐ, fillPixels[i] = clearColor ๋ก์ง์ด for๋ฌธ ์์์ ๋์๊ฐ ๋ ๋งค๋ฒ ํ ๋ณํ์ด ์ํ๋จ.
ํ๋๋ฒ์ด๋ฉด ๋ชฐ๋ผ๋ ์ฉ ํ ์ค์ณ์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ์ค์ด๊ณ , ํ ์ค์ณ ํฌ๊ธฐ๊ฐ 256*256์ด๋ค ๋ณด๋, ์ด ํ ๋ณํ์ด๋ผ๋ ๋์ด ์๊ฐ๋ณด๋ค ์์ฒญ๋๊ฒ ๋ฆฌ์์ค๋ฅผ ์ก์๋จน์.ย
๊ทธ๋์ ํ๋ผ๋ฏธํฐ์์ ๊ณง๋ฐ๋ก ํ ๋ณํ์ ํด์ Color32ํ์ ์ผ๋ก ๋ฐ์์ ์ฃผ๋ฉด, for๋ฌธ์ด ๋ ๋ ๋งค๋ฒ ํ ๋ณํ์ด ์ ์ผ์ด๋๋ OK๊ฐ ๋์ด์ SetPixels32์ย ์ ๋๋ก ๋ ์ฑ๋ฅ์ ๋ฐํํ ์ ์๋ ๊ฒ.
ํน์๋ ์ถ์๋๋ฐ ํ ๋ณํ์ด ์ด๋ ๊ฒ ์ฑ๋ฅ์ ํฌ๊ฒ ์ํฅ์ ๋ฏธ์น ์ค์ ๋ชฐ๋๋ค. ๋ด๋ถํฐ ์ฃผ์ํด์ผ๊ฒ ์...
๊ฐ์ถ
์์ด๋๋ ๋๋ถ๋ถ ์์ด๋ ํฌ์ง๊ฐ์๊ฑธ๋ก ๋ง๋ค์ง ์ง์ ์ง๋๊ฑด ๋ฏธ์น๋์ด๊ฑฐ๋ ์ฌ๋ฅ์๋ ์ฌ๋ ์๋๋ฉด ๋ณ๋ก ์ํ๋ค๊ณ ํ๋๋ผ๊ตฌ์ฌ
๊ฒ์๊ธ๊ณผ๋ ์๊ด์๋ ์ง๋ฌธ์ธ๋ฐ ๋ ๊ฒ์์ ํฝ์ ํผํํธ ์ ์ฉํ๊ฑฐ์?
Pixels Per Unit๋ง ํต์ผํด์ ์ฐ๊ณ , ํฝ์ ํผํํธ ๊ด๋ จ ๋ก์ง์ ์์ง ๋ฐ๋ก ์ ์ฉํ์ง๋ ์์์. ์นด๋ฉ๋ผ๋ ์ฒจ์ Orthographic์ฐ๋ค๊ฐ ํจ๋ด๋ ์ค ์คํฌ๋กค ์์ฐ์ค๋ฝ๊ฒ ๋ง๋ค๋ ค๊ณ Perspective๋ก ๋ฐ๊พผ ์ํฉ์ด๋ผ ํฝ์ ํผํํธ๋ ์ฒ์ฒํ ๊ตฌํํ๋ ค๊ณ ...
ํฝ์ ์ด ์ข ๊นจ์ง๊ธธ๋ ์ ๋ํฐ ๋ธ๋ก๊ทธ ๋ณด๋ฉด์ PPU ๊ณต์(์ธ๋กํด์๋ / Orthographic * 2 ) ์ฌ์ฉํด๋ด๋ ๋ง ๊นจ์ง๋๋ฐ ์ด๊ฑด ๊ทธ๋ฅ ์ขํ๋ฅผ ์ ๋ง์ถฐ์ผํ๋๊ฑด๊ฐ???
์ด๋ค ์์ผ๋ก ๊นจ์ง? ๋๊ฐ ๋ด์ผ ์ ๊ฑฐ ๊ฐ์๋ฐ