- Today
- Total
목록전체 글 (360)
프로그래밍 농장
유니티 내에서 스크린샷을 찍는 기능을 구현하던중 두가지 경우가 생겨 정리차 글을 쓴다. 기본적으로 유니티 내의 Camera 시점 ( UI 제외 . . 등 ) 을 PC등 외부경로로 저장하려할때에는 RenderTexture을 사용하여 이미지를 그릴 판으로 생성하고, 해당 비율에 맞는 화면을 Texture2D 를 통하여 ReadPixels로 그려주고 이를 byte로 변환하여 뽑아주는 형식이다. 이때 1920 x 1080 크기의 이미지를 스크린샷 찍어보고, 이를 절반크기인 960 x 540 으로도 스크린샷 찍어본다고 하였을때는 아래와 같다. public void OnClickScreenShot() { //만약 스크린샷 찍을때 Canvas 상의 UI ( 팝업창 등..) 은 안넣고싶으면, 아래와 같이 하면된다. /..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Wsn0k/btrJKtwQslu/Psszpph4cTETvvAwysJa1K/img.png)
유데미 스타터스 과정이 벌써 8주차이다. 이번주에는 기록적인 폭우와 침수가 있었지만 이들을 뚫고 이번주도 스타터스에서 열공하였다 :) 지난주에는 유니티에서의 스크립팅 개념과 다양한 구현방식 ( 싱글톤 패턴, 옵저버 패턴, Monobehavior LifeCycle. . ) 들과 유니티 엔진상에서 구현가능한 다양한 이펙트와 파티클, 랜더링에 대하여 직접 구현해보는 시간을 가졌다. 이번주에는 강사님께서 직접 구현가능한 2D와 3D 프로젝트를 하나씩 투표를 받아서 직접 구현해보고 구현방식에 대한 개념을 익히는 시간을 가졌다. 2D - Dodge 형식의 미니게임 ( ex. 뱀파이어 서바이벌 . . ) 3D - LBS 기반 미니게임 ( ex. 포켓몬고 . . ) 위 두가지를 만들어 보았다. - 유니티 파티클 & 애..
기존 Camera를 UI / Main 두개로 두었을시, 카메라 컴포넌트의 depth only 를 통하여 레이어를 맞추어 줄수있었지만, 만약 URP를 임포트할시 카메라의 컴포넌트가 변경되어 기존 설정해놓은 옵션들이 날라가서 꼬이는 현상이 발생한다. 이때에는 가장 밑바닥에 깔 카메라 (ex. Main) 을 Base로 두고 Stack에 UI Camera를 Overlay로 추가해주는 방식으로 쌓아줄수있다. 기존 Depth 방식의 구현또는 Rendering - Priority에서의 선언방식은 아래깔린 카메라가 그려주는 랜더링들을 전부 밀고 가장 위의 화면을 띄워주는 방식이다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nF6CP/btrJcFkc17O/UqETRsEM0kiSa1IW713Lck/img.png)
어느덧 유데미 스타터스 과정도 7주차에 접어들었다. 부트캠프과정을 시작한게 엊그제같은데 벌써 두달이 다되어간다는 사실에 놀라면서도 그만큼 열심히 하고 있다고 생각했다 . 지난주에는 유니티엔진의 동작방식과 프로젝트 수행시의 생명주기, 그리고 유니티의 클래스형식과 구조에 대하여 학습했다. 이번주에는 이와같은 근본적인 유니티엔진에 대한 개념에 기반하여 다양한 랜더링과 파티클, 그리고 포스트프로세싱에 대하여 학습하였다. 그리고 추가적으로 2D 환경에서의 각종 Pivot, Multiple Sprite, 등 Canvas 내에서 그려지는 다양한 UI들에 대한 학습내용에 기반하여서 한가지 과제를 수행하였다. - 싱글톤 패턴 싱글톤 패턴은 지난주에 이어서, 그 중요성이 높다고 생각하여 다시 한번 정리하며 프로젝트과제에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGm5l3/btrIT98Fqkr/kOANAdRTQIDgnqooTH1WhK/img.png)
Post Processing : 말그대로 뒤에(후에) 전체내용을 처리한다는 의미. 이전까지의 단일 이펙트 등. . 은 오브젝트 1개가 있을떄 하나하나가 작동하지만, 해당사항에서는 카메라 자체에다가 필터를 씌우는것처럼 오브젝트 전체에 영향을 주는 방식이기때문에 오브젝트 1개마다 주는것보다 카메라 하나에 효과를 주는것이 더 효과적이기때문에 이와같이 동작되는 방식이다. 1. 카메라에 post-process Layer 를 붙혀줌 2. - Global : world전체에 영향을 미침 - local : 일정범위내에 영향을 미침 --> 이 외에 카메라에 안붙히는 경우도 있음. (TPS : 3인칭 슈팅게임같은경우는 -> 캐릭터가 기준이되어 트리거가 들어와야함 )
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdL3k9/btrIyoK8iTx/GsR4WbpVOtMpIDfmv4thak/img.jpg)
6주차에는 지난주차에 이어서 실질적인 유니티 엔진의 활용과 응용에 대하여 학습하였다. 이번주는 크게 유니티엔진의 생명주기(Monobehavior LifeCycle)와 유니티에서의 클래스형식과 구조에 대하여 학습하였다. 그리고 유니티 최적화에 대한 다양한 방식, 소프트웨어 디자인 패턴중 하나이자 유니티엔진 사용시 가장 보편적으로 쓰이는 싱글톤패턴, 그리고 이와 static 사용에 대한 차이점을 공부하였다. 그리고 추가적으로 지금까지 학습한 내용을 기반으로 오브젝트 풀링을 이용하여 '쿠키런' 타입의 프로토타입을 개발하는것과 싱글톤패턴을 활용한 과제 두가지를 진행하였다. - Monobehavior LifeCycle (생명주기) 기본적으로 유니티엔진의 생명주기는 아래와 같은 구조이다. 위와 같이 유니티는 기본적..