Unity resource naming convention 2021

유니티 리소스를 관리하기 위한 기본적인 폴더 구조는 다음과 같다. 컨텐츠 파일들을 Runtime 폴더 하위에 리소스의 종류 별로 폴더를 만들어서 관리하게 된다. 리소스를 종류 별로 관리하기 위한 폴더명의 이름은 다음과 같다. 해당 폴더명을 이용하여 리소스를 관리한다.

  • Scripts

  • Prefabs

  • Presets

  • Materials

  • Sounds

  • Particles

  • Meshes

  • Atlases

  • Textures

  • Animations

  • Shaders

  • Scenes

  • Terrains

리소스파일 네이밍

스크립트 리소스

스크립트 리소스는 폴더 트리를 네임스페스와 동일하게 구성하고, 클래스 이름은 의미를 명확하게 전달할 수 있으면네임스페이스안에 중복되는 의미가 있더라도 중복으로 이름을 지을 수 있다

일반 리소스

폴더는 이름은 자유롭게 네이밍하지만 리소스 파일은 소문자를 사용하고 언더스코어 문자를 통해 리소스가 의미하바를 표한하기 위한 단락을 구별한다. 설명 단락은 최소한 1개가 존재해야 한다.

  • {카테고리}_{타입}_{설명단락1}_{설명단락2}_{설명단락3} …. N

네이밍 예는 다음과 같다

  • characters_ani_1004.png

  • gui_mainscene_messagebox.png

  • gui_mainscene_messagebox_scroll.png

  • gui_mainscene_messagebox_closepopup.png

  • gui_mainscene_messagebox_closepopup_is_none.png

그외 파일이 아닌 것들에 대한 네이밍

Mecanim같은 FSM 관리등이나 Atlas 구성시에 이름을 넣을때도 소문자와 언더스코어 문자를 통해 이름을 짓는다. 상태. 설명단락을 생략이 가능하다.

  • 캐릭터 애니메이션 이름 : {동작이름}_{설명단락1}_{설명단락2}_{설명단락3} … N

네이밍 예는 다음과 같다.

  • idle

  • idle_hp_is_zero

  • attack_1

Assets 하위 폴더 예제

  • OneMinute.CAK

    • Runtime: 콘텐츠 리소스

      • Scripts

        • Application(전역 폴더에서 관리)

          • AppScene.cs class OneMinute.CAK.Application.TestScene

        • Component(전역 폴더에서 관리)

          • A.cs : class OneMinute.CAK.Component.A

        • View(전역 폴더에서 관리)

          • MessageView.cs : class OneMinute.CAK.View.MessageView

        • Model(전역 폴더에서 관리)

          • AModel.cs

        • ViewModel(전역 폴더에서 관리)

          • MessageViewModel.cs : class OneMinute.CAK.ViewModel.MessageViewModel

        • Test1 (새로운 폴더를 만들어서 AMVVMC 객체들을 관리하는 식으로 모듈화)

          • Application

            • Test1Scene.cs

          • Component

            • B.cs

          • ViewModel

            • UIViewModel.cs

        • Test2( 하나의 폴더에 모든 AMVVMC를 관리하는방식의 모듈화)

          • Test2Scene.cs

          • Test2ViewModel.cs

          • Test2View.cs

      • Scenes

      • Sprites : 스프라이트 종류 단위로 전역 리소스 모듈화. 스프라이트 종류의 리소스만 관리하게 된다.

        • Icon

          • webicon_sprites_1.png

          • appicon_sprites_2.png

      • Materials

      • Characters : 캐릭터 리소스를 관리하기 위한 서브 리소스 모듈화

        • Shaders

        • Animations

          • characters_animations_atlases_1004.json

          • characters_animations_atlases_1004.png

        • Atlases

          • characters_atlases_1004.png

    • Editor : 에디터 리소스

      • Scripts

      • Scenes

    • Tests : 테스트 리소스

      • Runtime

      • Editor

    • Examples

      • Runtime

      • Editor

0 0 votes
Article Rating
Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x