반응형

유니티_unity

유니티, text를 lagacy 밑에 두는 이유

유니티(Unity)에서 Text를 Legacy(레거시) 카테고리 아래에 두는 이유는 해당 컴포넌트가 이전 버전에서 사용되었고, 이제는 더 이상 주요 방식으로 권장되지 않기 때문입니다. 자세히 설명하자면: 🔹 1. Legacy의 의미유니티에서 Legacy는 "이전 기술, 더 이상 적극적으로 사용을 권장하지 않음"을 의미합니다. 즉, 호환성 유지를 위해 남겨두었지만, 새로운 프로젝트에서는 다른 방법을 쓰는 것이 좋다는 의미입니다. 🔹 2. Text (Legacy) 컴포넌트란?Unity UI 시스템 (uGUI)의 초기 버전에서 쓰이던 Text 컴포넌트입니다.UnityEngine.UI.Text 네임스페이스에 존재하고, Canvas 기반의 UI 시스템에서 사용됩니다.🔹 3. 왜 레거시가 되었는가?유니티는 이..

유니티_unity 2025.04.07

유니티, Vector 클래스를 이용해서 두 점 사이의 거리 계산

유니티에서 Vector 클래스를 사용해서 두 점 사이의 거리를 계산하는 건 아주 간단해요! Unity에서는 주로 Vector2(2D)나 Vector3(3D)를 사용하게 되는데, 둘 다 똑같은 방식으로 거리를 계산할 수 있습니다. ✅ 기본 문법float distance = Vector3.Distance(pointA, pointB);// 또는float distance = (pointA - pointB).magnitude;  📌 예제 (3D 기준: Vector3)using UnityEngine;public class DistanceExample : MonoBehaviour{ void Start() { Vector3 pointA = new Vector3(1, 2, 3); V..

유니티_unity 2025.04.07

유니티, 텍스트 출력 TextMeshPro 와 Legacy Text 차이점

유니티에서 TextMeshPro와 Legacy Text(기존 UI.Text 또는 Text 컴포넌트)는 텍스트를 표시하는 데 사용되지만, 기능과 성능 면에서 여러 가지 중요한 차이점이 있어요. 아래에 각각의 차이점들을 정리해볼게요.  🔤 1. 렌더링 품질TextMeshPro:고해상도 벡터 기반 렌더링 → 텍스트가 어떤 해상도에서도 선명하게 보임.다양한 효과(외곽선, 그림자, 글로우 등)를 고품질로 지원.Legacy Text (UI.Text):비트맵 기반 렌더링 → 확대하면 깨짐.기본적인 그림자, 외곽선만 가능하며 품질이 떨어짐⚙️ 2. 기능TextMeshPro:리치 텍스트 기능이 더 강력함 (, , , 등 다양한 태그 지원).다이나믹 폰트 스타일, 커스텀 폰트 에셋, 폰트 fallback 지원.텍스트 ..

유니티_unity 2025.04.06

(유니티) 3D, 오브젝트를 따라다니는 카메라 스크립트

유니티 3D에서 오브젝트를 약간 위에서 바라보는 따라다니는 카메라 스크립트입니다. 프로젝트 만들기1. 3D용으로 프로젝트를 생성합니다. 2. Hierarchy 창에 3d 오브젝트 "Terrain"과 "Cyliner"를 추가합니다. 3. "Terrain"의 Position 값을 "-500, 0, -500"으로 설정합니다. 4. "Cylinder"오브젝크를 이동하는 C# 스크립트를 생성하고 "Cyliner"에 연결합니다 - "CylinderController.cs"(실행해서 상하좌우 화살표 키로 실린더가 잘 이동하는 지 확인합니다.)-- 여기까지는 https://coding-abc.kr/297  글을 참고합니다. 5. 카메라를 움직이는 스크립트를 생성하고, "Main Camera"에 연결합니다 - Follo..

유니티_unity 2024.05.25

(유니티) 키보드로 3D 오브젝트 좌우 앞으로 뒤로 이동하기

유니티에서 키보드를 이용해서 3D 오브젝트를 오른쪽 왼쪽 앞으로 뒤로 이동시키는 간단한 코드입니다. 프로젝트 만들기 1. 3D를 선택해서 프로젝트를 생성합니다. 2. Hierarchy 창에 "Terrain"과 "Cylinder" 3D 오브젝트를 추가합니다. 3. Inspector 창에서 "Terrain"의 Position을 "-500, 0, -500"으로 설정합니다. 4. C# 스크립크를 생성하고, "Cylinder"에 연결합니다 - "CylinderController.cs"using UnityEngine;public class CylinderController : MonoBehaviour{ private Vector3 direction = Vector3.zero; void Update() ..

유니티_unity 2024.05.25

(유니티) 월드 좌표와 스크린 좌표, WorldToScreenPoint 변환

월드 좌표는 3D 공간에서 객체의 위치를 나타내는 좌표입니다. 이는 객체의 위치가 카메라나 화면과 무관하게 공간 내에서 고유한 위치를 가지고 있다는 것을 의미합니다. 반면 스크린 좌표는 화면의 픽셀 단위로 위치를 나타내는 좌표이며, 카메라의 시점에 따라 달라질 수 있습니다. 유니티에서 월드 좌표를 스크린 좌표로 변환하는 과정은 게임 또는 애플리케이션에서 객체의 위치를 화면 상의 위치로 변환하는 데 사용됩니다. 이를 통해 객체의 위치를 화면에 표시하거나 객체와 관련된 상호작용을 구현할 수 있습니다. 유니티에서 월드 좌표를 스크린 좌표로 변환하는 방법은 다음과 같습니다. 변환하려는 객체의 위치를 가져옵니다. 이는 일반적으로 해당 객체의 Transform 컴포넌트를 통해 수행됩니다.카메라의 시점을 기준으로 월..

유니티_unity 2024.05.12

(유니티) 룰렛이 멈추는 위치의 문자열 출력하기

유니티 책 [유니티 교과서]에는 룰렛 돌리기의 예제가 있습니다.그냥 이미지만 돌리는데 예제인데, 이 룰렛 이미지가 멈추는 위치의 문자열을 출력하도록 수정해 봤습니다. 룰렛 돌리기 프로젝트 만들기1. 유니티에서 2D로 프로젝트를 생성합니다. 2. 이미지를 Assets으로 가져옵니다. 3. "roulette" 이미지를 씬에 배치합니다.Position: 0 0 0Rotation: 0 0 0Scale: 1 1 1 4. "neddle" 이미지를 씬에 배치합니다.Position: 0 3 0Rotation: 0 0 0Scale: 1 1 1  5. C# 스크립트를 생성하고, "roulette"에 연결합니다.코드를 작성합니다.using System.Collections;using System.Collections.Gen..

유니티_unity 2024.05.06

(유니티) 오브젝트가 화면 밖으로 나가면 삭제하기

유니티에서 오브젝트가 화면 밖으로 나갔을 때 제거하는 것은 비교적 간단한 프로세스입니다. 여러 가지 방법이 있지만, 가장 일반적인 방법 중 하나는 카메라의 시야 영역을 기준으로 오브젝트의 위치를 확인하여 처리하는 것입니다. 다음은 이를 수행하기 위한 간단한 스크립트 예제입니다. 이 스크립트는 카메라의 시야 영역을 벗어나면 해당 게임 오브젝트를 제거합니다. using UnityEngine; public class ObjectRemover : MonoBehaviour { private Camera mainCamera; void Start() { mainCamera = Camera.main; // 게임에서 메인 카메라 가져오기 } void Update() { Vector3 viewPos = mainCamera..

유니티_unity 2024.04.09

(유니티) 프리팹 Prefab: 마우스 버튼을 클릭한 자리에 프리팹 출력하기

유니티의 프리팹(prefab)을 다루는 예제입니다. 마우스를 클릭한 자리에 프리팹을 출력하는 코드를 작성해 보겠습니다. 프리팹은 자동차가 앞으로 이동하는 간단한 기능으로 구현합니다. 1. 프로젝트를 생성합니다 - 여기서는 2D로 생성했습니다. 2. 아래의 이미지를 Assets으로 가져옵니다. 이미지를 "car.png"로 저장합니다. 3. 자동차 이미지를 씬(scene)에 배치합니다. 4. C# 스크립트를 생성하고, 이름을 "CarController"로 변경합니다. 자동차를 앞으로 이동하는 코드를 작성하고, "car"와 연결합니다. 5. 실행합니다 - 자동차가 앞으로 이동합니다. using UnityEngine; public class CarController : MonoBehaviour { private..

유니티_unity 2024.04.09
반응형