목록unity6 (8)
cyphen156

유니티의 빌드파일 경량화 및 로딩 최적화를 위한 2번째 솔루션 어드레서블이다.다음 문서들을 참고하여 작성하였다.https://docs.unity3d.com/kr/current/Manual/com.unity.addressables.html 어드레서블 - Unity 매뉴얼 docs.unity3d.comhttps://docs.unity3d.com/kr/Packages/com.unity.addressables@1.21/manual/index.html Addressables 패키지 | Addressables | 1.21.17Addressables 패키지 Addressables 패키지는 애플리케이션의 콘텐츠를 구성하고 패키징하는 툴과 스크립트, 런타임에 에셋을 로드 및 해제하는 API를 제공합니다. 에셋을 어드레서..

항상 모든 몬스터의 인공지능을 개발자가 코딩할 수는 없다. 그래서 유니티에서는 길찾기 알고리즘을 개발하는 시간을 단축할 AI Navigation이라는 레지스트리 패키지를 제공하고 있다.그리고 AI가 돌아다닐 수 있도록 Plain에 NavMesh Surface 컴포넌트를 달아준다.여러가지 옵션들이 있지만 주의깊게 봐야 할 것은 Agent Type과 Default Area이다.어떠한 형태의 오브젝트가 어느 부분을 활용하여 이동할지를 결정하는 것이기 때문에 항상 이것을 실제 AI오브젝트에 달린 컴포넌트와 맞춰 주어야 한다.AI를 통해 제어할 오브젝트에 Nav Mesh Agent컴포넌트와 제어 스크립트를 부착해준다.Using문using UnityEngine.AI;using Unity.AI.Navigation;..

캐릭터를 한개 집어넣었는데 사망 모션 등 상하체, 팔 다리 등을 분리하여 제어하고 싶을 때가 있다. 그럴때 쓰는게 애니메이션에 있는 아바타 마스크이다.아바타 마스크는 다음과 같이 만들어서 개별 컨트롤러를 생성하는 것이다. 그리고 나서 코드에서 다음과 같이 레이어에 대한 가중값을 제어 할 수 있다. animator.SetLayerWeight(1, 1);그러고 나면 다음과 같이 플레이어 애니메이션이 재생된다.

유니티에서는 애니메이션 클립에 이벤트를 추가하여 특정 프레임중에 함수를 실행할 수 있다.가령 걷는 이벤트 중에 발소리가 나야 한다고 했을 때 다음과 같이 코드를 추가하고 이벤트를 통해 함수를 실행할 수 있다.PlayWeaponChangeSound{ if (audioClipWeaponChange != null) { audioSource.PlayOneShot(audioClipWeaponChange); }}이렇게 연결해주면 15번 프레임이 재생될 때 마다 사운드가 재생된다.

※ 공부하는 도중에 작성된 글입니다. 처음부터 설명하는 내용이 아니니 적당히 걸러서 보세요. ※※ 그냥 이런 흐름으로 애니메이션을 작업하는구나 정도로만 받아들여주세요※ 유니티에서 2D 게임을 만들때 가장 중요한 작업들 중 하나가 애니메이션을 만드는 것이다.먼저 여러 개의 스프라이트 이미지가 필요하다.가장 먼저 설정할 것은 이미지들의 피벗과 스프라이트 모드를 설정하는 것이다. 만약 이 피벗 위치가 달라진다면 애니메이션의 재생 위치도 달라질 것이기 때문에 애니메이션을 구성하는 모든 스프라이트 들은 같은 피벗 위치와 모드를 가지고 있어야 한다.피벗과 모드를 전부 설정했다면 다음과 같이 프로젝트 윈도우 아무데나 이미지들을 드래그 하면 유니티 엔진이 자동으로 애니메이션을 만들어 준다.애니메이션 자동 생성 기능 사..

유니티에는 애셋들을 번들링해서 제공할 수 있도록 할 수 있다. 에디터를 수정하여 직접 메뉴창을 만들수도 있다.이거 어디다가 쓰냐 하면 실행파일(apk)의 크기를 줄이고 추가 리소스는 애셋 번들의 형태로 제공함으로써 초기 프로젝트의 용량을 줄이고, 애셋을 다른곳에도 사용할 수 있도록 유연성과 확장성을 확보하는데 있다.우선 Asset폴더 내부에 Editor 폴더를 만들고, 여기에 스크립트를 하나 생성한다.그러고 나면 다음과 같이 메뉴창을 하나 생성할 수 있다.애셋 패키지를 등록하려면 프리펩과 같은 파일들을 다음과 같이 작업하면 등록된다.그리고 나서 다음과 같이 코드를 수정하고AssetBundleBuilder.csusing System.IO;using System.Collections;using UnityEn..

돈스타브 하다가 하기싫어져서 뛰쳐나온 프로젝트확실히 글쓰면서 공부하면 조금 더 집중을 오래하는것 같다.간단하게 애셋 스튜디오로 리소스 추출하고 프로젝트 모작으로 만들것 같다.맨 처음 유니티6 2D Core(URP)프로젝트를 생성하면 현재 다음과 같은 경고가 발생한다.→ 24.12.16 수정Unity6 0.31f1버전 기준 이제는 안뜨는 에러다 The project currently uses the compatibility mode where the Render Graph API is disabled. Support for this mode will be removed in future Unity versions. Migrate existing ScriptableRenderPasses to the new ..

레벨 디자인에 들어가기에 앞서 유니티 프로젝트를 생성할 때 선택하게되는 렌더링 파이프라인에 대해 설명하도록 하겠다. 우선 렌더링이란 컴퓨터에 저장되어 있는 리소스들을 불러온 것을 화면에 표시하여 보여줄 떄 여러가지 프로세스를 거쳐서 사용자에게 최적화 하여 보여주게 되는데, 이것을 렌더링 파이프라인이라고 한다. 자세한 렌더링 방법에 대한 내용은 나중에 DX11공부할 때 정리하도록 하겠으니 지금은 그냥 렌더링이 저런거구나 하고 넘기자.렌더링 파이프라인은 총 세가지로 이전 프로젝트에서 사용된 Built-in- Render Pipeline, URP, HDRP로 세가지가 존재한다.세가지 렌더링 파이프라인에 대한 자세한 내용은 유니티 공식 문서에 존재하니 링크로 연결하겠다. Unity - 매뉴얼: 렌더 파이프라인 ..