2.1에서 렌더링 방식 변경에 대해

다음의 사정에 따라 Cubsim Editor2.0 / SDK 2.0에서는 사용자 환경에 따라 표시에 차이가 발생하는 경우가 있었습니다.
  1. Cubism Editor와 SDK의 개발 경위의 차이점에서 오는 연산 방법의 차이
  2. Cubism SDK 중 Unity와 Android(Java)버전에서만 회전 디포머의 각도가 약간 어긋나는 버그가 존재

Cubism Editor 2.1 / SDK 2.1에서는 어긋남을 없애기위해 렌더링 방법을 변경해 Live2D Viewer의 렌더링 방법과 통일했습니다.

단, 2.0에서 이미 만들어진 모델이 2.1에서 예기치않게 변경되는 것을 막기 위해 Cubism Editor, SDK의 설정에 따라 이전 방식의 표시를 유지하는 기능도 추가했습니다. 과거 버전에서 만든 모델, 응용 프로그램 등의 호환성을 의식할 필요가 없는 경우는 2.1 표준 렌더링 방식을 사용해주세요.



         ※1  C++には、iOS、cocos2dx、PSVita、PSP、PS4、Nitendo3DS、DirectXなどが含まれます。


변경①  SDK2.0  Unity,Android에서 SDK2.1  Unity,Android로의 변경

회전 디포머의 계산식에 잘못된 부분이 있어, Live2D Viewer 및 C++버전 SDK과 약간 표시가 어긋나있었습니다. 대부분의 경우 육안으로는 확인할 수 없는 정도의 차이입니다.

SDK 2.1에서는 Live2D Viewer 및 C++버전SDK와 같은 방식으로 렌더링하도록 수정되었습니다.

이 수정의 결과로 Unity,Android에서 SDK 2.0에서 정상적으로 작동하고 있는 경우, SDK 2.1의 표준설정에서는 약간 변화할 가능성이 있습니다.
이것을 막기 위해 Cubism SDK에서 이하의 설정을 합니다.

Live2D.setDrawMethodVersion( Live2D.DrawMethodVersion.FORCE_2_0 ) ; // 강제적으로 모든 모델을 2.0과 같은 방식으로 렌더링합니다.

모델마다 2.0과 2.1의 렌더링 방식을 전환하고 싶은 경우엔 기본값의 공통 설정과, 모델별로 개별 설정을 합니다.

Live2D.setDrawMethodVersion( Live2D.DrawMethodVersion.DEFAULT_2_1 ) ; // 모델마다 지정하지 않는 경우 2.1 

Live2DModelUnity    modelA ;
modelA.setModelDrawMethodVersion( Live2DModelUnity.ModelDrawMethodVersion.DRAW_2_0 ) ;// 이 modelA를 2.0 표시

SDK2.1에서 아무 설정도 하지 않으면 2.1 표준 렌더링 방식으로 표시됩니다.


변경②  Cubism Editor2.0에서 Cubism Editor2.1로의 변경

회전 디포머의 각도 계산, 곡면 디포머의 범위 밖 부분의 계산, 디포머의 계층 간 계산방법 등을 수정하였습니다.
대부분의 모델에서는 눈에 보이는 변화는 없습니다만, 필요에 따라 이전 방식을 메뉴에서 선택하실 수도 있습니다.

Cubism Modeler 2.1, Cubism Animator 2.1 모두 「표시」메뉴에서 각 방식을 선택합니다.



표현의 차이가 발생하기 쉬운 예

<곡면 디포머의 「범위 밖」에 놓인 오브젝트>

곡면 디 포머의 「범위 밖」에 놓인 오브젝트의 계산 방법은 Cubism Editor2.0과 2.1 표준 렌더링 방식에서 크게 변경되었습니다.

2.0 방식은 곡면 디포머의 범위 밖 오브젝트의 계산을 저속으로 부드럽게 표현하는 구조로 구현하고있었습니다만, 「2.1 표준 렌더링 방식(권장) 」에서는 SDK와 마찬가지로 간단하고 빠른 계산 방식을 채용하여 SDK 및 에디터의 표시가 일치하도록 수정했습니다.

「2.0에디터 호환 표시 방식」에서 기존 방법으로 그릴 수 있지만, SDK와는 다른 표시가 될 가능성이 있으므로 SDK에서 구현하는 목적일 경우는 2.1표준 렌더링 방식으로 수정하실 것을 부탁드립니다.

또한, 어떤 방식으로도 곡면 디포머의 범위 밖에 오브젝트(그리기 오브젝트, 디포머)등을 배치하면 범위 안보다 부하가 커집니다. 따라서 기본적으로는 곡면 디포머의 범위 안에 넣는 것을 권장합니다.


<곡면 디포머에 들어간 회전 디포머의 각도>

「2.0에디터 호환 표시 방식」과 「2.1 표준 렌더링 방식(권장)」에서 약간 각도에 차이가 생기는 경우가 있습니다.




자주 묻는 질문

Q.기존에 SDK 2.0를 사용해 Unity 응용 프로그램을 출시하고 있습니다. SDK를 2.1로 업그레이드 하는 경우에는 어떻게하면 좋습니까?
A-1. 새로 모델을 만들 가능성이 없다면 SDK 2.1로 변경한 다음, Live2D.init() 이후에 
Live2D.setDrawMethodVersion( Live2D.DrawMethodVersion.FORCE_2_0 )
로 설정해주세요.

A-2. 새로 Editor2.1에서 모델을 만들 경우는 SDK 2.1로 변경한 다음, 아래처럼 설정해주세요.

Live2D.setDrawMethodVersion( Live2D.DrawMethodVersion.DEFAULT_2_0 ) ; // 지정하지 않은 모델은 2.0 방식
Live2DModelUnity   model ;
model.setModelDrawMethodVersion( Live2DModelUnity.ModelDrawMethodVersion.DRAW_2_1 ) ;// 이 모델은 2.1  방식


Q. CubismModeler2.0에서 만든 모델 데이터를 Animator2.1에서 애니메이션 설정하고 싶은 경우는 어떻게하면 좋습니까?
A-1. 동영상으로 내보낼 애니메이션을 만들 경우는 「표시」메뉴에서 「2.0에디터 호환 표시 방식」을 선택해주세요.
A-2. 응용프로그램 탑재용 애니메이션을 만들 경우는 어떤 설정이 되어도 결과에 영향은 없습니다.


Q. CubismModeler2.0에서의 모델 제작시에 Live2D Viewer에서 바르게 보이도록 모델을 조정했습니다.
  2.1에서는 어느 설정을 선택해야 좋습니까?
A. Live2D Viewer와 「2.1 표준 렌더링 방식」은 같은 그리기 방식이므로 「2.1 표준 렌더링 방식」을 사용해주세요. 
  2.0에서 만든 모델도, 새로 2.1에서 만든 모델도, 올바른 표시로 확인하며 편집할 수 있습니다.





Comments