반응형 개발875 Unity) LineRenderer (Sprite Repeat) LineRenderer (Sprite Repeat) 라인 렌더러를 사용해서 이미지를 연속해서 처리하는 것을 간략하게 포스팅한다. LineRendere 는 Material을 셋팅해야한다. 단순하게 Material을 셋팅하면 한개 만 딱 나오는데 Line으로 처리가되는 만큼 반복해서 나와야 한다. Sprite 옵션중에 'Wrap Mode'가 있는데 이 항목을 'Repeat'으로 수정한다. Unity -LineRendere : [링크] Unity - Manual: Line Renderer Line Renderer Switch to Scripting The Line Renderer component takes an array of two or more points in 3D space, and draws a s.. 2023. 10. 26. 문제해결)Unity Package Manager Error Unity Package Manager Error Unity Package Manager Error가 나서 Editor가 열리지 않고 다음과 같이 알람 팝업이 노출되어있다. 프로젝트 경로의 packages-lock.json 파일 삭제하고 다시 Pacakge Manager가 갱신될수 있는 상태에서 다시 프로젝트를 열면 Unity Pacakge Manager에 있는 정보로 갱신되면서 package의 저장 시점(lock)에 대한 hash Key가 갱신된다. ★☆☆☆☆ 2023. 10. 25. 문제해결) Atlas source cannot be null! Atlas source cannot be null! Unity CLI 빌드로 진행하는 과정에서 발생한 에러이다. 간략하게 보면 Spine 데이터를 읽을때 버전이 달라지면서 Atlas 데이터를 못찾으면서 발생하는 에러이다. 간단하게 해결방법은 다음과 같다. [2023-10-05T11:14:42.211Z] (Filename: ./Library/PackageCache/com.esotericsoftware.spine.spine-unity@661796d2cb/Editor/spine-unity/Editor/Utility/AssetUtility.cs Line: 598) [2023-10-05T11:14:42.211Z] [2023-10-05T11:14:42.211Z] Atlas source cannot be null! .. 2023. 10. 23. 알고리즘) SOLID 원칙 (솔리드 패턴) SOLID 원칙 (솔리드 패턴) SOLID은 다섯 가지 기본 설계 원칙을 나타냅니다. 이 원칙들은 소프트웨어 디자인을 더 견고하고 유지보수하기 쉽게 만들기 위한 패턴으로 의미에 대해서 알고있으면 좋다. 실제 구현 방식에 대해서는 간략하게 정리한다. 클래스는 단 하나의 책임만을 가져야 합니다. 여러가지 책임이 생기게되면 더 많은 기능이 추가되는 경우에는 해당 클래스를 확장해서 더 넓은 의미의 클래스로 재작성 및 리팩토링이 필요하다. (독립성) 소프트웨어 엔터티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다.. 2023. 10. 19. c#) 확장형 메소드 (Extension Methods) 확장형 메소드 (Extension Methods) 확장명 메서드를 사용하면 새 파생 형식을 만들거나 다시 컴파일하거나 원래 형식을 수정하지 않고도 기존 형식에 메서드를 "추가"할 수 있다. 확장 메서드는 정적 메서드이지만 확장 형식의 인스턴스 메서드인 것처럼 호출되고 C#, F# 및 Visual Basic에서 작성된 클라이언트 코드의 경우 확장명 메서드를 호출하는 것과 형식에 정의된 메서드를 호출하는 데는 명백한 차이가 없는 형식이다. 간략한 예시를 보면 다음과 같다. using UnityEngine; using System.Collections; public static class ExtensionMethods { public static void ResetTransformation(this Trans.. 2023. 10. 19. Unity)DLL (Dynamic Link Library)-> UPM(UnityPackageManager) 배포 DLL (Dynamic Link Library)-> UPM(UnityPackageManager) 배포 DLL으로 생성해서 UPM으로 배포하는 경우에는 asmdef 가 필요 없음(DLL)으로 이미 묶여있기 때문이다. C:\Program Files\Unity\Hub\Editor\2021.3.12f1\Editor\Data\Managed\UnityEngine C:\WORKSPACE\SHC\UPM\Library\ScriptAssemblies\UnityEditor.UI.dll .. DLL으로 이미 컴파일되어서 따로 컴파일이 필요없다. 버전별로 관리 가능하다. 메모리가 공용이다. 코드가 통합되어서 들어간다. private static readonly st.. 2023. 10. 17. 문제해결)Command "git checkout -f 해쉬 키" returned status code 128:stdout: stderr: error: Entry '파일' not uptodate. Cannot merge. Command "git checkout -f 해쉬 키" returned status code 128:stdout: stderr: error: Entry '파일' not uptodate. Cannot merge. Jenkins로 빌드 과정에서 Git Check 하는 과정에서 특정 파이릴을 Update 받지 못한 상황이다. hudson.plugins.git.GitException: Command "git checkout -f 해쉬키" returned status code 128: stdout: stderr: error: Entry '파일' not uptodate. Cannot merge. 해당 경로의 SkipWorkTree를 확인해본다. git ls-files -v {경로} | grep '.. 2023. 10. 17. AWS) CLI 접속 및 디렉토리 확인(Window) AWS CLI 접속 및 디렉토리 확인(Window) AWS Command Line으로 사용하기 위해서 홈페이지에서 설치를 한다. Window를 기준으로 간략하게 포스팅한다. 설치 이후 버전으로 확인 환경별로 접속을 구분하기 위해서 Profile으로 구분해서 생성 aws configure --profile aws configure list-profiles aws s3 ls --profile {프로필} {경로} aws s3 ls --profile {프로필} {경로} --recursive --human-readable --summarize --recursive : 경로의 있는 하위 항목을 재귀 --human-readable : 사람이.. 2023. 10. 17. Unity)Sprite Library Editor (스프라이트 라이브러리 에디터) Sprite Library Editor (스프라이트 라이브러리 에디터) Unity에서 Sprite 를 교체 할때 유용하게 사용이 가능한 2D Animation 패키지가 업데이트 되어서 간략하게 포스팅한다. 기존에는 코드로 하나씩 변경하는 처리를 했었다.(ScriptableObject 를 활용해서 Skin Sprite 를 교체하는 형태) 최근에 업데이트된 2D Animation 쪽에서 이것저것 기능들을 추가로 업데이트 해줘서 더욱 더 편리하게 변경이 가능한것 같다. Sprite를 한번에 교체가 가능한 형태로 저장이 가능하다. Color SpriteLib -> Gray SpriteLib 로 변환한 케이스이다. 해당 메뉴얼에 있는 여러가지 메뉴얼을 참고해서 애니.. 2023. 10. 16. 개발지식) QA( Quality Assurance) / TE (Test Engineer) 차이점 QA( Quality Assurance) / TE (Test Engineer) 차이점 QA 직군과 TE 직군은 제품 혹은 서비스의 개발 이후의 개발 과정에서 활약하는 직군으로 `테스트`를 하는 공통적인 특징이 있다. QA는 Quality Assurance의 약자로 제품이나 소프트웨어의 전반적인 품질을 보장하는 것에 중점을 둔다. 품질을 보장하기 위해서 테스트를 포함한 여러가지 요구 사항 분석을 하는데 테스트 계획을 작성하고 실행하며 결함이나 문제를 식별하고 개발 팀과 협력하여 이를 해결하는 등의 작업, 요구 사항 분석부터 릴리즈 후 지원까지 전체 개발 라이프사이클에서 서비스 품질을 높이기 위한 직군이다. TE(Test Engineer)는 주로 개발 과정의 특정 단계에서 테스트에 중점을 둔다. 테스트 케이.. 2023. 10. 16. Unity) ClipBoard (클립보드 : 복사 붙여 넣기 Copy & Paste) ClipBoard (클립보드 : 복사 붙여 넣기 Copy & Paste) Unity 에서 클립보드(복사 붙여넣기) 기능이 필요해서 찾은것을 간단하게 포스팅한다. 간단하게 복사 붙여넣기 기능을 사용할수 있다. 예전에는 Native로 각자 구현을 했는데. 지금은 편리해졌다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestCode : MonoBehaviour { private string ClipBoardName = "복사할 내용"; public void OnButtonClick() { CopyToClipBoard(ClipBoardName); } public static void Cop.. 2023. 10. 15. Unity) Unity Documentation (Unity 문서) Unity Documentation (Unity 문서) Unity 공식 문서 링크이다. 최신 기술이라던지 버전에 맞는 API를 찾으려면 필수로 확인해야하는 문서이기 때문에 즐겨찾기해두면 좋다. 공식 사이트라서 연결된 서비스들이 최신문서로 갱신이 자주되어서 서 틈틈히 확인하는게 좋다. 최신 적용되는 기술이나 변경된 항목등을 미리 알수 있다. Unity Documentation : [링크] Unity Documentation Docs and guides to work with the Unity ecosystem. docs.unity.com ★☆☆☆☆ 2023. 10. 12. 개발용어)라이브 프로젝트에 대한 리텐션 정보 정리 보호되어 있는 글 입니다. 2023. 10. 10. Unity Sample) Optimizing Scroll List (최적화 스크롤 리스트) Optimizing Scroll List Unity 문서를 보다가 찾은 링크로 Unity 엔지니어가 제공하는 재사용 List GitHub Project 프로젝트이다. 많은 리소스를 소요하는 List / Grid 는 수백 개의 항목이 존재하지만 한번에 소수의 항목만 표시되는 경우 많은 리소스가 소요될 수 있어서 모든 항목에 대한 UI 요소를 만들지 않도록 하고 재사용 패턴을 적용해서 한쪽에서는 항목을 가져오고 동시에 다른 항목을 이동하는 방식을 사용하는것을 권장한다. Unity Engineer 제공하는 샘플 프로젝트로 50개의 Item을 기반으로 재사용하는 방식이다. GitHub 주소 : [링크] GitHub - boonyifei/ScrollList: Optimizing the scroll list Opt.. 2023. 10. 10. Unity) 카메라 스테이킹(Camera Stacking) 카메라 스테이킹(Camera Stacking) 카메라 스테이킹이라는 기술은 단일 카메라가 아닌 여러 카메라를 사용해서 렌더링 이미지를 만들고 해당 렌더링 이미지를 순차적으로 겹쳐서 표현하는 방식을 말한다. Unity 카메라 컴포넌트는 렌더링에 필요한 것보다 많이 사용하지 않도록 해야하는데. 예를 들어, 여러 카메라를 사용하여 UI 레이어를 구성하게되면 모든 카메라 컴포넌트는 실제로 유용하게 사용되지 않더라도 오버헤드를 유발합니다. 고사양 타겟 플랫폼에서는 무시할 수 있는 수준이지만, 저사양 또는 모바일 플랫폼에서는 각각 최대1ms의 CPU 처리 시간이 소요될 수 있다고 한다. 카메라는 렌더링 이미지를 여러가지 연산을 통해서 그려지는데 3가지 프로세스가 이뤄진다고 한다. 1. 레이어 컬링 ( 레이어 제외 .. 2023. 10. 10. 이전 1 ··· 10 11 12 13 14 15 16 ··· 59 다음 반응형