SideProjects

    [동물의숲 모작] capsule 형 캐릭터가 planet 위를 캐릭터가 걷도록

    [동물의숲 모작] capsule 형 캐릭터가 planet 위를 캐릭터가 걷도록

    https://benwelshscript.wordpress.com/2015/07/21/how-to-create-spherical-gravity-in-unity/ How to create spherical gravity in Unity In my previous blog posts, I talked about a project I was working on, a Katamari Damacy clone, called Clump Soul. What I chose to do was use a sphere for the play area instead of a plane, or the bu… benwelshscript.wordpress.com 구글링 해보고 유용한 글은 위에 링크를 두었다. 개념 상으로는 아래 g..

    [동물의숲 모작] Capsule Collider 있는거 쓰자

    [동물의숲 모작] Capsule Collider 있는거 쓰자

    유니티 내장 collider 중 capsule을 그대로 쓰기로 한다. 왜냐하면 capsule collider에 height를 조절하면 아래 화면과 같이 총알 모양이 된다. 캐릭터가 cylinder의 끝으로 가지 못하게 막으면 되기 때문에 굳이 collider까지 cylinder일 필요는 없겠다. 생성한 cylinder 맵에 ThirdPersonController.prefab 과 vThirdPersonCamera.prefab을 배치해 본다. 아래와 같이 서 있는 플레이어 캐릭터가 보인다. 그런데 cylinder map 옆으로 이동하면 플레이어 캐릭터는 중력이 아래로 향하므로 떨어지게 된다. 실린더의 중점을 기준으로 플레이어 캐릭터가 어느 곳으로 가든 collider 위에 서 있게 할 수 있을지 고민해 보아..

    [동물의숲 모작] 6. Light 설정과 Hierarchy 정리

    [동물의숲 모작] 6. Light 설정과 Hierarchy 정리

    아래 화면과 같이 Hierarchy를 구성해 보자. 먼저 Invector-3rdPersonController_LITE 에서 데모 샘플 씬을 가져온다. 그리고 HDRP 템플릿 씬에서 light 등을 가져온다. Hierarchy는 점점 복잡해 지기 때문에 ENVIRONMENT ==================== 와 같이 비어있는 게임오브젝트를 생성한다. 그랬더니 바로 에러가 발생한다. "Cascade Shadow atlasing has failed, only one directional light can cast shadows at a time UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)" 그래서 하나의 directional light가 필요하다. 다른..

    [동물의숲 모작] 5. Third Person Controller LITE 에셋 import

    [동물의숲 모작] 5. Third Person Controller LITE 에셋 import

    유니티에서 공식적으로 지원하는 캐릭터 컨트롤러는 URP라서 못쓴다. 그래서 에셋스토어에 검색해 보았더니 컨트롤러가 있더라. 그것도 무료로! 지금은 프로토타이핑 하는 단계이기 때문에 에셋 가져와서 빨리 테스트 해볼 수 있어야 한다. https://assetstore.unity.com/packages/tools/game-toolkits/third-person-controller-basic-locomotion-free-82048#description Third Person Controller - Basic Locomotion FREE | 게임 툴킷 | Unity Asset Store Get the Third Person Controller - Basic Locomotion FREE package from In..

    [동물의숲 모작] 4. 에러 발생 : ambiguous reference

    [동물의숲 모작] 4. 에러 발생 : ambiguous reference

    pakcage manager를 통해 Physics 를 설치했더니 아래와 같은 에러가 발생하였다. Library 폴더를 삭제하고 다시 프로젝트를 불러들여도 마찬가지로 동일한 에러를 뱉어내었다. Library\PackageCache\com.unity.entities@1.0.16\Unity.Entities.Hybrid.HybridComponents\CompanionComponentSupportedTypes.cs(41,20): error CS0104: 'DecalProjector' is an ambiguous reference between 'UnityEngine.Rendering.HighDefinition.DecalProjector' and 'UnityEngine.Rendering.Universal.Decal..

    [동물의숲 모작] 3. cylinder 타입의 맵

    [동물의숲 모작] 3. cylinder 타입의 맵

    동물의 숲은 다른 게임과 다르게 조금 특이하다. sphere 인줄 알았더니 좀 더 플레이 해보니까 cylinder 모양이더라. 스크린샷 상단에 나무가 잘려서 보이는 것을 통해서도 알 수 있었다. 실린더 게임오브젝트를 생성하였다. 실린더 안에 아이콘들이 눈에 거슬린다. 이 아이콘의 크기를 줄여보자. Scene 창에 가장 오른쪽에 위치한 버튼을 클릭하면, 3D Icons의 크기를 줄일 수 있는 슬라이더 바가 있는 것을 확인하였다. 슬라이더 바를 좌측으로 이동하면 3D Icons의 크기가 작아진다. 그러면 아래와 같이 아이콘 크기가 줄어서 보기 좋다. 이제 녹색 선이 더 잘 보일 것이다. 녹색 선의 정체는 Capsule Collider 컴포넌트이다. 그런데 mesh 보다 한참 작다. 아쉽게도 유니티 내에서 c..

    [동물의숲 모작] 2. 새로운 HDRP 씬 생성

    [동물의숲 모작] 2. 새로운 HDRP 씬 생성

    Ctrl + n 단축키로 새로운 씬을 생성해 보자. 그러면 아래와 같이 Hierarchy 창에 디폴트로 생성된 게임 오브젝트들이 있다. scene template으로 Basic Outdoors (HDRP)를 선택했기 때문이다. 동물의숲은 아기자기하고 그래픽도 예쁘다. 그리고 캐주얼해 보인다. 그래서 URP가 맞지 않을까 하는데, 우선 최상의 그래픽 퀄리티로 끌어올려 보기 위해 HDRP를 선택하였다. 그럼 이제 유니티 에디터에서 자동으로 생성해준 씬은 아래와 같이 Sun, Moon, Sky and Fog Volume 등의 게임오브젝트가 미리 추가되어 있다. Sun을 살펴보자. 나 자신도 아직 HDRP에 익숙하지 않기 때문에 하나씩 분석해 보는 편이 좋겠다. Light에 여러가지 속성들이 있어서 그룹화 되어..

    [동물의숲 모작] 1. Starter Assets: Character Controllers | URP

    [동물의숲 모작] 1. Starter Assets: Character Controllers | URP

    - 유니티 버전 : 2023.2.14f1 (LFS 아님 주의) - URP가 아닌 HDRP로 개발할 예정 - 유니티를 어느 정도 다루어 봐서 프로젝트 하나는 완료해 본 경험이 있는 개발자를 대상으로 한다. (유니티 입문용 아님 주의) 유니티 에셋스토어에 유니티 공식 에셋이 존재한다. 아래 링크에서 download 받고 import 한다. https://assetstore.unity.com/packages/essentials/starter-assets-character-controllers-urp-267961 Starter Assets: Character Controllers | URP | Unity 필수에셋 | Unity Asset Store Get the Starter Assets: Character C..

    [동물의숲 모작] 0. 게임 모작 시작

    우선은 github에 private으로 repo를 생성해 두었다. 닌텐도 스위치 보유하지 않는 게임 유저들도 알고있는 게임이다. 엄청난 히트작이라는거! 그만큼 이번에 개인적인 프로젝트를 개발해 보면서 유니티 개발 스킬업을 해야 한다.

    [DivisonLike] Ubisoft 사의 The Division 모작

    프로젝트 시작한지는 꽤 오래 되었다. 입사 지원할 때 항상 이 github 프로젝트를 공유하였다. ddayin/Unity-DivisionLike: develop a game like Tom Clancy's The Division by using Unity (github.com) 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 - ddayin/Unity-DivisionLike github.com 디비전 1, 디비전 2 는 나의 인생 게임 중 하나다. 그리고 길드에 가입해서 한..

    유니티 버전 업그레이드, 2023.2.6f1

    유니티 버전 업그레이드, 2023.2.6f1

    유니티 버전을 자주 업그레이드 해주면, 버전이 상이해서 생기는 에러 및 경고를 미리 파악할 수 있다. 그래서 나는 혼자 개발할 때는 업그레이드를 자주 해주는 편이다. 하지만 다른 개발자분들은 출시할 때까지는 버전을 fix 해두고 더 이상 업그레이드 하지 않는 것으로 보인다. 안정성 측면에서 좋지만, 그 때 그 때 버전 업을 해서 새로운 기능 또는 동작 확인을 해볼 수 있어서 좋다고 본다.

    [Unity Duolingo Clone] Synology NAS에서 제공하는 서버, DB

    [Unity Duolingo Clone] Synology NAS에서 제공하는 서버, DB

    새로 구매한 NAS에 아래 스크린샷과 같이 Node.js 와 MariaDB로 웹 서버를 구축하고자 한다. 둘 다 오픈소스에 무료로 사용할 수 있다니 감사할 따름이다. 설치가 완료되면 phpMyAdmin을 필수로 설치한다. 서버, DB, Admin 등을 설치하는 것은 구글링 하면 다 나와서 간략하게 설명을 줄였다.

    [Unity Duolingo Clone] git client application - fork

    [Unity Duolingo Clone] git client application - fork

    주로 sourcetree와 tortoise git을 사용했는데, 올해부터는 fork를 사용 중이다. sourcetree와 tortoise git을 사용할 때는 주로 commit, push, pull 위주로 많이 썼다. 마치 git을 subversion 쓰듯이 git을 사용하였다. 점점 git에 대해 알아가면서 fork가 얼마나 유용하고 강력한 툴인지 알게 되었다. 유료가 아닌 fork로 이번 프로젝트를 관리하고자 한다. 아래 링크에서 다운로드와 설치를 진행한다. Fork - a fast and friendly git client for Mac and Windows (git-fork.com) Fork - a fast and friendly git client for Mac and Windows Fork -..

    [Unity Duolingo Clone] Layout 추천

    [Unity Duolingo Clone] Layout 추천

    유니티 에디터 내에 창들이 많은데 레이아웃을 변경할 수 있다. Window => Layouts => Tall 을 추천한다. 그리고 아래와 같이 좀 더 수정해서 쓴다. 레이아웃 또한 git에서 저장해서 쓸 수 있긴 한데 개발자 마다 즐겨 쓰는 레이아웃이 다르므로 git ignore 하는 것을 추천한다. 본 강좌에서는 아래와 같은 레이아웃으로 설명을 할 것이니 참고하기 바란다. (혼돈을 막기 위해 이 레이아웃으로 하는 것이 좋지 않을까?)

    [Unity Duolingo Clone] External Script Editor

    [Unity Duolingo Clone] External Script Editor

    Preferences 창을 열어 보면, External Tools => External Script Editor를 클릭해서 스크립트 에디터를 선택할 수 있다. 프로젝트 생성하면 가장 먼저 해야 될 설정이다. 이미 설치 되어 있는 IDE 들이 메뉴로 뜬다. 아래 메뉴에서 자신에게 익숙한 툴을 선택하면 되겠다. 설정이 끝나면 cs 파일을 열면 여기서 선택했던 IDE가 뜬다.

    [Unity Duolingo Clone] 새로운 프로젝트 생성 - 2D Core

    [Unity Duolingo Clone] 새로운 프로젝트 생성 - 2D Core

    프로젝트를 새롭게 만들면 유니티 허브에서 제공하는 템플릿을 선택해서 시작할 수 있다. 듀오링고 클론 프로젝트는 웹 브라우저에서 돌아가는 간단한 2D 앱이 될 것이기 때문에, 2D Core를 선택한다. 그러면 이렇게 2D에 설치되는 기본적인 패키지들이 같이 포함된다. 유니티 허브의 템플릿을 이용하면 이렇게 일일히 패키지들을 설치할 필요없게 된다. 프로젝트를 열어보면 Project 창에 아래 화면과 같이 설치된 패키지들을 확인할 수 있다. Jetbrains 사의 Rider IDE도 필수 패키지에 포함되어 있다. (그만큼 Rider가 많이 쓰인다는 의미일 수도 있겠다.)