2025/Unity 15

Unity - UI용 Line Renderer

일방적인 lineRenderer또한 UI상에서 사용할 수 는있지만 실제로는 게임 오브젝트로 적용되기 때문에 sortting이 제대로 적용되지 않거나 해상도에 따라 위치가 제대로 반영이 안되는 경우가 발생할 수 있다 이를 해결하기 위해 grapic ui를 조정하여 UI 용 line renderer를 제작해 보았다using System.Collections.Generic;using System.Net;using UnityEngine;using UnityEngine.UI;public class UILineConnector : Graphic{ [Header("스프라이트")] public Sprite lineSprite; // 적용하고자 하는 스프라이트 없을시 일반 텍스쳐 적용 public ..

2025/Unity 2025.07.26

Unity 람다식 오류

for(int i = 0; i )delegates[i], () => { isDoneList[i] = true; }));}private IEnumerator RunCoroutine(Func coroutineFunc, Action onComplete){ yield return coroutineFunc(); onComplete?.Invoke();} 위 코드를 사용하게 되면 indexOutOfRange가 발생할 가능성이 아주 크다는 것을 이번에 깨닳았다. 1. 문제점람다식에서 사용된 i 라는 인덱스는 람다식 안에서 복사값이 아닌 참조 값으로 가지고 있게된다 이렇게 된다면 나중에 람다식이 실행될때 원하던 0, 1 , 2번째의 isDoneList를 변형하는 것이 아닌 i의 최종..

2025/Unity 2025.06.28

Unity - MCP 사용해보기

Unity MCP를 활용한 빠른 개발 후기 및 실행 방법후기기본적인 프로토타입 생성이나 간단한 작업은 Unity MCP를 활용하면 상당히 편리하다. 하지만 전체적인 구조를 구성하거나 여러 시스템을 연결하는 작업은 직접 코드로 작성하는 것이 더 빠르고 효율적일 수 있다. 따라서 MCP를 활용해 반복적인 작업을 자동화하고, 핵심 로직은 직접 구현하는 방식이 가장 이상적이라고 생각한다.실행 방법1. MCP GitHub 다운로드아래 GitHub 저장소에서 Unity MCP를 다운로드한다.🔗 Unity MCP GitHub2. 설정하기Python 3.12 이상 설치 (설치 시 환경변수 설정 옵션 체크)cmd 창에서 다음 명령어 실행설치 후 pip show uv 명령어를 사용하여 UV 설치 경로 확인pip inst..

2025/Unity 2025.04.03

Unity3D - indicator 구현

에셋으로 팔지만 물리지식이 있다면 간단하게 구현 가능하고 좀더 세밀하게 조정하여 에셋에 돈을 지불하는것을 방지할 수 있다 2D에 z축이 추가된 사항뿐이며 UI는 camera의 far을 넘어가게 되면 보이지 않게된다 (나는 이를 고려하지는 않았다) 코드를 바로 보면 이해가 될거다 using TMPro;using UnityEngine;using UnityEngine.UI;public class Waypoint : MonoBehaviour{ [Header("Image Settings")] public Image screenOffImage; public Image screenOnImage; [Header("Transform")] public Transform wayPointTarget..

2025/Unity 2025.03.13

[Unity] tool 만들기 아코디언 메뉴

전에 script로 구현해 놓았던 아코디언 메뉴를 바로바로 사용하기 편하도록 Editor를 만들어 보았다 " data-og-description="접기/펼치기 토글로 내용이 스르륵 나타났다 사라지는 메뉴, 흔히 '아코디언 메뉴'라고 불리는 UI를 직접 구현해봤습니다.굳이 에셋을 사거나 별도 트윈 시스템을 구현하는 게 귀찮아서, 그냥 간" data-og-host="rimugiri.tistory.com" data-og-source-url="https://rimugiri.tistory.com/entry/Unity-UI-%EC%95%84%EC%BD%94%EB%94%94%EC%96%B8-%EB%A9%94%EB%89%B4-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%95-%ED%8..

2025/Unity 2025.03.01

[Unity] UI - 아코디언 메뉴 만드는 방법 <펼치고 접기>

접기/펼치기 토글로 내용이 스르륵 나타났다 사라지는 메뉴, 흔히 '아코디언 메뉴'라고 불리는 UI를 직접 구현해봤습니다.굳이 에셋을 사거나 별도 트윈 시스템을 구현하는 게 귀찮아서, 그냥 간단하게 구성했습니다.아래는 제가 실제로 구현한 과정과 팁을 정리한 내용입니다.1. UI 세팅아코디언 메뉴는 다음처럼 3단계로 구성됩니다.Panel    └ Item       ├ Header       └ Content ① PanelPanel은 전체적인 레이아웃을 관리하는 부모 오브젝트입니다.Vertical Layout Group : 아이템들이 세로로 정렬되도록 설정Content Size Fitter : 내용물에 따라 자동으로 크기 조정⚠️ Control Child Size 옵션을 켜서 Content의 높이가 제대로 ..

2025/Unity 2025.03.01

UnityEditor : 스크립터블오브젝트 <-> json 상호 변환기

코드로 항상 구현하기 귀찮아서 툴로 만들어 버리자 1. 사용방법1) 해당하는 scriptable오브젝트를 프로젝트 창에서 선택한다.2) save를 눌러주면 Datas라는 폴더에 데이터에 대한 json파일이 생성되어있다.3) Load를 눌러주면 해당 ScriptableObject에 json데이터가 저장되어 있다. 2. 구현using System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;public class SaveScriptableObjectToJsonEditor : Editor{ static string savePath = Application.dataPath + "/Datas"; [Men..

2025/Unity 2025.02.25

Unity - Parallax 배경 효과를 구현하는 2가지 방법

✅ 1. Transform을 이용한 간단한 방식카메라의 위치를 기반으로 배경을 따라가게 하는 간단한 방법이다.이 방법은 트랜스폼(Transform)을 직접 조작하여 배경이 움직이도록 한다.📌 구현 방식카메라의 위치를 가져온다.Vector3.Scale 연산을 이용해 배경이 이동할 값을 계산한다.배경의 transform.position을 업데이트한다.🎮 코드 예제public class ParallaxBackground : MonoBehaviour{ public Vector3 movementScale = Vector3.one; // 카메라 움직임에 대한 배경 이동 배율 private Transform _camera; void Awake() { _camera = Camer..

2025/Unity 2025.02.11