[Unity 패키지] AllIn1SpriteShader (응용)
·
유니티(Unity)/유용한 패키지 모음
📌 개요    [ Unity 패키지 : AllIn1SpriteShader (기본) ] [Unity 패키지] AllIn1SpriteShader (기본)📌 개요    최근에 AllIn1SpriteShader 패키지를 구매해서 다양한 연출을 연습하고 있습니다. 이 과정에서 제가 겪은 경험을 토대로 AllIn1SpriteShader을 사용하는 방법과 주의 사항에 대해 정리해보gus6615.tistory.com 이전 포스터에서 AllIn1SpriteShader 패키지에 대해 간단히 살펴봤습니다. 오늘은 AddAllIn1Shader 컴포넌트 기능에 대해 살펴보고, Prefab으로 제작하는 방법과 인스턴싱에 대해 살펴보겠습니다.     📌 AddAllIn1Shader 컴포넌트   AddAllIn1Shader 컴..
[Unity 패키지] AllIn1SpriteShader (기본)
·
유니티(Unity)/유용한 패키지 모음
📌 개요    최근에 AllIn1SpriteShader 패키지를 구매해서 다양한 연출을 연습하고 있습니다. 이 과정에서 제가 겪은 경험을 토대로 AllIn1SpriteShader을 사용하는 방법과 주의 사항에 대해 정리해보겠습니다.     📌 AllIn1SpriteShader 패키지란?  [ Unity Asset : AllIn1SpriteShader ] All In 1 Sprite Shader | 시각 효과 셰이더 | Unity Asset StoreAdd depth to your next project with All In 1 Sprite Shader from Seaside Studios. Find this & more 시각 효과 셰이더 on the Unity Asset Store.assetstore..
[Git] Repository 복사하는 방법 (깊은 복사)
·
IT/Git
✍️ 개요   최근에 리포지토리를 복사하여 새로운 리포지토리를 만들어야 했습니다. 이때, 두 리포지토리는 같은 이력을 공유하지만 서로 별개의 형상 관리가 필요했습니다.   위처럼 단순히 기존 리포지토리의 모든 파일을 복사하여 새로운 리포지토리를 붙여넣는다고 해결되지 않습니다.      📌 해결책  해결책 : git mirror 사용   $ git clone --mirror {Old_Repository_URL}  Git Bash를 열어 위 명령어를 입력하여 리포지토리의 모든 데이터를 복사    $ git {Old_Repository_Name}.git 미러링이 끝나면 해당 리포지토리 이름의 폴더로 이동     $ git remote set-url --push origin {New_Repository_URL..
[Unity 기능] 2D Bone Animation 제작
·
유니티(Unity)/기능 구현
✍️ 개요   Bone Animatin은 Skeletal Animation 기법을 의미하며, Sprite에 뼈대를 생성하여 모델을 움직이는 기법입니다. 더 자연스러운 움직임을 재공하며 재사용성이 높아 많이 활용되고 있습니다. 오늘은 2D 환경에서 Bone Animation을 제작하는 방법에 대해 알아보도록 하겠습니다.      📌 환경 설정  UPM(Unity Pacakge Manager)에서 2D Animation 패키지를 설치합니다. 이 패키지는 Bone Animation 제작 기능을 제공합니다.    추가로 2D PSD Importer 패키지를 설치합니다. 이 패키지는 포토샵(PSD) 파일을 Unity에 Import 할 수 있도록 해줍니다. 포토샵에서 제작한 레이어들을 온전히 보존해주기 때문에 R..
[Unity 패키지] Hot Reload : 동적 코드 수정
·
유니티(Unity)/유용한 패키지 모음
✍️ 개요  Hot Reload는 Unity Editor Play 모드 도중 코드를 동적으로 수정하는 기술입니다. Play 도중 스크립트를 수정하려면 Play 모드를 끄고 수정하고 다시 Play 모드로 들어가죠. 하지만 이 과정은 불필요한 시간 소모가 많이 발생합니다. Hot Reload는 이런 과정을 생략함으로써 개발 시간을 크게 단축시켜 줍니다.    [ Unity AssetStore : Hot Reload ] Hot Reload | Edit Code Without Compiling | 유틸리티 도구 | Unity Asset StoreUse the Hot Reload | Edit Code Without Compiling from The Naughty Cult on your next project. F..
[Unity 기능] 2D Endless Platform 구현 (2편)
·
유니티(Unity)/기능 구현
✍️ 개요    [ 2D Endless Platform 구현 (1편) ] [Unity 기능] 2D Endless Platform 구현 (1편)✍️ 개요    최근에 끝이 없는 2D Platform을 제작하고 있습니다. 하나의 Layer만 사용하는 Serial Endless Platform, 그리고 여러 개의 Multi Layer을 사용하는 Parallel Endless Platform으로 구성하려고 합니다.gus6615.tistory.com 이전에 끝이 없는 2D Platform 기능에서 하나의 Layer만 사용하는 Serial Endless Platform을 구현했습니다. 오늘은 하나가 아닌, 여러 개의 Layer을 사용하는 Parallel Endless Platform을 구현해보도록 하겠습니다. ※ ..
[Unity 기능] 2D Endless Platform 구현 (1편)
·
유니티(Unity)/기능 구현
✍️ 개요    최근에 끝이 없는 2D Platform을 제작하고 있습니다. 하나의 Layer만 사용하는 Serial Endless Platform, 그리고 여러 개의 Multi Layer을 사용하는 Parallel Endless Platform으로 구성하려고 합니다. 하지만 모두 다루기엔 글이 길어질 것 같아 2편으로 나눠 정리하도록 하겠습니다.      📌 시스템 설계  위 사진을 예시로 설계해보도록 하겠습니다. 하나의 Camera와 자동차, 4개의 숲 풍경 조각이 있습니다. 저는 이제 자동차를 앞으로 움직이고 무한한 풍경을 구현할 예정입니다.    가장 먼저 Camera와 풍경(Map)이 움직이도록 합니다. Q. Camera만 움직여도 Map이 뒤로가는 느낌을 줄 수 있지 않나요? A. 맞습니다...
[Unity 이슈] Sprite Atlas가 딱히 효과가 없는 경우 (SRP Batching 관련)
·
유니티(Unity)/이슈 도감
✍️ 개요  최근에 Sprite Atlas을 사용하고 성능 분석을 해보니 딱히 효과가 없더군요. 물론 위 사진에서는 3개의 Batch가 줄었지만 큰 의미는 없습니다. (FPS가 3배 가량 차이가 나지만 Editor Pause 영향이기에 고려하지 않음) 그렇다면 어떤 차이가 있는걸까요?      📌 문제 상황  위 씬을 구성하는 Sprites을 폴더로 정리하였습니다. 동시에 사용되는 경우에 따라 Sprite Atlas도 제작하였습니다.    하지만 결과는... 개요에서 본 것 처럼 성능 개선이 없었죠. 그래서 다른 요인을 찾기 시작했습니다.    문제는 바로 SRP Batcher 였습니다! URP 프로젝트를 생성하면 위처럼 SRP Batcher가 자동으로 체크되면서 SRP Batching을 수행합니다. ..
[Unity 이슈] Editor에서는 잘 되지만 Build가 안되는 이슈
·
유니티(Unity)/이슈 도감
✍️ 개요  최근에 빌드를 했는데...    위 사진처럼 Package에서 빌드 오류가 발생했습니다. 간혹 빌드 시 일부 스크립트에서 using 구문에서 오류가 발생하곤 합니다. 오늘은 이 부분에 대해서 원인과 해결책을 살펴보도록 하겠습니다.만약 Build 시 아래 오류가 발생한다면 아래 해결책으로 해결될 수 있습니다.  The type or namespace name 'PackageManager' does not exist in the namespace 'UnityEditor'The type or namespace name 'EditorWindow' could not be foundThe type or namespace name 'Editor' does not exist in the namespace ..
[Unity 이슈] Package 파일 참조하는 방법
·
유니티(Unity)/이슈 도감
✍️ 개요  최근에 Custom Package을 만들었는데 위처럼 에셋을 불러오지 못하는 문제를 확인했습니다. AssetDatabase.LoadAssetAtPath 의 경로는 Unity 프로젝트 디렉토리의 루트를 기준으로 하더군요. 그래서 위처럼 절대 경로를 사용하면 안된다는 사실을 깨달았습니다.   📌 해결 방법   AsssetDatabase.LoadAssetAtPath(string path) 메서드를 활용합니다. 루트가 프로젝트 폴더이니 path를 Packages/~로 시작하여 에셋에 접근하면 됩니다. 여기서 중요한 점은, Editor에 표시되는 폴더명이 아니라, pakcage.json에 기재된 패키지명을 적습니다. 잘못된 예 : Packages/DevelopKit/HubTexture.png올바른 ..