유니티 HDRP(HD Render Pipeline) 프로젝트 시작하기(Volume, Quality, Frame Settings)HDRP Global Settings, Global Volume 1)프로젝트 설정(Project settings)의 Graphics에서 프로젝트에서 사용중인 렌더파이프라인을 확인합니다. 현재 프로젝트는 HDRP(HD Render Pipeline)로 설정되어있는것을 확인할수있습니다. 2)Graphics 하위 메뉴 HDRP Global Settings에서 전역(Global)으로 사용할 글로벌 볼륨 프로파일 (Volume Profile)을 설정합니다. 3)프로젝트에서 새로운 볼륨 프로파일(Volume Profile)을 생성합니다. 볼륨 프로파일은 카메라의 씬(Scene) 환경을 렌더링..
유니티(Unity)에서 다양한 코루틴(Coroutine) 사용 예시시간 지연 특정 시간 동안 대기한 후 다음 작업을 수행public class DelayExample : MonoBehaviour { private void Start() { StartCoroutine(WaitAndPrint(2.0f)); // 2초 후 메시지 출력 } private IEnumerator WaitAndPrint(float waitTime) { yield return new WaitForSeconds(waitTime); Debug.Log("Waited for " + waitTime + " seconds."); } } 프레임마다 반복매 프레임..
유니티(Unity) 안드로이드에서 동영상 광고(구글애드몹) 표시하면 앱 크래시 문제(Graphics device is null)구글 애드몹 동영상 광고를 표시하고나서 팝업 닫기(close) 이후 TMPro(텍스트 메시 프로)를 사용할때 앱 크래시가 발생합니다.1)안드로이드 로그캣에서 앱 크래시 로그를 확인합니다.Graphics device is null, TMPro.TextMeshProUGUI:Awake() 동영상 광고 팝업 닫기 이후에 앱 크래시2)예에서 보상형 동영상 광고 팝업 닫기(OnAdFullScreenContentClosed) 이벤트를 수신하면 OnRewarded함수를 호출합니다. 3)OnRewarded함수에서 TMPro 텍스트가 포함된 오브젝트를 생성할때 앱 크래시가 발생합니다. 4)해당 ..
유니티 인앱결제(Unity In-App Purshasing, IAP) 구매 복원(Restore) 구현(안드로이드, iOS)사용자가 앱을 재설치할때 이미 소유하고있는 비소모 상품 또는 구독 상품이 거래 복원되어야합니다. https://docs.unity3d.com/Manual/UnityIAPRestoringTransactions.html안드로이드(구글플레이) 안드로이드(구글플레이)는 첫번째 초기화 단계(OnInitialized 함수)에서 사용자의 상품(비소모 또는 구독) 구매이력을 검색하고 소유한 모든 상품을 자동으로 복원합니다. 소유한 비소모품 상품이 존재하면 자동으로 해당 상품에 대해 ProcessPurchase 함수를 호출합니다. iOS(애플, 앱스토어) iOS 플랫폼에서는 거래 복원을 자동으로 수행..
유니티 인앱결제(Unity In-App Purshasing, IAP) 초기화 및 상품 구매 구현IAP 패키지의 샘플(Samples) 프로젝트에서 IAP 초기화 및 상품 구매구현 방법을 참고합니다.1)패키자 관리자(Package manager)에서 IAP 패키지를 설치합니다. 설치한 IAP 패키지의 samples에서 IAP 샘플 프로젝트를 확인할수있습니다. import를 클릭하여 상품 구매 buying consumables 샘플을 프로젝트로 가져오기합니다. 2)프로젝트에서 IAP 샘플 씬 및 스크립트를 확인합니다. 3)Purchasing, Purchasing.Extension 네임스페이스를 선언하고 IDetailedStoreListener 인터페이스를 상속합니다.Purchasing - 제품 목록 정의, 결..
유니티(Unity) 코드리스 인앱결제(Codeless IAP) 자동 초기화 설정코드리스(Codeless) IAP를 사용하면 코드없이 인앱결제를 구현할수있습니다. 앱에서 IAP(In-App Purchasing)를 사용하려면 먼저 IAP SDK를 초기화해야하는데 코드리스(Codeless) IAP에서 초기화는 IAP 버튼 또는 IAP 리스너의 첫번째 인스턴스가 생성될때 자동으로 발생합니다. 만약 앱이 시작될때(IAP 버튼 또는 IAP 리스너를 생성하기 이전) 자동으로 IAP 를 초기화하려면 Automatically initialize UnityPurchasing에 체크합니다. https://docs.unity3d.com/Manual/UnityIAPCodelessIAP.html 1)상단의 services에서 ..
유니티에서 중첩 프리팹(nested prefabs) 사용하기중첩 프리팹(nested prefabs)은 프리팹 안에 다른 프리팹을 포함할 수 있는 구조를 의미합니다. https://docs.unity3d.com/Manual/NestedPrefabs.html UI 제작에서 중첩 프리팹 사용 예시(Make UI with Nested Prefabs in Unity)https://youtu.be/4fkTbbxktpc
유니티(Unity) 트랜스폼(Transform) 위치 및 방향 변환 함수 모음TransformPoint(Vector3 localPosition)객체의 로컬 공간 좌표를 월드 공간 좌표로 변환 Vector3 localPos = new Vector3(1, 0, 0); Vector3 worldPos = transform.TransformPoint(localPos); https://docs.unity3d.com/ScriptReference/Transform.TransformPoint.htmlInverseTransformPoint(Vector3 worldPosition)객체의 월드 공간 좌표를 로컬 공간 좌표로 변환 Vector3 worldPos = new Vector3(10, 0, 5); Vector3 lo..
게임 개발(Game Development) 해외 도서 모음(프로그래밍, 디자인패턴 ,게임엔진, AI,기타)Game Programming Patterns By Robert Nystromhttps://gameprogrammingpatterns.com/https://www.amazon.com/dp/0990582906 The Art of Game Design: A Book of Lenses By Jesse Schell https://www.amazon.com/Art-Game-Design-Book-Lenses/dp/0123694965 Level Up! The Guide to Great Video Game Design By Scott Rogers https://www.amazon.com/Level-Guide-G..
유니티(Unity)에서 partial 클래스 사용(클래스명과 파일명, MonoBehaviour)일반적으로 C#에서 클래스 이름과 .cs 파일 이름이 동일하지않아도 문제 없이 컴파일되며 정상적으로 동작합니다. 유니티(Unity)에서는 클래스 이름과 파일 이름이 일치하지 않으면 오류가 발생할 수 있습니다. 특히 유니티의 컴포넌트 시스템을 사용하고 게임오브젝트에 추가하기위해(MonoBehaviour를 상속받는 스크립트) 파일 이름과 클래스 이름이 일치해야합니다. // MyScript.cs using UnityEngine; public class MyScript : MonoBehaviour { void Start() { Debug.Log("Hello, Unity!"); } }..
유니티(Unity)에서 렌더텍스처(RenderTexture) 활성화 및 해제(active, release) 사용예시렌더 텍스처(RenderTexture)는 렌더링할수있는 텍스처(textures that can be rendered to)로써 3D 장면을 텍스처로 렌더링할 수 있는 특별한 종류의 텍스처입니다. 주로 3D 장면을 특정 렌더 텍스처로 렌더링하고 결과를 텍스처로 저장하는데 사용합니다. https://docs.unity3d.com/ScriptReference/RenderTexture.html렌더텍스처(RenderTexture) 활성화 및 해제//RenderTexture 생성 RenderTexture rt = new RenderTexture(256, 256, 24); rt.Create(); //..
유니티 코리아 E-book 시리즈 무료 다운로드(한국어 번역본)아래 웹사이트(Unity Square)에서 유니티에서 제공하는 다양한 리소스 자료(백서, 케이스 스터디, e-book, 기타)를 다운로드할수있습니다.https://www.unitysquare.co.kr/growwith/resource 게임 프로그래밍 패턴으로 코딩 스킬 업그레이드 https://www.unitysquare.co.kr/growwith/resource/form?id=520&utm_source=youtube&utm_medium=social&utm_campaign=kr_bestebookcardnews_2408 Unity Square게임 프로그래밍 패턴으로 코딩 스킬 업그레이드unitysquare.co.kr Unity 게임 프로파..