
플레이 엑스포에 전시를 합니다~ 놀러들오세요!
- 진우의 포트폴리오
- · 2025. 5. 22.
GitHub 템플릿 저장소GitHub에서 템플릿 저장소를 활용하면, 기존 프로젝트를 복사해서 새로운 프로젝트로 시작할 수 있어서 base 코드를 반복하지 않아도 됩니다. 깃 템플릿을 만드는 과정과 사용하는 방법에 대해 알아보겠습니다. GitHub에서 해당 레포로 이동합니다.우측 상단 ⚙️ Settings 클릭합니다.좌측 메뉴에서 General 탭을 클릭합니다.아래로 스크롤하면 "Template repository" 체크박스가 있습니다.✅ 체크하면 저장소가 템플릿으로 설정됩니다.GitHub에서 해당 템플릿 저장소 페이지로 이동합니다.초록색 Use this template 버튼 클릭해줍니다.Create a new repository 선택을 해줍니다.새로운 저장소 이름을 입력하고 Create repositor..
https://what-to-make-escape.netlify.app/ 방탈출을 기획하는 분께 도움이 되지 않을까? 싶어서 제작을 해보았는데용!사이트제작은 처음이라 버그가 많을 수도...QA환영입니다 ㅎㅎ
이번 포스팅에서는 Unity → Android APK 빌드 → Meta Quest 스토어 자동 업로드까지 한 방에 처리하는 GitHub Actions CI/CD 파이프라인에 대해 배워보겠습니다.자동 버전 코드 증가로 매번 BundleVersionCode 를 신경 쓸 필요 없음라이브러리·Gradle 캐싱으로 빌드 속도 단축빌드 완료 시 Discord 웹훅으로 바로 알림이 파이프라인은 제 프로젝트에 최적화 되어 있으므로, 그대로 사용하시면 안됩니다. 본인 프로젝트에 맞게 꼭 변형해서 사용하셔야 문제 없이 작동이 됩니다.CD를 위한 yml 코드name: Unity Build & Meta Quest Deployon: push: branches: [ "main" ] # 메인에 머지 → 정식..
유니티 SRP Batcher, 너 어디까지 허용되니?SRP Batcher가 “같은 셰이더 Variant(= Keyword 집합)” 만 묶어 준다는 사실은 많이 알려져 있지만, 무엇이 Variant를 갈라놓고 어디까지 다른 값을 허용하는지는 문서 곳곳에 흩어져 있습니다. 아래wlsdn629.tistory.com 정적배칭과 Draw Call에 대해서정적배칭을 사용하는 최적화 방법정적이란 말 그대로 움직이지 않는 것을 뜻하며, 움직이지 않는 정적 오브젝트에 활용하는 기법이다. 동일한 재질을 공유하는 오브젝트들을 일괄 처리해서 드wlsdn629.tistory.com Unity Static batcing이란? (실습)Static batcing(정적 배칭) 이란 드로우 콜을 줄이기 위해 움직이지 않는 메시를 결..
Object Pooling을 왜 써야 할까?런타임 중 매번 오브젝트를 생성하고 파괴(Instantiate / Destroy)하면 CPU 부하와 GC(가비지 콜렉션)가 크게 늘어납니다.Network 오브젝트도 예외는 아닙니다. Fusion에서 Spawn() / Despawn()을 호출할 때마다 내부적으로 Instantiate/Destroy가 일어나므로, 총알·적 몬스터처럼 빈번히 생성되는 오브젝트는 풀링이 필수적입니다. Unity Pooling System (최적화 구웃!)Pooling이란? Unity의 풀링 시스템은 런타임 중에 게임 오브젝트를 효율적으로 관리하고 재사용하는 데 사용되는 기술로, 특히 총알, 적, 파티클과 같은 오브젝트를 자주 생성하고 소멸해야 할 때wlsdn629.tistory.com ..
using System.Collections.Generic;using UnityEngine;[AddComponentMenu("Rendering/MPB Color Setter")][ExecuteAlways, DisallowMultipleComponent]public class MPBColorSetter : MonoBehaviour{ [Header("Target Renderers (Reorderable)")] [SerializeField] private Renderer[] targetRenderers; [Header("Override Color")] [ColorUsage(true, true)] [SerializeField] private Color overrideColor = Co..
유니티 메테리얼 복사본 없이 수정하기 #MaterialPropertyBlock메티리얼을 직접 수정하면 각 객체에 대해 메모리에 해당 머티리얼의 새로운 인스턴스를 생성하게 됩니다. MaterialPropertyBlock를 사용하여 복사본이 생성되는 문제를 해결할 수 있습니다. MaterialProwlsdn629.tistory.com 유니티 OVR 메테리얼 수정을 돕는 MaterialPropertyBlockEditorOVR SDK 프로젝트를 스터디 하다보면 MaterialPropertyBlockEditor 스크립트를 종종 발견하곤 했습니다. MaterialPropertyBlockEditor 스크립트가 무엇인지 이번 포스팅에서 살펴보고자 합니다😁. MaterialPropertyBlocwlsdn629.tis..
SRP Batcher가 “같은 셰이더 Variant(= Keyword 집합)” 만 묶어 준다는 사실은 많이 알려져 있지만, 무엇이 Variant를 갈라놓고 어디까지 다른 값을 허용하는지는 문서 곳곳에 흩어져 있습니다. 아래 표에 허용 범위 / 배제 범위를 정리하였 세 가지 배칭 기법의 세부 비교에 대해 알아보겠습니다!요약(복습)Shader Variant 분리 조건은 Pass, Shader Keywords, CBUFFER 레이아웃 3가지입니다. Texture·Color 값이 달라도 상관없지만 Keyword 플래그가 하나라도 다르면 SRP Batcher가 끊기게 됩니다.Static Batching 은 머티리얼만 공유하면 메시를 통째로 합쳐 1 드로우가 가능하지만, RAM·VRAM이 상당히 늘어나게 됩니다.G..
InverseTransformPoint 예시 설명Vector3 localTipPos = referential.InverseTransformPoint(tip.position);월드 좌표계에 있는 tip.position을 referential 기준의 로컬 좌표로 변환합니다.해석tip.position: 팁의 월드 좌표계 위치referential: 기준이 되는 오브젝트 (예: 접촉 대상의 Transform)localTipPos: referential 기준에서 본 팁의 상대적 위치즉, localTipPos는 "이 팁이 표면 오브젝트 기준으로 어느 위치에 있는지"를 알려줍니다.📌 이걸 통해 표면 안으로 얼마나 들어갔는지, 어느 방향으로 들어왔는지를 정밀하게 계산할 수 있습니다.BlockingSurface 구성은 ..
안녕하세요!VR 방탈출 게임을 제작하고 있는 팀에서 함께할 팀원을 찾고 있습니다. (5월 말까지만! - 6월 초부터는 새로운 테마 제작 시작!)명화나 동화 같은 작품을 재해석하여, 몰입감 있는 VR 방탈출 콘텐츠를 만들고자 합니다.👥 현재 팀 구성PM: 1명서버 & 클라이언트 개발자: 4명3D 모델러: 2명 (나갈 예정! 너무너무너무 필요해요)TA: 1명컨셉 아티스트: 2명사운드 디자이너: 1명기획자: 1명현재 팀은 학생들과 현직자들로 구성되어 있습니다.일부 팀원들은 사이드 프로젝트로 포트폴리오를 쌓고 있으며, 저를 포함한 몇몇은 이 프로젝트를 통해 사업을 진행하고 있습니다.🔧 진행 상황 첫 번째 테마: 제작 마무리 단계 두 번째 테마: 기획 준비중 (동화 및 명화 기반 스토리 해석) 사업화 진..
개요Unity 프로젝트에서 한글 주석을 작성하다 보면, 가끔 Rider 편집기 상단에“The file was loaded in a wrong encoding: ‘UTF-8’”라는 빨간 에러 바가 뜨며 Ä¥ÆÇ¿¡… 같은 깨진 글자가 보일 때가 있습니다.이 글에서는 Rider에서 파일 인코딩을 바로 잡고, 한글 주석을 정상적으로 표시하는 방법을 단계별로 정리합니다.원인파일이 실제로는 CP949(윈도우 한글) · EUC-KR 등으로 저장되어 있는데, Rider가 UTF-8으로 불러오면서 바이트를 잘못 해석해 깨진 글자가 나옵니다.해결 방법1. “Reload in another encoding” 클릭에디터 상단 빨간 바 우측의 Reload in another encoding 버튼을 클릭팝업에서 Korean (..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.