Texture profiles - kuimoani/defold GitHub Wiki
Texture profiles
Defold๋ ์๋ ํ ์ค์ณ ํ๋ก์ธ์ฑ๊ณผ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์์ถ(Atlas, Tile sources, Cubemaps ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ๊ณผ GUI ๋ฑ์์ ์ฌ์ฉ๋๋ stand-alone ํ ์ค์ณ์์)์ ์ง์ํฉ๋๋ค. ์ด ๋ฉ๋ด์ผ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
์์ถ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ค์ด๊ณ ๊ทธ๋ํฝ ํ๋์จ์ด๋ ์์ถ๋ ํ ์ค์ณ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ ์์ถ์ ์ด๋ฏธ์ง ๋ฆฌ์์ค์ ๋ฒ๋ค ์ฌ์ด์ฆ๋ฅผ ์ค์ด๊ธฐ๋ ํฉ๋๋ค. PNG ํ์ผ ์์ถ์ ๋ ์์ ํ์ผ๋ก ์์ฑํ ์ ์์ง๋ง, PNG ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฝ์ด์ฌ ๊ฒฝ์ฐ ์์ถ์ ํ์ด์ผํ ํ์๊ฐ ์์ต๋๋ค.
ํ ์ค์ฒ ์ฒ๋ฆฌ๋ ํน์ ํ ์ค์ณ ํ๋กํ์ผ์ ํตํด ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ํ์ผ์์ ํ๋กํ์ผ์ ์์ฑํด์ ์ด๋ค ์์ถ ํฌ๋ฉง์ผ๋ก ํน์ ํ๋ซํผ ๋ฒ๋ค ์์ฑ์์ ์ฌ์ฉํ ์ง ๋ํ๋ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ๋กํ์ผ์ด ํ์ผ ๊ฒฝ๋ก ํจํด๊ณผ ์ผ์นํ๋ ํ์ผ๋ค์ ๋ฌถ์ด์ ํ๋ก์ ํธ์์ ์ด๋ค ํ์ผ์ด ์ด๋ป๊ฒ ์์ถ๋๋์ง๋ฅผ ์ ๋ฐํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ํ ์ค์ณ ์์ถ์ ์์ค์ด ๋ง๊ธฐ ๋๋ฌธ์, ํ ์ค์ณ ๋ฐ์ดํฐ์ ์ด์ํ์์ด ์๊ธธ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ํ์์ ์๋ณธ ๋ฉํฐ๋ฆฌ์ผ์ด ์ด๋ป๊ฒ ๋ณด์ด๋์ง, ์ด๋ค ์์ถ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋์ง์ ๋ฐ๋ผ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ์๋ณธ ๋ฉํฐ๋ฆฌ์ผ์ ํ ์คํธ ํด๋ณด๊ณ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ํด ์คํ์ ํด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค. ํน์ ๊ตฌ๊ธ๋ก ๊ฒ์ํ๋ ๊ฒ๋ ์ข์ต๋๋ค.
์์ถ์ ์์ ์ง์ค์ ์ด๊ณ ์๊ฐ ์๋ชจ์ ์ธ ์์ ์ ๋๋ค. ๊ทธ๋์ ์์ถํ ํ ์ค์ณ ์ด๋ฏธ์ง๋ค์ ์๋๊ณผ ํ ์ค์ณ ํฌ๋ฉง์ ๋ฐ๋ผ ๋น๋ ์๊ฐ์ด ์์ฃผ ์ค๋ ๊ฑธ๋ฆด ์๋ ์์ต๋๋ค.
Texture profiles
๊ฐ ํ๋ก์ ํธ๋ ํน์ ํ .texture_profiles ํ์ผ์ ํฌํจํ๊ณ ์๋๋ฐ ์ด๋ ํ ์ค์ณ๋ฅผ ์์ถํ ๋ ์ฌ์ฉ๋๋ ๊ตฌ์ฑ์ ํฌํจํ๊ณ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ํ์ผ์ "builtins/graphics/default.texture_profiles" ๊ฒฝ๋ก์ ์์ผ๋ฉฐ ๋ชจ๋ ํ ์ค์ณ ๋ฆฌ์์ค์ ๋ชจ๋ ํ๋ซํผ์ ๋น์์ถ ๋ฐ์ดํฐ๋ฅผ ๋จ๊ธฐ๋ ํ๋กํ์ผ๊ณผ ์ผ์นํ๋ ๊ตฌ์ฑ์ ๊ฐ์ง๋๋ค.
ํ ์ค์ณ ์์ถ์ ์ถ๊ฐํ๋ ค๋ฉด:
- File > New > Otherโฆ ๋ฉ๋ด๋ฅผ ์ ํํ๊ณ "Texture Profiles File"๋ฅผ ์ ํํด์ ์ ํ ์ค์ณ ํ๋กํ์ผ ํ์ผ์ ์์ฑํจ(๋๋ "default.texture_profiles"๋ฅผ "builtins"์ ์ธ๋ถ๋ก ๋ณต์ฌํจ)
- "game.project"์ texture_profiles ํญ๋ชฉ์ ์ ํ์ผ์ ์ง์ ํ๋๋ก ์์
- .texture_profiles ํ์ผ์ ์ด์ด์ ์ํ๋ ๋๋ก ์์ ํจ


editor preferences์์ ํ ์ค์ณ ํ๋กํ์ผ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ผ๊ณ ๋ ์ ์์ต๋๋ค. File > Preferences ๋ฅผ ์ ํํ๊ณ Defold ์ฐฝ์ ํฌํจ๋ Enable texture profiles ์ฒดํฌ๋ฐ์ค๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅํฉ๋๋ค.

Paths
ํ ์ค์ณ ํ๋กํ์ผ ํ์ผ์ path_settings ์น์ ์ ๊ฒฝ๋ก ์ ๊ท ํํ์(path regular expressions)๊ณผ ๊ฒฝ๋ก์ ์ผ์นํ๋ ๋ฆฌ์์ค๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ๋ profile์ ์ด๋ฆ์ ํฌํจํ๊ณ ์์ต๋๋ค. ์ด ๊ฒฝ๋ก ์ ๊ท ํํ์์ "Ant Glob" ํจํด (์์ธํ ๊ฒ์ http://ant.apache.org/manual/dirtasks.html#patterns ์ฐธ๊ณ )์ผ๋ก ํํ๋ฉ๋๋ค. ํจํด์ ์๋ ์ฒ๋ผ ์์ผ๋ ์นด๋(*)๋ฅผ ์ฌ์ฉํด ํํ๋ ์ ์์ต๋๋ค.
*
0๊ฐ ์ด์์ ๋ฌธ์์ ์ผ์นํฉ๋๋ค. ์๋ฅผ ๋ค์ด "sprite*.png" ๋ "sprite1.png", "sprite.png", "sprite_with_a_long_name.png" ํ์ผ๋ค๊ณผ ์ผ์นํฉ๋๋ค.
?
ํ ๊ฐ์ ๋ฌธ์์ ์ผ์นํฉ๋๋ค. ์๋ฅผ ๋ค์ด "sprite?.png"๋ "sprite1.png", "spriteA.png" ์ ์ผ์นํ์ง๋ง "sprite.png" ๋๋ "sprite_with_a_long_name.png"์๋ ์ผ์นํ์ง ์์ต๋๋ค.
'**'
์์ ํ ๋๋ ํ ๋ฆฌ ํธ๋ฆฌ, ํน์ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋ ๋ 0๊ฐ ์ด์์ ๋๋ ํ ๋ฆฌ์ ์ผ์นํฉ๋๋ค. ์๋ฅผ ๋ค์ด "/gui/**"๋ "/gui" ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์๋๋ ํ ๋ฆฌ ๋ฐ ๋ชจ๋ ํ์ผ๋ค๊ณผ ์ผ์นํฉ๋๋ค.

์ด ์์ ๋ ๋ ๊ฐ์ ๊ฒฝ๋ก ํจํด(path patterns)๊ณผ ํด๋น ํ๋กํ์ผ์ ํฌํจํ๊ณ ์์ต๋๋ค.
"/gui/**/*.atlas"
"/gui" ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ ๋๋ ํฐ๋ฆฌ์ ๋ชจ๋ .atlas ํ์ผ๋ค์ด "gui_atlas" ํ๋กํ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
"/**/*.atlas"
ํ๋ก์ ํธ ๋ด์ ์ด๋์๋ ์ง ๋ชจ๋ .atlas ํ์ผ๋ค์ด "atlas" ํ๋กํ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
์ผ์น ์์ ์ ์์์ ์๋ ์์๋ก ๋์ํ๊ธฐ ๋๋ฌธ์, ๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ๋ก๋ฅผ ๋ท์ชฝ์ ๋ฐฐ์นํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฒซ๋ฒ์งธ๋ก ์ผ์นํ๋ ๋ฆฌ์์ค ๊ฒฝ๋ก๊ฐ ์ฌ์ฉ๋ ํ์๋ ๋จผ์ ์ฌ์ฉ๋ ๋งค์นญ์ ์ฌ์ ์ ํ์ง ์์ต๋๋ค. ๋ง์ฝ ๊ฒฝ๋ก๊ฐ ๋ฐ๋ ์์๊ฐ ๋๋ค๋ฉด, ๋ชจ๋ ์ํ๋ผ์ค๋ "atlas" ํ๋กํ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ, "/gui" ๋๋ ํ ๋ฆฌ ๋ด์ ํ์ผ๋ค๋ ์ฒ๋ฆฌ๋ฉ๋๋ค.
ํ๋กํ์ผ ํ์ผ์์ ์ด๋ค ๊ฒฝ๋ก๋ก๋ ์ผ์นํ์ง ์๋ ํ ์ค์ณ ๋ฆฌ์์ค๋ ์ปดํ์ผ๋์ด ๊ฑฐ์ 2๋ฐฐ ๊ฐ๊น์ด ์ค์ผ์ผ๋๋ฉฐ ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋๋๋ก ๋จ๊ฒ ๋ฉ๋๋ค.
Profiles
ํ ์ค์ณ ํ๋กํ์ผ ํ์ผ์ profiles ์น์ ์๋ ๋ช ๋ช ๋ ํ๋กํ์ผ์ ๋ชฉ๋ก์ ํฌํจํ๊ณ ์์ต๋๋ค. ๊ฐ ํ๋กํ์ผ์ ํ ๊ฐ ์ด์์ ํ๋ซํผ์ด ์์ผ๋ฉฐ, ๊ฐ platform์ ํ๋กํผํฐ์ ๋ชฉ๋ก์ ์ํด ์ค๋ช ๋์ด์ง๋๋ค.

os
์ผ์นํ๋ OS ํ๋ซํผ์ ์ง์ ํฉ๋๋ค. "OS_ID_GENERIC"๋ ์ฅ์น์ dev-app builds๋ฅผ ํฌํจํ๋ ๋ชจ๋ ํ๋ซํผ๊ณผ ์ผ์นํ๋ฉฐ, "OS_ID_WINDOWS" ๋ Windows ํ๊ฒ ๋ฒ๋ค๊ณผ ์ผ์นํ๋ฉฐ, "OS_ID_IOS"๋ iOS ๋ฒ๋ค๊ณผ ์ผ์นํฉ๋๋ค.
formats
์์ฑํ๋ ค๋ ํ ๊ฐ ์ด์์ ํ ์ค์ณ ํฌ๋ฉง. ๋ง์ฝ ์ฌ๋ฌ ํฌ๋ฉง์ด ์ง์ ๋์๋ค๋ฉด, ๊ฐ ํฌ๋ฉง์ ํ ์ค์ณ๊ฐ ๋ฒ๋ค์์ ์์ฑ๋์ด ํฌํจ๋ฉ๋๋ค. ์์ง์ ๋ฐํ์ ํ๋ ํผ์ ์ํด ์ง์๋๋ ํฌ๋ฉง์ ํ ์ค์ณ๋ฅผ ์ ํํฉ๋๋ค.
mipmaps
๊ฐ ํ๋ซํผ๋ง๋ค, ๋ฐ๋งต์ ์์ฑ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ํ๋กํผํฐ๋ "true" ๋๋ "false"๋ก ์ค์ ํ ์ ์์ต๋๋ค.
max_texture_size
0์ด ์๋ ๊ฐ์ผ๋ก ์ค์ ํ๋ฉด, ํ ์ค์ณ์ ํฝ์ ์ฌ์ด์ฆ๊ฐ ์ง์ ๋ ์ซ์๋งํผ ์ ํ๋ฉ๋๋ค. ์ง์ ๋ ๊ฐ๋ณด๋ค ํฐ ๋์ด๋ ๋์ด๋ฅผ ๊ฐ์ง ํ ์ค์ณ๋ ์ถ์(scale down) ๋ฉ๋๋ค.
ํ๋กํ์ ์ถ๊ฐ๋๋ ๊ฐ formats๋ ์๋์ ๊ฐ์ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
format
ํ ์ค์ณ๋ฅผ ์ธ์ฝ๋ฉ ํ ๋ ์ฌ์ฉ๋๋ ํฌ๋ฉง. ์ฌ์ฉ ๊ฐ๋ฅํ ํ ์ค์ณ ํฌ๋ฉง์ ์๋๋ฅผ ์ฐธ๊ณ ํ์ญ์์ค.
compression_level
์์ถ๋ ์ด๋ฏธ์ง์ ํ์ง ์์ค์ ์ค์ ํฉ๋๋ค. ์ด ๊ฐ์ ๋ฒ์๋ "FAST" (๋ฎ์ ํ์ง, ๋น ๋ฅธ ์์ถ) ์์ "NORMAL", "HIGH" ์ "BEST" (๋์ ํ์ง, ๋๋ฆฐ ์์ถ) ์ ๋๋ค.
Texture formats
ํ ์ค์ณ๋ ๋ค์ํ ์ฑ๋๊ณผ ๋นํธ ๊น์ด(bit depths)๋ก ์์ค(lossy) ์์ถ ๋๋ ๋น์์ถ ๋ฐ์ดํฐ๋ก ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค. ๊ณ ์ ๋ ์์ถ์ ์ด๋ฏธ์ง์ ๋ด์ฉ๋ฌผ๊ณผ๋ ๊ด๊ณ ์์ด ๊ฒฐ๊ณผ ์ด๋ฏธ์ง๊ฐ ๊ณ ์ ๋ ์ฌ์ด์ฆ๊ฐ ๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์์ถํ๋ ๋์์ ํ์ง ์์ค์ ์๋ณธ ํ ์ค์ณ์ ๋ด์ฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค๋ ๋ป์ ๋๋ค.
ํ์ฌ๋ ์๋์ ๊ฐ์ ์์ค ์์ถ ํฌ๋ฉง์ ์ง์ํ๊ณ ์์ต๋๋ค.
PVRTC
ํ ์ค์ณ๋ ๋ธ๋ก ๋จ์๋ก ์์ถ๋ฉ๋๋ค. 4๋นํธ ๋ชจ๋(4BPP)์์๋ 4x4 ํฝ์ ์ ํ๋์ ๋ธ๋ก์ผ๋ก ๊ฐ์ง๋๋ค. 2๋นํธ ๋ชจ๋(2BPP)์์๋ 8x4 ํฝ์ ์ ํ๋์ ๋ธ๋ก์ผ๋ก ๊ฐ์ง๋๋ค. ํ ๋ธ๋ก์ ํญ์ 64 ๋นํธ(8 ๋ฐ์ดํธ)์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ง๋๋ค. ์ด ํฌ๋ฉง์ iPhone, iPod Touch, iPad์ ๋ชจ๋ ์ธ๋์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. (PowerVR GPU๋ฅผ ์ฌ์ฉํ๋ ํน์ Android ์ฅ์น๋ ์ด ํ์์ ์ง์ํจ) Defold๋ ์ด ํฌ๋ฉง์์ "V1" ์ ๋ฏธ์ฌ๋ก ํ์๋ PVRTC1 ํฌ๋ฉง์ ์ง์ํฉ๋๋ค.
ETC
Ericsson Texture Compression. 4x4 ํฝ์ ๊ทธ๋ฃน์ ๋จ์ผ 64๋นํธ word ํ์์ผ๋ก ์์ถ๋ฉ๋๋ค. 4x4 ๊ทธ๋ฃน์ ์ ๋ฐ์ผ๋ก ๋๋๋ฉฐ ๊ฐ๊ฐ์ ์ ๋ฐ์๋ ํ ๊ฐ์ ๊ธฐ๋ณธ ์์์ด ํ ๋น๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๊ฐ ํฝ์ ์ ์ ๋ฐ์ ๊ธฐ๋ณธ ์์์ผ๋ก๋ถํฐ 4๊ฐ์ ์คํ์ ๊ฐ๋ค ์ค ํ๋๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. Android๋ 2.2 ๋ฒ์ (Froyo) ์ดํ ๋ถํฐ ETC1์ ์ง์ํ๋ฉฐ Defold๋ ETC1 ์์ถ ํ ์ค์ณ๋ฅผ ์ง์ํฉ๋๋ค.
| Format | Compression | Color | Note |
|---|---|---|---|
| TEXTURE_FORMAT_LUMINANCE | none | One channel gray-scale, no alpha | RGB ์ฑ๋์ด ํ๋๋ก ๊ณฑํด์ง. Alpha๋ ๋ฒ๋ ค์ง |
| TEXTURE_FORMAT_RGB | none | 3 channel color | Alpha๋ ๋ฒ๋ ค์ง |
| TEXTURE_FORMAT_RGBA | none | 3 channel color and full alpha | - |
| TEXTURE_FORMAT_RGB_PVRTC2BPPV1 | 1:16 fixed | No alpha | ์ ์ฌ๊ฐํ ์ด๋ฏธ์ง ํ์. ์ ์ฌ๊ฐํ์ด ์๋ ์ด๋ฏธ์ง๋ ๋ฆฌ์ฌ์ด์ง ๋จ |
| TEXTURE_FORMAT_RGB_PVRTC4BPPV1 | 1:8 fixed | No alpha | ์ ์ฌ๊ฐํ ์ด๋ฏธ์ง ํ์. ์ ์ฌ๊ฐํ์ด ์๋ ์ด๋ฏธ์ง๋ ๋ฆฌ์ฌ์ด์ง ๋จ |
| TEXTURE_FORMAT_RGBA_PVRTC2BPPV1 | 1:16 fixed | Pre-multiplied alpha | ์ ์ฌ๊ฐํ ์ด๋ฏธ์ง ํ์. ์ ์ฌ๊ฐํ์ด ์๋ ์ด๋ฏธ์ง๋ ๋ฆฌ์ฌ์ด์ง ๋จ |
| TEXTURE_FORMAT_RGBA_PVRTC4BPPV1 | 1:8 fixed | Pre-multiplied alpha | ์ ์ฌ๊ฐํ ์ด๋ฏธ์ง ํ์. ์ ์ฌ๊ฐํ์ด ์๋ ์ด๋ฏธ์ง๋ ๋ฆฌ์ฌ์ด์ง ๋จ |
| TEXTURE_FORMAT_RGB_ETC1 | 1:6 fixed | No alpha | - |