texture_get_uvs 함수 설명
texture_get_uvs
함수는 주어진 텍스처 포인터에 대한 UV 좌표를 반환하는 함수입니다. 이 함수는 1D 배열을 반환하며, 배열의 요소는 다음과 같습니다:
인덱스 | 설명 |
---|---|
[0] | 왼쪽 좌표 (left) |
[1] | 위쪽 좌표 (top) |
[2] | 오른쪽 좌표 (right) |
[3] | 아래쪽 좌표 (bottom) |
[4] | 스프라이트의 왼쪽에서 잘린 픽셀 수 (스프라이트 자산 전용) |
[5] | 스프라이트의 위쪽에서 잘린 픽셀 수 (스프라이트 자산 전용) |
[6] | 원본 스프라이트 너비의 정규화된 비율 (스프라이트 자산 전용) |
[7] | 원본 스프라이트 높이의 정규화된 비율 (스프라이트 자산 전용) |
이 값들은 다른 드로우 함수에서 사용될 수 있으며, 특히 일반 3D 및 일부 2D 프리미티브 함수, 그리고 셰이더 함수에서 유용합니다. 스프라이트의 UV가 필요하다면 sprite_get_uvs
를, 폰트의 경우 font_get_uvs
, 타일 세트의 경우 tileset_get_uvs
를 사용할 수 있습니다.
문법
texture_get_uvs(texid)
인수
인수명 | 타입 | 설명 |
---|---|---|
texid | Texture | UV를 가져올 텍스처 포인터 |
반환값
- 배열 (4 - 8 요소)
예제
var _tex = surface_get_texture(surf_back);
var _uvs = texture_get_uvs(_tex);
var _uvs_left = _uvs[0];
var _uvs_top = _uvs[1];
var _uvs_right = _uvs[2];
var _uvs_bottom = _uvs[3];
위의 코드는 먼저 surf_back
에 저장된 서피스의 텍스처를 가져온 후, 해당 텍스처의 UV 좌표를 가져옵니다. 그런 다음 반환된 배열에서 왼쪽, 위쪽, 오른쪽 및 아래쪽 UV 좌표를 추출하여 로컬 변수에 저장합니다.
활용 예제
- 3D 모델 텍스처 매핑
var _model = model_add();
var _texture = texture_get_uvs(my_texture);
model_set_texture(_model, _texture);
- 2D 게임에서 스프라이트 애니메이션
var _sprite_uvs = sprite_get_uvs(my_sprite);
draw_sprite(my_sprite, _sprite_uvs);
- 타일 세트에서 특정 타일 그리기
var _tileset_uvs = tileset_get_uvs(my_tileset);
draw_tileset(my_tileset, _tileset_uvs);
- 셰이더에서 UV 좌표 사용
var _uvs = texture_get_uvs(my_texture);
shader_set(my_shader);
shader_set_uniform_f("u_uvs", _uvs);
이와 같은 방식으로 texture_get_uvs
함수를 활용하여 다양한 그래픽 작업을 수행할 수 있습니다.