
플레이 엑스포에 전시를 합니다~ 놀러들오세요!
- 진우의 포트폴리오
- · 2025. 5. 22.
프로젝트 하다 보면 가끔 원치 않는 파일들이 자꾸 커밋 트래킹 되어서 짜증나죠?!그럴땐 gitignore에 추가하시면 됩니다!무시( Ignore ) 종류 고르기 목표 클릭할 메뉴 결과 파일만 무시“Ignore 3 selected files (add to .gitignore)”.gitignore에 정확한 경로가 들어가고, 이후 동일 경로 파일은 다시는 커밋 목록에 안 뜸.XML 파일 무시“Ignore all .xml files (add to .gitignore)”.gitignore에 *.xml 패턴이 추가돼 IDE가 새로 만드는 모든 XML도 자동 차단.헷갈리면?패턴(*.xml)은 확장자 전체를, 특정 파일 무시는 경로 하나만 대상으로 삼는다. XML 파일 무시를 선택하시면 위 스크린샷 처럼 추적되던 ..
업데이트 된 GitHub Desktop에서는 커밋 메시지를 적을 때 협력자를 쉽게 언급할 수 있고, Copilot이 AI로 메시지를 자동 작성해 주는 버튼까지 제공됩니다! ‘Add co-author’로 여러 기여자(협력자)를 추가 할 수 있고, ‘Generate commit message’로 변경 내역(diff: 코드 차이 목록)을 요약받은 뒤 필요한 수정만 하면 아주 쉽게 메세지를 작성할 수 있습니다.협력자 언급 추가커밋 패널 왼쪽 하단의 Add co-author 버튼을 클릭해줍니다. 검색창에 동료의 GitHub 아이디나 이메일을 입력하면 자동으로 "Co-authored-by: *트레일러"가 커밋 메시지 끝에 삽입됩니다. 한 커밋에 여러 라인을 추가할 수 있어 두 명 이상도 동시에 크레딧을 받을 수 있..
GitHub와 코파일럿이 연결이 되면서 다양한 기능들을 사용할 수 있다는 것 알고 계신가요?!저는 그 중에 Commit Message와 PR Write에서 Summary기능을 자주 사용하고 있습니다. 푸쉬한 커밋들을 분석해서 내용을 자동으로 정리해주는 기능입니다! 다들 PR올릴 때 꿀빠세요!
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환영입니다 ㅎㅎ
유니티 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 (..
PlayerRef와 NetworkObjectPlayerRef는 세션에 참여 중인 각 플레이어를 식별하는 핸들러이며, NetworkObject는 네트워크를 통해 동기화되는 게임 오브젝트를 의미합니다."Player Object(플레이어 오브젝트)"란 각 플레이어가 자신의 아바타로 사용할 NetworkObject를 고정해 두는 편의 기능으로, 설정된 매핑은 자동으로 모든 클라이언트에 복제됩니다.NetworkRunner.SetPlayerObject SetPlayerObject(PlayerRef player, NetworkObject networkObject)는 지정된 플레이어와 네트워크 오브젝트를 연관 짓습니다.이 호출은 네트워크 이벤트로 전파되어, 다른 클라이언트에서도 TryGetPlayerObject를 통해..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.