728x90

유니티엔진 126

[Unity] 최초 실행되는 UnityMain 함수 만들기 (RuntimeInitializeOnLoadMethod 상세 순서 설명)

유니티 엔진에서 초기화를 하고싶어 유니티는 BuildSettings의 Scenes In Build 목록에 셋팅된 0번 인덱스 씬으로 시작하게 됨. 이 때 씬을 로드하면서 초기화도 같이 수행하게 되는데, 씬에 올라간, 씬의 Hierarchy 목록의 GameObject 들의 Awake와 Start의 호출 순서가 보장되지 않음. Awake, Start 호출 순서가 보장되지 않더라도 초기화 처리는 가능하겠지만, 어떤 GameObject 들의 초기화보다도 먼저 초기화 처리를 하고싶은 경우가 있을 수 있음. 이 때, [RuntimeInitializeOnLoadMethod] 어트리뷰트(Attribute)를 활용해서 특정 static 함수의 속성을 설정해서, 게임이나 앱 실행 후 가능한 빠른 시점에 호출되도록 핸들링 ..

[Unity] 유니티 셰이더 코드에서 _MainTex_TexelSize 변수의 정체는?

셰이더 코드는 참조하다보니 _MainTex_TexelSize; 라는 변수를 선언만 하고 바로 사용하는 모습들을 종종 보게 됨. 내장 변수인 것 같은데, 어떤 값을 담는지 설명은 검색해도 보이던데 어디서 어떻게 생성해서 값을 할당 해주는 것인지에 대한 내용이 잘 보이지 않더라. 일단 이 변수는 유니티 엔진 내부에서 생성 및 할당해주는 변수는 확실하고, 관련 설명은 아래 유니티 공식 문서에서 서술하고 있음. 주의해야 할 부분은, _MainTex_TexelSize 라는 이름의 변수명을 생성해주는 것이 아니고, {TextrueName}_TexelSize 라는 이름으로 생성해준다는 것. 셰이더를 작성할 때 보통 _MainTex 프로퍼티를 생성하기 때문에 결론적으로 _MainTex_TexelSize 라는 변수가 만..

[Unity] 셰이더 처리 후 텍스처 테두리가 번져 보이는 문제

간단한 가우시안 블러(Gaussian Blur) 코드를 올리고 보니 테두리의 색상이 번져있는 것을 제보를 받고 알게 됨. 원인은, 가우시안 블러 셰이더 처리 중, UV 값이 0보다 작거나 1보다 큰 영역까지 침범했기 때문. [Unity] 간단한 가우시안 블러(GaussianBlur) 셰이더 코드 텍스처에 가우시안 블러 처리를 하면 요런 결과물이 생성됨. 아래는 머티리얼 속성. Blur Radius 를 조절해서 Blur 강도를 조절할 수 있다. 간단한 가우시안 블러 셰이더 코드 Shader "Custom/GaussianBlur" { tistory.wonsorang.com 아래는 침범된 코드 스니펫. // Horizontal blur pass for (int x = -5; x

[Unity] Dithering 셰이더 함수, Dither 노드, Dither thresholds array

Dither는 양자화 오류를 무작위화하는 데 사용되는 의도적 형태의 노이즈. 이미지에서 컬러 밴딩과 같은 대규모 패턴을 방지하기 위해 사용되거나, 화면 공간에 디더링을 적용하여 패턴의 균일한 분포를 보장하기 때문에 불투명한 오브젝트의 특정 픽셀을 Cliping 하여 투명하게 보이도록 처리할 수 있음. 불투명 렌더링 패스에서 투명하게 보이도록 처리하는데 유용. 아래 함수의 ScreenPisition 은 디더 패턴을 적용하는 데 사용할 스크린 좌표. void Unity_Dither_float4(float4 In, float4 ScreenPosition, out float4 Out) { float2 uv = ScreenPosition.xy * _ScreenParams.xy; float DITHER_THRESH..

[Unity] 밸브사의 포탈(Portal) 게임의 포탈 메카닉스 만드는 방법 (자료)

플레이어 카메라와 포탈의 카메라를 생성하고 조작해서 포탈에 해당하는 매쉬 렌더러의 머티리얼 텍스쳐를 교체하는 기법. 튜튜리얼 영상 https://www.youtube.com/watch?v=cWpFZbjtSQg GitHub 저장소 링크 https://github.com/SebLague/Portals/tree/master GitHub - SebLague/Portals: Portals in Unity Portals in Unity. Contribute to SebLague/Portals development by creating an account on GitHub. github.com 게임 개발에 필수적인 내용을 담는 명서들을 소개합니다. (유니티 최신 버전) https://link.coupang.com/a..

[Unity] Working with Cinemachine Cameras Overview (시네머신 카메라 작업 개요)

시네머신(Cinemachine) 개요 시네머신(Cinemachine)은 코드를 작성하지 않고 복잡한 행동을 만들 수 있는 방법을 제공하는 카메라 시스템. 이전에는 카메라 움직임을 직접 키프레임화하거나 코드를 통해 스크립트로 작성하여 특정 팔로우 움직임을 만들어야 했음. 시네머신(Cinemachine)은 Cinemachine Brain 과 Virtual Camera(vcam) 으로 구성되고 메인 카메라에 적용하는 방식. 메인 카메라에 있는 모든 것이 시네머신과 함께 작동하며, 메인 카메라를 구동하는 강력한 애니메이션 시스템이라고 생각하면 됨. Cinemachine plugin는 설치하기 쉽고 설치부터 애니메이션까지 카메라를 제어할 수 있는 사용하기 쉽고 유연한 시스템을 제공. 기존 카메라 시스템을 변형하거..

[Unity] FOW(Fog of War) 전장의 안개

전장의 안개, Fog of War(FOW) 구현 방식에 대한 자료 스크랩 아래는 실제 구현된 유니티 에셋 링크. AOS Fog of War 에셋(무료) 스토어 페이지 (Free asset Asset Store page) https://prf.hn/click/camref:1011lvz7h/pubref:fogofwar/destination:https%3A%2F%2Fassetstore.unity.com%2Fpackages%2Fvfx%2Fshaders%2Ffullscreen-camera-effects%2Faos-fog-of-war-249249 AOS Fog of War | 카메라 효과 | Unity Asset Store Add depth to your project with AOS Fog of War asset..

2024 설맞이 번들! 최대 95% 할인된 가격으로 21개 게임 에셋 전부가 $30

Lunar New Year's Day! Asset Store sale Event! 설을 맞아, 에셋 스토어 이벤트가 진행 중입니다! 기간이 넉넉하다 보니 에셋 소개 글도 좀 천천히 (사실 게을러서) 쓰게 됐습니다. 이번 설 기념 세일 이벤트는 갑진년(甲辰年), 용의 해를 기념해서 용 캐릭터로 마케팅을 하는 모습입니다. 두 개의 이벤트가 진행 중인데, 그 중 하나로 여러 에셋들을 한꺼번에 묶어서 저렴한 가격으로 한 번에 구입할 수 있는 번들 상품 이벤트입니다. 에셋 번들 이벤트 페이지 바로가기 (Asset bundle sale event) https://prf.hn/click/camref:1011lvz7h/pubref:lunar_bundle/destination:https%3A%2F%2Fassetstore..

기간 무료 에셋! $40 레트로 도트 게임용 사운드 1000개 이상 무료 + 다양한 오디오 에셋들 모두 50%할인! (by David Dumais Audio)

이번 주 에셋 퍼블리셔 할인 및 무료 에셋 소식입니다. 이번 에셋 퍼블리셔는 David Dumais Audio 입니다. 데이비드 듀메스는 비디오 게임 전문 사운드 디자이너이자 작곡가입니다. 그는 또한 자신의 유튜브 채널에서 매주 사운드 디자인에 관한 동영상을 공개하고 있습니다. 유니티 에셋 스토어뿐 아니라, 게임 개발 에셋들 중 가장 인기 많은 카테고리 중 하나인 오디오/사운드 에셋들을 할인 중이니 좋은 기회로 활용할 수 있을 것 같습니다. 다음 주 목요일(2월 8일)까지 David Dumais Audio 의 다양한 에셋들을 유니티 에셋 스토어에서 50% 할인된 가격으로 구입할 수 있습니다. 에셋 할인 이벤트 페이지 https://prf.hn/click/camref:1011lvz7h/pubref:pub_..

[Unity] VR 기초, 방 탈출 게임 프로젝트 학습 코스 스크랩

흥미로운 학습 코스가 보여서 메모 겸 스크랩. VR 기초 학습 과정 중에 있는 방 탈출 프로젝트 코스. https://prf.hn/click/camref:1011lvz7h/pubref:learn_escaperoom/destination:https%3A%2F%2Flearn.unity.com%2Fproject%2Fvr-gico-hagseub-bang-talcul-peurojegteu%3Fuv%3D2020.3 VR 기초 학습: 방 탈출 프로젝트 - Unity Learn VR 기초 학습: 방 탈출 프로젝트에 오신 것을 환영합니다. 이 학습 프로젝트에서는 XR Interaction Toolkit 패키지에서 지원되는 기본적인 VR 인터랙션을 둘러보고 생성할 수 있습니다. learn.unity.com VR 개발 패키..

728x90
반응형