Texture2D Resize Code (텍스쳐 2D 사이즈 변경)
Texture 2D의 Size를 다시 처리하는 코드이다.
해당 코드는 원본 (source) 을 기준으로 새로운 Texture2D를 생성해서 사이즈를 변경한다.
< 샘플 코드 >
private Texture2D ResizeTexture(Texture2D source, int newWidth, int newHeight)
{
RenderTexture rt = new RenderTexture(newWidth, newHeight, 0);
Graphics.Blit(source, rt);
Texture2D newTexture = new Texture2D(newWidth, newHeight);
newTexture.ReadPixels(new Rect(0, 0, newWidth, newHeight), 0, 0);
newTexture.Apply();
RenderTexture.active = null;
rt.Release();
return newTexture;
}
반응형
Texture2D.Resize가 Obsolete으로 실제 Unity 내부 소스에는 다음과 같이 처리가되어있다.
Unity-Technologies/UnityCsReferences Texture.cs : [링크]
[Obsolete("Texture2D.Resize(int, int) has been deprecated because it actually reinitializes the texture. Use Texture2D.Reinitialize(int, int) instead (UnityUpgradable) -> Reinitialize([*] System.Int32, [*] System.Int32)", false)]
public bool Resize(int width, int height)
{
return Reinitialize(width, height);
}
Unity Texture2D.Resize : [링크]
Unity Texture2D.Reinitalize : [링크]
★☆☆☆☆
반응형
'개발 > Unity' 카테고리의 다른 글
Unity Tip) 프로젝트, 하이어라키에서 쉽게 찾기 (Search Filter) (0) | 2023.05.16 |
---|---|
Unity)Editor - Project Current Directory Info(Project 현재 경로) (0) | 2023.05.12 |
Unity) PlayerPrefs 저장 경로 (0) | 2023.05.09 |
Unity) 모바일 딥 링크 설정 - Mobile Deep Link(Android, iOS, UWP) (0) | 2023.05.04 |
Unity)Unity 내장 DLL 경로 (0) | 2023.05.03 |
댓글