Unity 6

[Unity 6.2] 플레이어 애니메이션

Unity 6.2(60000.2.10f1)에서 구현 저번 턴제전투를 만든 후 플레이어의 움직임/타격에 대한 애니메이션을 구현해보려고한다. [유니티 턴제 전투 시스템] [Unity 6.2] 유니티 턴제 전투 시스템: HP, 공격, 그리고 [컬러 & 페이드] 전투 로그 간단 구현하기Unity 6.2(60000.2.10f1)에서 구현턴제 전투 게임을 만들다 보면 가장 먼저 고민하게 되는 것이 있다. 바로 플레이어와 몬스터의 공격/피해 처리, 그리고 피해 로그를 어떻게 보여줄 것인지다. 특히 전what-co.tistory.com지난 글에서는 HP 시스템, 공격·피해 처리, 그리고 전투 로그에 집중했다면, 이번 글에서는 플레이어 애니메이션 구현에 초점을 맞춰본다. 플레이어의 기본 동작인 Idle 애니메이션과, H..

[Unity 6.2] 유니티 턴제 전투 시스템: HP, 공격, 그리고 [컬러 & 페이드] 전투 로그 간단 구현하기

Unity 6.2(60000.2.10f1)에서 구현턴제 전투 게임을 만들다 보면 가장 먼저 고민하게 되는 것이 있다. 바로 플레이어와 몬스터의 공격/피해 처리, 그리고 피해 로그를 어떻게 보여줄 것인지다. 특히 전투 로그는 단순히 텍스트만 출력하는 것보다, 색상을 활용해서 직관적으로 보여주거나, 오래된 로그는 서서히 사라지도록 페이드 처리를 하면 훨씬 게임 느낌이 살아난다. 이번 글에서는 다음 요소들을 하나씩 구현해본다.유닛의 HP/공격력 관리플레이어 → 몬스터 공격몬스터 반격HP UI 표시색상 태그 + 투명도 페이드 효과 기반 전투 로그 시스템1. 간단한 전투 장면 구성기본적으로 장면에는 다음 요소들이 필요하다.Player(UnitStats)Monster(UnitStats)CombatManagerCom..

[Unity 6.2] 클릭 시 캐릭터 이동

Unity 6.2(60000.2.10f1)에서 구현 마우스 오른쪽 버튼을 클릭하면 캐릭터가 움직이도록 만들어보려고 한다. 3D 게임을 만들다 보면, 사용자가 클릭한 위치로 캐릭터가 자연스럽게 이동하는 방식을 자주 사용한다. 롤이나 디아블로 같은 게임에서 흔히 보는 방식이다. 이 기능의 핵심은 두 가지다. 첫째, 사용자가 어디를 클릭했는지 정확히 알아내기. 이를 위해 카메라에서 마우스 방향으로 Ray를 쏴서 지면과 충돌하는 지점을 찾는다. 둘째, 찾아낸 지점을 캐릭터의 이동 목표로 설정하기. Unity에서는 NavMeshAgent에 목적지를 전달하면 이동 경로 계산과 움직임 처리는 자동으로 해결된다. 이렇게 Raycast와 NavMeshAgent를 조합하면, 비교적 간단한 코드로 직관적인 클릭 이동 시스템..

[Unity] 유니티에서 마젠타/핑크색 머티리얼(Material) 에러

유니티 에셋을 사용하면 버전에 맞지 않거나 파이프라인이 변경됐을때 머티리얼에서 마젠타 또는 핑크색의 에러가 발생한다.마젠타 또는 핑크색의 머테리얼 에러가 발생하는 원인과 해결법에 대해서 알아보도록 하자.1. 머테리얼 에러의 원인 셰이더 미지원:Built-in의 Standard 셰이더는 URP나 HDRP에서 사용할 수 없다.참조가 끊기면 머티리얼이 셰이더를 읽지 못해 핑크로 표시된다.렌더링 키워드/패스 차이:파이프라인마다 렌더 큐, 키워드, 표면 처리 방식이 달라기존 설정이 그대로 적용되지 않는다.프로퍼티 불일치:URP/HDRP에서는 _MainTex → _BaseMap, _Color → _BaseColor처럼프로퍼티 이름 체계가 다르다.이름이 맞지 않으면 텍스처나 색 정보가 전달되지 않는다.렌더링 키워드..

Unity Joint : 물리 기반 연결의 이해와 활용

Unity의 물리 엔진(PhysX)은 단순한 충돌 감지 이상의 세계를 제공한다. 그 중심에는 물체 간의 물리적 연결을 가능하게 하는 Joint(조인트) 시스템이 있다. Joint는 두 개의 Rigidbody를 특정한 물리적 관계로 묶어, 제약(Constraint) 주거나, 자유도(Degree of Freedom)를 제한하는 역할을 한다. 이 글에서는 각 Joint의 개념, 동작 방식, 그리고 실제 프로젝트에서 어떻게 활용되는지를 차분히 정리해보겠다. 1. Joint란 무엇인가Joint는 물체 간의 상대적인 움직임을 제어하는 물리적 연결 장치다.즉, 두 물체가 완전히 고정되거나, 특정 축으로만 회전하거나, 일정한 거리 내에서만 이동하도록 제어할 수 있다.간단히 말해,Rigidbody 없이 움직이는 Game..

Unity에서 StreamingAssets 파일 로드하기 – WebGL과 로컬 환경 대응 코드 분석

Unity 프로젝트에서 외부 파일을 읽어야 하는 경우, StreamingAssets 폴더는 매우 유용한 방법입니다. 특히 JSON, 텍스트 파일, 바이너리 데이터를 앱에 번들링하여 배포할 수 있기 때문에 다양한 상황에서 활용됩니다.이번 포스팅에서는 StreamingAssets 경로에서 파일을 로드하는 예제로 다음과 같은 Unity C# 스크립트를 분석하고, 특히 WebGL 플랫폼과 로컬 환경에서의 차이점을 설명드리겠습니다.📁 StreamingAssets이란?StreamingAssets는 Unity 프로젝트 내에서 외부 파일을 앱 빌드에 포함시킬 수 있는 특별한 폴더입니다. 이 폴더에 넣은 파일은 빌드 후에도 수정되지 않고 원본 그대로 유지되며, 경로를 통해 직접 접근할 수 있습니다. 폴더 구조는 다음과..