전체 글
-
PlayableAD & 제작 4Dev/Unity 2025. 9. 14. 19:32
한계치 분석 ( 박스 오브젝트 1000개 기준 )총 Triangles 939,586 / Vertices 1,618,676 / Draw Calls 1,370프레임 비중: Physics3D 56.7% / Rendering 40.1%, Avg frame time 14ms(≈71fps), RAM 116MB 2. 최적화 a.아이템에 그림자가 있어야 할까?그림자가 있으면 좋겠지만 그림자가 있고 없고의 성능 차이가 크다.Before (그림자 On)Draw Calls: 1,370Vertices: 1,618,676Triangles: 939,586Frame time: 14 ms (~71 fps)CPU: 81%, RAM: 116 MB프레임 비중: Physics3D 56.7%, Rendering 40.1% Afte..
-
PlayableAd & 제작 기초 3Dev/Unity 2025. 9. 13. 18:14
PlanarShadow 시스템 분석 🎯 시스템의 핵심 역할PlanarShadow는 3D 오브젝트의 평면 투영 그림자를 생성하는 시스템입니다. 실제 조명 계산 없이 기하학적 투영을 통해 그림자를 만들어내는 렌더링 솔루션입니다.📋 주요 구성 요소1. C# 스크립트 (PlanarShadow.cs)그림자 생성 및 제어 로직머티리얼 관리 시스템에디터 도구 제공실시간 오프셋 조정2. 셰이더 파일들PlanarShadow.shader: 실시간 동적 그림자용PlanarShadowBaked.shader: 베이크된 정적 그림자용⚙️ 작동 원리1. 그림자 투영 계산 (셰이더에서)**// 월드 좌표에서 그림자 위치 계산float4 vPosWorld = mul(unity_ObjectToWorld, v.vertex);float..
-
PlayableAd & 제작 2Dev/Unity 2025. 9. 12. 19:18
PathFinding 분석 요약핵심 특징:A 알고리즘* 기반 경로 탐색노드 연결 시스템 (시각적 에디터 지원)경로 캐싱 (성능 최적화)축 회전 제약 기능정적 API 설계 (싱글톤 패턴)핵심 기능 상세1. 기본 이동Pathfinding.MovePath( customerTransform, // 이동할 객체 counterPosition, // 목적지 2.0f, // 이동 속도 () => Debug.Log("도착!") // 완료 콜백);회전 제약Pathfinding.MovePath( playerTransform, targetPosition, speed, rotationSpeed, ELockAxisConstrain..
-
PlayableAd & 제작 1Dev/Unity 2025. 9. 11. 11:58
트러블 슈팅1. 돈 애니메이션 추적 시스템의 결함- PurchaseMoneyAnimationController의 RemoveCompletedAnimation() 메서드에서 _activeAnimations[i] == null 체크 방식이 정확하지 않음- 코루틴이 완료되어도 즉시 null이 되지 않아 정확한 추적이 불가능- 해결: 각 돈 오브젝트와 코루틴을 정확히 매핑하여 완료 시 확실히 제거, 구매 완료 시 남은 돈 애니메이션들을 제거1. Trigger이벤트로 감지할 때 같은 스크립트 사용했는데, 카운터만 상호작용이 안됨.- 증상: 동일한 StackInteractionController를 쓰는데도, BoxGenerator, TrashBin은 정상 작동, 카운터(Counter)만 플레이어와 상호작용이 안 됨..
-
AI 도구 활용 개발 가속화 4 문서화AI 도구 활용 개발 가속화 2025. 9. 10. 18:23
페이크 경쟁 시스템 기획서개요SnakeGame 프로젝트에 페이크 경쟁 시스템을 추가하여 플레이어에게 실제 경쟁 환경을 체감할 수 있도록 구현한다. 최소 20~50명의 플레이어가 입장해야 게임이 시작되며, 최대 50명까지 지원한다.주요 기능 요구사항1. 입장 시스템최소 입장자 수: 20~50명 (설정 가능)최대 입장자 수: 명 (설정 가능)게임 시작 조건: 최소 입장자 수 충족 시 자동 시작입장 방식: 플레이어 1명 + AI 19~49명2. 채팅 로그 시스템위치: 화면 좌측 하단형식: 채팅 인터페이스 형태내용: 플레이어 입장 알림 메시지예시: “슈센님이 경기장에 입장 하였습니다.”3. 동적 입장 시스템빈자리 채움: 게임 진행 중 n초마다 빈자리 자동 채움채움 방식: 랜덤 이름으로 AI 플레이어 입장최대 제..
-
AI 도구 활용 개발 가속화 3 문서화AI 도구 활용 개발 가속화 2025. 9. 10. 18:21
게임 규칙 (SnakeGame)게임 시작/진행게임은 매니저가 초기화 후 즉시 시작된다. 근거: SnakeGameManager.InitializeGame → StartGame 호출public void InitializeGame(){ ValidatePrefabSettings(); ClearGame(); SpawnInitialSnakes(); SpawnInitialFood(); StartGame();}일시정지/재개: Space 키로 토글. 재시작: R 키. 에디터에서 ESC 종료. 근거: 입력 처리private void HandleGameControlInput(){ if (Input.GetKeyDown(KeyCode.Space)) { ... } if (Input.GetKeyDown(KeyCode.R)) { I..
-
유니티 Playworks 빌드 오류 해결 과정Dev/Unity 2025. 9. 8. 22:10
1. C# 문법 에러Playworks 빌드는 C# 7까지만 지원C# 9의 “타깃-타입 new(target-typed new)” 문법을 인식하지 못해서 new를 1개 요소짜리 튜플로 잘못 해석CS8124Tuple must contain at least two elements.private readonly List _availableIndices = new();-> private readonly List _availableIndices = new List();GameObject go = new("PoolManager");-> GameObject go = new GameObject("PoolManager"); C# 9의 target-typed conditional expression, 대입 대상의 타입을 보..
-
AI 도구 활용 개발 가속화 2 프롬프트 회고AI 도구 활용 개발 가속화 2025. 8. 26. 17:27
가장 유용했던 프롬프트첫 번째 대화더보기더보기---**User**"지구에서 아이가 헬륨풍선을 들고 있다가 줄을 놓으면 하늘로 날아가는 상황"을 사실적으로 구현하는 풍선 물리시뮬레이션 프로젝트를 진행할거야.풍선 물리시뮬레이션 프로젝트를 Unity 물리 컴포넌트로 구현하는 설계서를 작성해줘.[키워드]- 기본: 풍선과 자연스러운 줄- 기본: 씬 시작 시 풍선을 할당된 개수만큼 생성하는 풍선크리에이터- 심화1: UI에 있는 버튼을 클릭해서 줄을 놓았을 때 하늘로 날아가기- 심화2: 셰이더로 풍선 느낌- 추가: 풍선 다발, MISSION COMPLETE 연출출력은 프로젝트 폴더 최상위에 마크다운 문서로 작성해줘.---**Cursor**안녕하세요! 10년차 유니티 시니어 개발자로서 요청하신 "헬륨풍선 물리 시뮬레이..