Unity15 자동차 시뮬레이터에서 차량 재정렬을 위한 속도 보정 함수 유도 및 구현(Unity C#), 코사인 보간법(Cosine Interpolation), 거리 차이 추가 보정(delta D) 1. 개요자동차 시뮬레이터에서 차량들이 주행 중 특정 조건을 만족하도록 재정렬하는 기능이 필요할 수 있습니다. 예를 들어, 시뮬레이션의 초기 조건으로 모든 차량이 100km/h의 속도로 등속 주행하며, 일정한 간격(20m) 유지해야 하는 상황을 가정할 수 있습니다.하지만 현실적으로 차량들은 서로 다른 속도와 간격을 가진 상태에서 출발할 가능성이 높습니다. 따라서 차량들이 목표 조건(100km/h, 20m 간격)에 도달하도록 속도를 자연스럽게 변화시키는 곡선을 설계하는 것이 중요합니다.이 글에서는 **코사인 보간법(Cosine Interpolation)**을 기반으로 차량 속도를 조정하는 수식을 유도하고, 이를 Unity C# 코드로 구현하는 방법을 설명합니다.2. 문제 정의 및 조건 정리후행 차량 B의 .. 2025. 3. 26. Unity Memory Profiler - 메모리 사용량 분석하기 , GC(가비지 컬렉터), 분석 도구 사용법 🚀 Unity Memory Profiler란?Unity에서 메모리 사용량을 분석하고 최적화하는 데 사용하는 도구로, 메모리 누수, GC(가비지 컬렉션), 오브젝트 메모리 사용량을 확인할 수 있다.📌 왜 Memory Profiler가 중요한가?PC의 메모리 시스템의 경우 하드웨어가 시스템 메모리를 보조해주기도 한다.ex) 디스크, 스토리지가 물리 메모리를 보조, 시스템 메모리가 그래픽 메모리 보조 OS의 메모리가 힘들면 그때 그때 알아서 죽여버린다.모바일에서 특히 메모리는 중요하다.Memory Profiler를 통해 디테일하게 메모리를 추적 가능하게 한다.📌 주요 기능메모리 스냅샷(Snapshot) 캡처 & 비교특정 시점의 메모리 상태를 저장하고 비교 가능메모리 증가/감소 분석하여 누수 감지Unity.. 2025. 2. 18. GC 급증을 일으킬 수 있는 불필요한 힙 할당에 유의 - Unity 개발 최적화 Unity는 Boehm-Demers-Weiser 가비지 컬렉터를 사용하며, 이 가비지 컬렉터는 프로그램 코드 실행을 중지하고 작업이 완료된 후에만 정상 실행을 재개합니다.GC 급증을 일으킬 수 있는 불필요한 힙 할당에 유의해야 합니다.문자열:C#에서 문자열은 값 형식이 아니라 참조 형식입니다. 즉, 모든 새 문자열은 일시적으로만 사용되는 경우에도 관리되는 힙에 할당됩니다. 불필요한 문자열 생성 또는 조작을 줄입니다. JSON 및 XML과 같은 문자열 기반 데이터 파일을 파싱하지 말고, 대신 ScriptableObject나 MessagePack 또는 Protobuf 같은 형식으로 데이터를 저장하세요. 런타임에 문자열을 빌드해야 하는 경우 StringBuilder 클래스를 사용합니다.1. 문자열 조작나쁜 코.. 2025. 2. 18. [해결] Multiple precompiled assemblies - Unity Photon Fusion SDK 임포트 문제 상황❓ Photon Fusion SDK 임포트된 상황에서 Unity Render Streaming Package 임포트 LogMultiple precompiled assemblies with the same name websocket-sharp.dll included on the current platform. Only one assembly with the same name is allowed per platform. (Assets/Photon/PhotonLibs/WebSocket/websocket-sharp.dll)해결 방법충돌나는 어셈블리 파일 삭제Unity Version Control Package의 버전을 업데이트하기Multiple Precompiled Assemblies With the .. 2025. 2. 18. supabase DB Unity와 연동하기 트러블슈팅 아래는 supabase DB를 Unity에 연동하는 과정 중에 있던 트러블 슈팅 과정을 기록한 글이다. 증상 1: PostgrestException: {"code":"42P01","details":null,"hint":null,"message":"relation \"public.product\" does not exist"}아래 코드를 작성하고 실행했더니 위 에러가 출력됐다. "relation "public.product" does not exist":는 PostgreSQL 데이터베이스에서 "public.product"라는 테이블을 찾을 수 없다는 의미입니다. Supabase는 PostgreSQL을 기반으로 하며, product라는 테이블이 데이터베이스에 존재하지 않으면 이 에러가 발생합니다.더보기us.. 2025. 2. 2. 유니티 이벤트 함수 생명주기 Awake, Start, Update, OnDisable, OnDestroy, OnMouse, FixedUpdate, yield WaitForEndOfFrame https://docs.unity3d.com/kr/2019.4/Manual/ExecutionOrder.html 이벤트 함수의 실행 순서 - Unity 매뉴얼Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하고 실행 시퀀스에 어떻게 포함되는지 설명합니다.docs.unity3d.com 2025. 1. 17. 이전 1 2 3 다음