본문 바로가기

Unity12

[Shader] Bubble Shader 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 비눗방울 표현 원리 비눗방울의 특징을 생각해보면 전체적으로 투명하고 주변 물체들이 비치는(reflect) 것이다. 대신, 비치는 현상 때문에 가운데 부분은 약간 불투명한 모습을 보여주며, 전체적으로 불규칙하고 무지개를 연상시키는 색상으로 이루어져있다.요약하자면 반사(주변부를 비춤) + 무지개 색(가장자리로 갈수록 강해짐) 핵심이다. 그 밖에도 비눗방울 자체의 성질상 고정되지 않고 일렁이는 특징도 표현하고자 하려면 쉐이더 파트에서 묘사 할 수 있다. 제작 방법 생각해보기 완벽한 물리 계산을 하기 어렵다면 Texture를 사용해서 제작하는 방법도 있다.계산식이 복잡하다는 이유도 있고, 색상 계산이 따로 필요.. 2025. 6. 18.
[Photon] Photon Fusion 102 #1 씬 전환 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Photon Fusion을 기반으로 Host Server가 작동하는 것은 확인하였다.그러나 예제 그대로 사용하기 보다는 내가 원하는대로 만들고 싶기도 하고, 아무래도 네트워크 기반이다 보니기존에 만들어둔 input 함수들이 제대로 동작하지 않는 슬픈 상황이 발생했다. 글로 기록하면서 구조도 함께 살펴보며 진행하려한다. 게임 시작 및 호스팅하기 의 멤버 함수인 StatGame(StartGameArgs args)로 Fusion 네트워크가 시작된다.아래는 photon에서 복사해왔던 스크립트다. 기존에는 테스트씬에 할당되어 게임 화면 옆에 버튼이 뜨는 형식이었다. #BasicSpanwer async v.. 2025. 6. 15.
[Shader] Post Processing : Tint Effect 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 원래 Post Processing 관련 글을 작성하고 있었는데 생각해보니 간단한걸 먼저 만들어보고 진행하는게 좋을 거 같아서 먼저 작성하게되었다. 미리보기 : 최종 결과물 생각했던 것 보다 만들기 너무 힘들었다. 엄밀히 따지자면 Tint shader 자체는 복잡하지 않은데 렌더피쳐랑 너무 오래 싸웠다... Custom Post Processing : Tint 처음 만들어보는 효과인 만큼 가장 기본적인 효과라고 할 수 있는 Tint 효과를 만들어보려고 한다. 유니티 내장 Post Processing을 살펴보면 Tint는 따로 존재하는 효과가 아니라 Bloom의 Value에 해당한다.내가 만들 Tint 효과는.. 2025. 6. 11.
[photon] Photon Fusion Host Mode 기본 세팅 1. Photon Fusion이란? Photon Fusion: Setting the Benchmark for Multiplayer games.Snapshot of Fusion Capabilities Discover the essential details of the top-tier state-sync netcode SDK designed for Unity professionals. HAVE A LOOKwww.photonengine.com 포톤 퓨전은 상태 전송 라이브러리로, Tick-기반 시뮬레이션을 지원할 뿐만 아니라 지연 보상 기능 또한 제공한다. 나의 경우 현재 진행하고 있는 개인 프로젝트가 멀티 플레이가 가능하도록 하고싶기 때문에 관심을 가지게 되었다. 서버 모드호스트 모드공유 모드 현재 진행.. 2025. 6. 5.
[자료] Shader Graph, VFX Graph 샘플 예제 大분석 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Unite Seoul 영상을 천천히 보면서 한 번 다시 정리해보고 싶은것들 중심으로 내용을 정리해본다 Vfx Graph 관련은 따로 작성하지 않았따 Shader Graph1. Default ShadersLit Shader(= PBR) Unlit Shader : 조명이 필요없는 시각 효과나 고유 오브젝트에 사용 (= 저사양 하드웨어 적합)2. Vertex Shader정점 단위 계산 : 객체의 공간적 변형, mesh 왜곡, 애니메이션 효과 등 처리 (=position) 법선(Normal) 벡터 변환텍스쳐 좌표 조작output은 Interpolator에 저장되어 Fragment Shader로 전달됨 3. Frag.. 2025. 6. 4.
[Shader] Depth Map 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. Depth Map이란?viewpoint(일반적으로 카메라)로부터 물체 표면과의 거리와 관련된 정보가 담긴 채널을 의미한다.모션 트래킹할 때 사용하는 센서들도 보통 Depth Map 옵션을 가지고 있다.일본어로는 深度マップ 이라고 하는등 결국 초첨은 '깊이' 이다. Depth Map 뜯어보기 Depth Map의 경우 유니티 자체에 예제로 있기 때문에 오늘은 작성보다는 어떻게 구성되고 작동되는지를 공부하는데 초첨을 맞췄다.우선 예제에서 복잡한 부분(체크 알고리즘)은 제외하고 Depth와 관련된 부분만 남겨서 정리하였다. Properties { } SubShader { Tags { .. 2025. 6. 3.
[Unity] ScriptableRendererFeature 작성하기 공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. ScriptableRendererFeature?쉐이더를 작성하면서 ScriptableRendereFeature 부분이 길어져서 따로 작성하게 되었다. ScriptableRendererFeature는 파이프라인을 커스터마이징할 수 있게 해주는 기능이다.객체에 단순히 Material을 적용시키는게 아니라, 이미 만들어진 맵에 후처리로 shader를 적용해야할 경우 파이프라인에 추가해서 처리하는 것. 이미 만들어진 씬에 필터 같은 shader를 적용하고 싶을 때 유용하게 쓸 수 있는 기능이다. 작성 과정 세팅된 파이프라인(이 경우 URP)에 Renderer Features를 추가하기 위해서는 ScriptableR.. 2025. 6. 1.
[Shader] Fog with SkyBox f공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 해당 예제는 유니티의 Built-in 코드를 기반으로 작업하였다. 이것은 수정하기전의 모습이다. World 전체에 Fog Lighting이 적용되지 않는 것이 확인된다. 기존의 코드에서 수정한 부분들 위에서 언급한 Fog 관련 처리 및 include할 HLSL 파일들 수정이 주로 이루어졌다. 기존 코드는 CG기반이기에 HLSL로 수정 작성하면서 필요해진 작업이다. 즉, 본래 사용되었던 내장함수들을 사용할 수 없기 때문에 추가하거나 대체해줄 필요가 있었다. 1. Unity_PI PI는 우리가 알고있는 파이(x) 즉 3.14이다. URP에서 내장되어있지 않으므로 직접 추가해주었다. 2. UnityObj.. 2025. 5. 8.
[Shader] Hologram shader 제작 연습 with HLSL Rim Light 기반으로 색상과 Hologram정도를 조절할 수 있는 HLSL 쉐이더 코드를 작성하였다.사실 말이 Hologram이지 사실상 Transparent-Opacity 조절이지만... 확실히 쉐이더 그래프보다 어렵다 2025. 4. 9.
[Unity] Object Pooling Object Pooling이란?Object Pooling은 성능 최적화를 위해 자주 생성하고 파괴해야하는 오브젝트를 사전에 새성하고 재사용하는 방법이다.나의 경우에는 프로젝트에서 주기적으로 ball을 발사하는 canon때문에 사용하게 되었다.  처음에 작성했던 스크립트는 Instanctiate를 한 다음, 특정 Y축에 도달하면 Destory되도록 만들어 놓았다.여기서 문제가 발생한다.  Instantiate는 새로운 메모리를 할당하고 초기화(= 용량 낭비 발생 가능성 증가)Destroy는 오브젝트를 메모리에서 제거하고 Garbage Collection을 통해 메모리 정리 (= 시점 예측 불가 및 프레임 드랍 발생 가능성)  Object Pooling은 자주 사용될 오브젝트를 생성해둔다음, 사용하지 않는 .. 2025. 4. 9.