디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[📜일지] [개발일기] 6. 대사시스템 만들기

codeCat(175.123) 2020.06.12 01:17:29
조회 2150 추천 12 댓글 10
														

요번에는 저희 게임에서 사용하는 대사시스템을 소개해보려고합니다.


저희 게임에서는 대사를 스크립터블 오브젝트로 만들어진 노드들로 저장합니다.

처음에는 엑셀에 저장하는 방식을 사용했다가 이런 노드방식으로 옮겨왔는데 둘다 장단점이 있는것 같습니다.

엑셀은 값 하나 복사해서 쭉 드래그해서 쭉 붙여넣기 하거나 찾기 키를 이용해서 특정 값들을 일괄적으로 변경하거나 하는,

수정에서의 편리함이 장점이라고 생각됩니다. 

또 대사를 바꿀일이 생겼을때마다 일일이 빌드할 필요없이 그냥 엑셀 파일만 바꿔주면 되는것도 편한점이고요.

다만, 저희게임에서는 대사를 타임라인과 연동해서 사용하기때문에, 어차피 대사 바꾸면 타임라인에서 

잡아둔 시간값이 변경되기 때문에 다시 수정하고 빌드해야해서 빌드에서의 장점은 사라졌습니다.

또한, 선택지나 분기점을 추가하기로 했었는데 엑셀에서 이걸 보기좋게 표현하기가 힘들다고 생각했습니다.

이런 선택지 / 분기점을 표현하는데 노드가 가시성이 좋다고 생각해서 넘어오게 되었습니다.


다행히 인터넷에 유니티 노드 에디터 관련 오픈소스들이 존재해서 그걸 바탕으로 대사시스템을 만들었습니다.

처음에는 노드에디터 프레임워크(https://github.com/Seneral/Node_Editor_Framework)를 바탕으로 만들었지만

중간에 버전업을 하니까 호환이 안되기 시작해서 작업한걸 날리고 XNode(https://github.com/Siccity/xNode)를 이용해서 다시만들었습니다.

2019.3 버전 기준이니까 만약 이후 버전에서 노드에디터를 사용하실 분이라면 XNode를 쓰시는 편이 좋을거같네요.

노드 에디터 프레임워크가 이것저것 지원하는건 많지만 조금 무겁고, XNode는 딱 있을것만 있지만 조금 가볍다는 느낌이 들었습니다.

XNode를 통해만든 노드에디터의 모습입니다.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9a1b01fe1227ba9cb27012cc9dcda05a5ff8997a12c912ebb

이렇게 화자별로 그래프내의 노드 색깔, 말풍선 모양, 글자 색깔들을 관리도 해주고있습니다. 색은 제가 임의로 정한거라 가시성이 좀 구리네요

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9ccdd14ec22e9836e2cdf680bdaebe572f6285316aa5939827a


그 뒤 이렇게 매니저상에서 Speaker 타입과, 말풍선을 띄울 대상 스프라이트 렌더러를 선택해줍니다. 

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9ccdd14ec22e9836e2cdf680bdabbe720f7730344a10181826a


대사 타겟을 트랜스폼이아니라 스프라이트 렌더러로 잡아준 이유는

대사 위치기준을 트랜스폼으로 잡았을때, 스프라이트 모양이 달라지면서 말풍선 위치가 이상해지기 때문입니다.

두 스프라이트의 트랜스폼상 위치는 똑같지만, 스프라이트 모양이 달라지면서 서 있을때는 정상인 말풍선이 앉아있을때는 너무 위쪽에 나타나게 됩니다.

이걸 맞춰주려면 저렇게 스프라이트 상에서 모습이 많이 바뀔때 대사마다 오프셋을 넣어서 위치를 맞춰주는 노가다를 해줘야합니다.

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9ccdd14ec22e9836e2cdf680bdaecb023f6795717afe13b6e39


그걸 피하기위해 요런식으로 스프라이트 바운더리에 맞춘 오프셋을 구해서 작업해주면 따로 대사마다 오프셋을 작업해주지않아도, 

얼추 스프라이트 모양에 맞춰 대사를 만들어 낼 수 있습니다.

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9a1b01fe1227ba9cb27012cc9dc8b0da9fbdb93a32c812be3


마지막으로, 대사에서 각종 특수효과를 넣을 수 있도록 해줍니다.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9ccdd14ec22e9836e2cdf680bdabbe222ad285344af800bb3fc


PlasticAcceptableCrane-size_restricted.gif


이제 타임라인과 연동해주면 완성입니다.

저번에 타임라인에서 올렸던것과 좀 다른모습인데,

대사로 가서 고치고, 타임라인에서 다시 대사 데이터 적용하는 과정이 귀찮아서 타임라인 내에서 수정 및 반영이 가능하도록 만들어 두었습니다.

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d3c663412759349a894da507e4c7c9a1b01fe1227ba9cb27012cc9dfdf5fa4afdec2af2c40de6d


정작 노드에디터 넘어온 이유인 선택지, 분기 관련 부분은 구현하지 않아서 보여드릴 수가 없네요

자동등록방지

추천 비추천

12

고정닉 5

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기
자동등록방지

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
3006 설문 여행 같이 다니면 고난이 예상되는 스타는? 운영자 25/04/28 - -
174286 공지 인디 게임 개발 갤러리 규칙 - 질문 전 필독!! 파베르갤로그로 이동합니다. 24.12.04 3167 3
178773 공지 신문고 [2] 파베르갤로그로 이동합니다. 25.02.19 507 0
163344 공지 유료 강의 언급 차단에 관한 글 [12] 김메가갤로그로 이동합니다. 24.06.28 4062 19
52873 공지 게임제작 초심자를 위한 글 모음 [12] Goranic갤로그로 이동합니다. 20.07.02 83179 60
123789 공지 뉴비 개임개발 하려는데 뭐부터 해야하나요 복사본 [19] 흉황갤로그로 이동합니다. 23.04.11 25192 44
183977 💬 블렌더 재밋다 [1] ㅇㅇ갤로그로 이동합니다. 12:34 36 0
183976 🐣질문 팹 에셋들은 거의다 언리얼에서만 사용 가능임? ㅇㅇ갤로그로 이동합니다. 12:11 33 0
183975 💬 여기 갤러들은 인디게임 많이 함? [4] Indie(112.144) 12:09 86 0
183974 🐣질문 유니티 코린이 버튼 관리 질문점 ㅠㅠ [4] Indie(219.248) 07:57 161 0
183973 💬 코딩은 돈오점수야 [1] Micharie갤로그로 이동합니다. 04:13 198 1
183972 📜일지 3주차 일지 어떻게든되겠지갤로그로 이동합니다. 04:11 148 1
183971 💬 겜메공부하다가 유니티갈까싶음 [3] ㅇㅇ(124.5) 03:56 291 0
183970 📜일지 오늘 작업한 거 [8] Micharie갤로그로 이동합니다. 03:48 236 5
183969 🐣질문 해상도 올리면 메모리 사용량이 급증함 [7] ㅇㅇ(220.80) 03:20 182 0
183968 💬 버그버그버그버그버그버그버그버그버그버그버그버그버그 [6] Indie(175.207) 02:51 185 0
183967 🐣질문 IDE는 라이더같은거보다 커서같은 ai통합IDE쪽이 더 나음? [1] Indie(180.230) 01:22 186 0
183966 📜일지 나만의 던전 맵 생성 시도 [1] 퀼트갤로그로 이동합니다. 01:17 197 2
183965 📜일지 4달 동안만들어서 인게임 플레이는 거의 완성된거 같은데 [7] 개사료애호가갤로그로 이동합니다. 00:52 347 0
183964 💬 에픽게임즈 마켓수수료 변경된 김에 알아보는데.. [5] Indie(175.192) 00:45 192 1
183963 💬 나는 객체지향이 싫다 ㅠ [8] Mr빙그레갤로그로 이동합니다. 00:25 314 1
183962 📜일지 [일지7] 퀵슬롯 만들었워 [2] ㅇㅇ갤로그로 이동합니다. 00:24 158 4
183961 📜일지 메카닉 슈팅 개발일지 19, " 많은 변화 - 지옥의 1분기" [6] 폴라갤로그로 이동합니다. 05.03 236 8
183960 💬 3년 전에 gpt한테 유니티 질문했을 때랑 차원이 다르네 [4] ㅇㅇ(211.47) 05.03 247 0
183959 💬 여아이돌팬게임) 취미로 만들고 있는것 [4] 늅늅이늅갤로그로 이동합니다. 05.03 268 4
183958 🐣질문 bic 팀 관련 궁금한거 Indie(211.234) 05.03 167 0
183955 📜일지 플랫포머에서 간단한 블럭 흔들기 효과 [7] 철근맨갤로그로 이동합니다. 05.03 384 8
183954 💬 둘이서 6일 동안 게임 만든 후기 [12] ㅇㅇ갤로그로 이동합니다. 05.03 823 11
183953 💬 내 게임에 성우 음성 넣는게 꿈이다 ㅇㅇ갤로그로 이동합니다. 05.03 133 0
183952 💬 ㅈㄴ 슬픈 게임 추천 좀 [24] 골골갤로그로 이동합니다. 05.03 294 0
183951 📚정보 대충 3D기반에서 좀 이쁘게 뽑을려면 기본적으로 해야되는 것들. [26] Indie(118.37) 05.03 688 10
183950 💬 비주얼 노벨은 인디겜 입문으로 안 좋긴 해요 [19] limforest갤로그로 이동합니다. 05.03 403 1
183949 💬 커서 진짜 미칫네 [10] ㅇㅇ(58.141) 05.03 421 0
183948 📜일지 오늘 한 것)우당탕탕 시야 함수 대개선 [1] Ray.갤로그로 이동합니다. 05.03 228 3
183947 💬 하루종일했는데.. 아니지? [23] 211214갤로그로 이동합니다. 05.03 449 3
183946 💬 음악 작업하고 있습니다! Indie(223.38) 05.03 154 5
183945 💬 Babylon js 어떻게 보냐 Indie(49.161) 05.03 85 0
183944 💬 내가 왜 아틀라스를 다닥다닥 붙여서 만들었을까 [11] Micharie갤로그로 이동합니다. 05.03 273 0
183908 뉴스 에픽게임즈 스토어, 소규모 업체 '수수료 0%' 6월 시작 [1] 게임메카갤로그로 이동합니다. 05.02 190 3
183943 💬 혹시 ui 디자인 외주 맡겨본사람있음? [2] Indie(112.168) 05.03 173 0
183942 📜일지 뉴비 ㅈㄴ 허접한 첫 프로젝트 현황 [6] 캐빈99갤로그로 이동합니다. 05.03 526 5
183941 💬 일러스타 페스 짤막 후기 [5] 구급상자갤로그로 이동합니다. 05.03 267 2
183940 💬 현지화는 걍 스팀 통계보고 하는게 정배임 + 미세팁 [19] bowmore갤로그로 이동합니다. 05.03 884 5
183939 📜일지 본격 인디 MMO게임 개발기 [9] 퀴레이스갤로그로 이동합니다. 05.03 819 5
183938 💬 디버깅까지해주는 AI가 필요함 [14] 불타는키보드갤로그로 이동합니다. 05.03 400 0
183937 💬 소프트웨어 현지화 최우선 고려대상 5개국어 [9] Micharie갤로그로 이동합니다. 05.03 353 0
183936 💬 개발초보라 자꾸 시나리오랑 설정이 방대해지고 산으로 가느중... [3] Noone갤로그로 이동합니다. 05.03 238 0
183935 💬 벽이 많아지니까 시야 함수 오버헤드가 점점 커지고 있어... [5] Ray.갤로그로 이동합니다. 05.03 291 0
183934 💬 게임 속 에디터는 어떻게 구현하는지 감도 안잡힘.. [12] DoDoSae갤로그로 이동합니다. 05.03 411 0
183933 💬 주식 시장 기능 포함한 게임만들고있는데 [12] ㅇㅇ(14.43) 05.03 387 1
183932 💬 Epic Games Store 6월부터 새로운 마켓수수료 정책 [10] Indie(175.192) 05.03 325 2
뉴스 ‘한지민 쌍둥이’ 정은혜, 오늘(3일) 결혼 디시트렌드 05.03
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2