tileset_get_uvs 함수 설명
tileset_get_uvs 함수는 주어진 타일 세트의 텍스처 페이지에서 UV 좌표와 기타 데이터를 포함하는 배열을 반환합니다. 이 배열은 다음과 같은 8개의 요소로 구성됩니다:
| 인덱스 | 설명 |
|---|---|
| [0] | 왼쪽 좌표 (left) |
| [1] | 위쪽 좌표 (top) |
| [2] | 오른쪽 좌표 (right) |
| [3] | 아래쪽 좌표 (bottom) |
| [4] | 타일 세트의 왼쪽에서 잘린 픽셀 수 |
| [5] | 타일 세트의 위쪽에서 잘린 픽셀 수 |
| [6] | 텍스처 페이지에 저장된 원래 타일 세트 너비의 정규화된 백분율 |
| [7] | 텍스처 페이지에 저장된 원래 타일 세트 높이의 정규화된 백분율 |
이 배열은 다른 드로우 함수에서 사용할 수 있으며, 특히 3D 작업이나 2D 프리미티브 함수, 셰이더 함수와 함께 사용할 수 있습니다.
문법
tileset_get_uvs(tileset);
인수
| 인수 | 타입 | 설명 |
|---|---|---|
| tileset | Tile Set Asset | 사용할 타일 세트의 인덱스 |
반환값
- 배열 (1D, 8 요소)
예제
var tex = tileset_get_uvs(tl_Grass);
tex_left = tex[0];
tex_top = tex[1];
tex_right = tex[2];
tex_bottom = tex[3];
위 코드는 주어진 타일 세트의 UV 좌표를 로컬 배열에 저장하고, 그 값을 인스턴스 변수에 할당합니다.
활용 예제
- 타일 세트의 UV 좌표를 사용하여 텍스처 그리기
var tex = tileset_get_uvs(tl_Grass);
draw_sprite(spr_Tile, 0, x, y);
draw_sprite_part(spr_Tile, 0, tex[0], tex[1], tex[2] - tex[0], tex[3] - tex[1], x, y);
- 3D 모델에 텍스처 적용하기
var tex = tileset_get_uvs(tl_Grass);
d3d_draw_texture(tex[0], tex[1], tex[2], tex[3]);
- 셰이더에서 UV 좌표 사용하기
var tex = tileset_get_uvs(tl_Grass);
shader_set(myShader);
shader_set_uniform_f(u_texCoord, tex[0], tex[1]);
- 타일 세트의 크기 조정
var tex = tileset_get_uvs(tl_Grass);
var scaleX = (tex[2] - tex[0]) * scale_factor;
var scaleY = (tex[3] - tex[1]) * scale_factor;
draw_sprite_ext(spr_Tile, 0, x, y, scaleX, scaleY, 0, c_white, 1);
이와 같은 방법으로 tileset_get_uvs 함수를 활용하여 다양한 그래픽 작업을 수행할 수 있습니다.