-
[Unity Engine] [Unity3D] 데이터 관리 아이디어. (개발자 조심!)2017.05.02 AM 01:11
예로부터 기획자는 엑셀로 말을 한다라는 말이 있다.
이에관한 감동깊은 동영상이 있는데 유나이트 2015에서 나온 동영상이다.
강의 큰 흐름은 우리가 이런 삽질을 했으니 이런식으로 해라! 라는 느낌이다.
이 글을 쓰면서 뭔가 느껴져서 찾아보니 강의자가 만든 게임이 릴리즈가 되어서 한번 접속해보니 텅빈 마을이 나를 반겨줬다.
아무튼! 저 동영상에서 제시 하는 기획자와의 커뮤티케이션 최종형태는 마이크로소프트 엑셀을 이용한 데이터를
기획자가 만들면 프로그래머는 자동화된 툴을 사용해서 클래스를 만들고 게임내에 import된다... 뭐 이런소리같다.
뭐 자세한 소리는 중요하지 않고 이 영상을 보다가 떠오른 아이디어를 구현해 보았다.
필자는 유니티를 죽어도 끄기 싫어서 다음과 같은 것을 만들었다.
두둥? 아 순서가 틀렸다.
다음과 같이 sheet를 선언한다.
위 강연에서는 위 스크린샷 순서와 같이 시트를 작성후 자동화된 방식으로 클래스를 만든다고 한다.
하지만 의식의 흐름상 반대가 되야 되지 않을까? 필요한 데이터필드를 정의하고 데이터시트를 작성하는 것이 순서에
맞지 않을까?
1. 필요한 클래스를 작성하고
2. 추가된 메뉴아이템으로 데이터를 생산한 뒤에
3. window/dataSheetWindow 에서 생산된 데이터시트를 선택하면 처음 스샷과 같이 뜬다.
이렇게 만든 데이터는 그냥 접근해서 사용하면된다. 사용하는 부분에서는 딱히 특별한 부분은 없다.
먼가 아이디어, 비판점, 버그?, 좋은점(?)이 있으면 댓글이나 이메일(geniikw@gmail.com)로...
source : https://github.com/geniikw/DataSheetLab
알려진 문제점
1. color나 material 등을 정렬할때 argumentException이 나는데 리플렉션을 활용하는 프로젝트 특성상
예외처리하기가 귀찮아서 그냥 냅둠 List도 같은 이유.
2. 에디트중에 정렬을 하면 선택된 에디트박스가 그대로 있음. 무슨짓을 해도 안없어지는... ㅂㄷㅂㄷ
3. sheet에 item을 추가하는 부분에서 리플렉션을 활용하는 특성상 add넣기가 매우 귀찮아진다.
그래서 listItem들은 각각 sheet들의 inspector에서 조정해 주어야 된다. 이점때문에 엄청 야매같다.
4. 스크롤 할때 시트의 길이를 아이템수로 했는데 list로 추가되는 라인을 고려하지 않았다.
현재는 그냥 *2로 처리해서 스크롤시 밑에 빈공간이 보인다.
- pbkim
- 2017/05/02 AM 05:30
- non-oan
- 2017/05/02 AM 11:22
최종 저장할때 2003스프레드시트(xml) 로 저장하게 했습니다.
그럼 그걸 파싱해서 에셋 형태로 저장했죠.
여기에도 임포트, 익스포트 기능이 추가되면 좋을 거 같네요.
- 잘자염
- 2017/05/02 PM 12:10
생각해보니 개인적으로는 쓸 일이 별로 없는 기능이라 세월아 네월아 밀리네요. ;ㅅ;
user error : Error. B.