Engine

    유니티 2022.2 로딩화면 믓지네!

    유니티 2022.2 로딩화면 믓지네!

    유니티 버전 업도 빠르고 로딩 화면도 새로워서 마음에 든다.

    우분투 리눅스에 유니티 개발 환경 세팅 완료

    우분투 리눅스에 유니티 개발 환경 세팅 완료

    삽질 끝에 우분투 리눅스에 유니티 최신 버전을 설치하였다. 이로써 Windows, MacOS, Ubuntu Linux 등 세 개의 운영체제에서 유니티 개발 환경을 세팅할 수 있게 되었다. 리눅스 자체에 익숙치 않다 보니까 시간이 꽤 오래 걸렸다. 우분투에서 유니티 개발 환경 세팅하는 방법은 나중에 정리해야겠다.

    [Unity] Canvas Group의 유용함에 대해서

    [Unity] Canvas Group의 유용함에 대해서

    Canvas Group은 매우 유용하다. 알파값 제어, 입력 제어 등의 속성을 가지고 있다. 특히 알파값 제어의 경우, Canvas Group의 자식들로 구성된 UI Elements를 한꺼번에 제어할 수 있는 편의를 제공한다. 입력 제어도 마찬가지이다. 스택오버 플로우를 참고하자면, https://stackoverflow.com/questions/47035144/unity3d-invisible-canvas-performance Unity3D invisible Canvas performance I'm developing a 2d menu heavy mobile game, which uses a lot of canvases, panels, popups etc. In the beginning I had all..

    책 [유니티 C# 스크립팅 마스터하기] 통독 후 깨달은 점

    책 [유니티 C# 스크립팅 마스터하기] 통독 후 깨달은 점

    정독하지는 않았다. 이미 알고 있거나 익숙한 내용은 넘겨보았기 때문이다. 우선 아쉬운 점은 2016년에 국내에 출판된 책이라서 무려 6년 전 번역된 책이다. 하지만 6년이 지난 지금에도 여전히 중요한 개념과 스크립팅이 많아서 좋았다. MonoDevelop IDE는 더 이상 안 쓰이기 때문에 개발 툴 사용 법은 참고만 하는 것이 좋겠다. 알고는 있으나, 아직 익숙하지 않은 내용을 정리해 보았다. 아직 부족한 부분이 많다는 것을 깨우치게 한 책이었다. delegate를 이용한 이벤트 주도적 프로그래밍 문자열 : 정규식 가변 개수 파라미터 LINQ와 정규식 IEnumerable과 IEnumerator 책은 사서 봅시다. http://www.yes24.com/Product/Goods/24027404 유니티 C#..

    [Unity] Object.GetInstanceID() 로 오브젝트 식별

    Unity 버전 : 2021.3.8f1 LTS 유니티에서는 고유 식별자를 가져올 수 있는 메서드를 제공한다. The instance ID of an object is always unique. The ID changes between player runtime and Editor sessions. https://docs.unity3d.com/ScriptReference/Object.GetInstanceID.html Unity - Scripting API: Object.GetInstanceID Returns int Returns the instance ID of the object. When used to call the origin object, this method returns a positive v..

    [Unity] GameObject.FindGameObjectWithTag() 빠르지만 안 쓰는 이유

    [Unity] GameObject.FindGameObjectWithTag() 빠르지만 안 쓰는 이유

    Unity 버전 : 2021.3.8f1 LTS Tag 는 매우 유용한 식별자이긴 하다. tag가 빠른 이유는 내부적으로 문자열을 숫자 형태로 변환해 태그 비교 속도를 향상시키기 때문이다. - 책 [유니티 C# 스크립팅 마스터하기] 중 그러나 Tag를 잘 쓰지 않는 이유는 분명하다. 아래와 같이 모니터 화면 안에 다 보이면 좋지만, 게임을 개발하다 보면 자꾸 tag 추가해야 해서 리스트를 스크롤 해야 되는 상황이 생긴다. 따라서 tag는 꼭 필요한 곳에서만 쓰는 것이 좋다. 아래 OnTriggerEnter()와 같이 특정 유니티 이벤트 함수에서 특정 물체와 충돌했는지 판단할 때 tag가 쓰일 수 있다. private void OnTriggerEnter2D(Collider2D collision) { if (..

    [Unity] private 변수를 에디터 인스펙터 상에서 보려면 (디버깅 용)

    [Unity] private 변수를 에디터 인스펙터 상에서 보려면 (디버깅 용)

    Unity version : 2021.3.8f1 LTS private 으로 설정된 변수를 유니티 인스펙터 상에서 볼 수 있는 방법이 있다. 간단히 인스펙터 상에서 메뉴를 선택하면 된다. 오른쪽 상단의 버튼을 클릭하면 메뉴가 열린다. Normal로 체크 되어 있는 것을 Debug로 변경한다. 그러면 아래와 같이 private을 포함한 모든 변수들이 인스펙터 상에 표시된다.

    [Unity] SendMessage(), BroadcastMessage() 안 쓰는 이유

    유니티 공식 스크립팅 API에 따르면, 아래와 같은 코드로 SendMessage()를 활용하고 있다. 무척 유용해 보이지만 성능 상의 이유로 잘 쓰지 않는다. using UnityEngine; public class Example : MonoBehaviour { void Start() { // Calls the function ApplyDamage with a value of 5 // Every script attached to the game object // that has an ApplyDamage function will be called. gameObject.SendMessage("ApplyDamage", 5.0); } } public class Example2 : MonoBehaviour { ..

    [UE5] TPS Template 분석 - 1. user input

    [UE5] TPS Template 분석 - 1. user input

    UE5를 익히고자 TPS Template 프로젝트를 분석해 보고자 한다. 이 템플릿을 조금씩 디벨롭해서 나만의 TPS 게임을 개발하려고 한다. UE5에서 제공하는 템플릿 프로젝트 중 TPS로 선택을 하고 블루프린트가 아닌 C++로 새로운 프로젝트를 생성하였다. 키, 터치, 게임패드 등 사용자 입력(user input)이 있으면 콜백 함수(델리게이트 함수)를 실행시킬 수 있도록 인터페이스를 제공한다. 위 코드를 보면 BindAxis함수에 첫번째 파라미터로 문자열이 들어간다. 이 문자열과 매칭되는 곳을 확인하려면 UE5 에디터를 열어본다. 그리고 Project Settings에 문자열이 정의되어 있는 것을 확인할 수 있다. 이렇게 mapping이 되어 있기 때문에 오타날 수는 있겠으나, 사용자 정의 입력을 ..

    Visual Studio도 좋지만 Jetbrains Rider Unreal

    Visual Studio도 좋지만 Jetbrains Rider Unreal

    Unity로 개발할 때도 Visual Studio 보다는 Rider가 마음에 들었다. 기능이 VS 보다 워낙 많고 막강해서 한 번 쓰기 시작하면 Resharper 없이는 VS 못 쓰게 되더라. 거기다가 작년부터 Jetbrains dotUltimate을 구독했는데, 2022년 10월 이후로 가격 상승이 된다고 하니 얼른 구독하는 것이 좋겠다. ㅋㅋ 그래서 이번에 Unreal Engine 5 (UE5) 로 새로운 프로젝트 개발할 때도 Rider를 쓸 계획이다. 아래 스크린샷은 Rider 실행한 화면이다. 아직 코딩도 안 하고 블로깅부터 하는 나 ㅋㅋ Rider로 UE5 개발에 관심이 있다면 아래 링크에서 자세한 정보를 얻을 수 있다. https://www.jetbrains.com/help/rider/Work..

    [UE5] DivisionLike 프로젝트 시작하기

    [UE5] DivisionLike 프로젝트 시작하기

    언리얼 버전은 5.0.3으로 업데이트 하였다. 그리고 새로운 프로젝트를 생성한다. Games 카테고리에서 Third Person 템플릿을 선택한다. github에 새로운 repository를 생성한다. repository를 생성할 때 주의할 점은 .gitignore를 추가할 때 UnrealEngine 템플릿을 선택하는 것이다. 그래야 필요없는 폴더와 파일들을 버전 컨트롤에서 제외시킬 수 있기 때문이다. git LFS는 필수로 설치해둔다. 그래야 큰 용량의 파일들도 버전 컨트롤 할 수 있다. 프로젝트를 열어보면 Third Person 템플릿으로 생성된 것을 확인할 수 있다. UE5 우측 하단에 보면 Source Controll이 꺼져있다. "Connect to Source Control" 메뉴를 클릭하여 ..

    [토이 프로젝트] Unity-DivisionLike 노션 페이지 공개

    토이 프로젝트로 진행 중인 Unity-DivisionLike 노션 페이지를 공개합니다. 주로 일정 관리에 쓸 계획입니다. https://ddayin.notion.site/Unity-DivisionLike-b2b7619b6c9c465eab350c73a07942d3 Unity-DivisionLike Welcome to my toy project notion page! ddayin.notion.site

    Unity & C# 코딩 컨벤션이 고민 된다면

    프로젝트 마다, 팀 마다, 회사 마다, 개인 마다 코딩 컨벤션이 다 다르다. 코딩 컨벤션은 취향 차이라기 보다 통일된 혹은 일관된 코딩 스타일 가이드라고 보는 것이 좋겠다. 참고할 만한 유니티와 C# 코딩 컨벤션이 있었다. https://avangarde-software.com/unity-coding-guidelines-basic-best-practices/ [Unity] Coding guidelines & Basic Best Practices - Avangarde-Software Have you ever wondered how a company organizes its code? Look no further, because here lie all your answers. This is a basic s..

    [Unity 2021.3.2f1 LTS] 못 보던 프로젝트 템플릿이 생기다!

    [Unity 2021.3.2f1 LTS] 못 보던 프로젝트 템플릿이 생기다!

    유니티 비교적 최신 버전 중 LTS로 프로젝트 새로 생성하려고 하니까 이런 여러 템플릿들이 존재한다. 원하는 템플릿을 선택해서 다운로드 받을 수 있는 형식이다. 점점 언리얼 엔진을 닮아가는 유니티. 참고로 이 Third Person 템플릿은 에셋스토어에서도 다운로드 받을 수 있다. https://assetstore.unity.com/packages/essentials/starter-assets-third-person-character-controller-196526 Starter Assets - Third Person Character Controller | Unity 필수에셋 | Unity Asset Store Get the Starter Assets - Third Person Character Con..

    요즘 유니티 엔진 에셋스토어 수준

    나는 또 이렇게 장바구니에 하나씩 담게 되고, 내 통장은 텅텅 비게 되고. 정말 오랜만에 에셋스토어를 둘러보니까 실사 그래픽 에셋들의 양이 굉장히 많아졌고 퀄리티도 많이 올라갔더라. HDRP를 사용해 보진 않았는데 이번 기회에 에셋 구매해서 뜯어봐야 할듯 하다. https://youtu.be/mb4gEURu7aQ https://assetstore.unity.com/packages/3d/environments/urban/hdrp-abandoned-factory-buildings-day-night-scene-164492 [HDRP] Abandoned Factory Buildings - Day/Night Scene | 3D 도시 | Unity Asset Store Elevate your workflow wit..

    간만에 유니티 토이 프로젝트

    https://github.com/ddayin/Unity-DivisionLike GitHub - ddayin/Unity-DivisionLike: develop a game like Tom Clancy's The Division by using Unity develop a game like Tom Clancy's The Division by using Unity - GitHub - ddayin/Unity-DivisionLike: develop a game like Tom Clancy's The Division by using Unity github.com 오랜만에 예전에 하던 토이 프로젝트를 열어보았다. 역시나 오류가 잔뜩 있었다. 유니티 최신 버전으로 업그레이드도 마쳤다. 이제 깃헙 이슈 등록하고 점차 ..