2011-10-09 2 views
9

동기
WebGL을 사용하여 작은 데모 응용 프로그램을 만들려고합니다. SceneJS를 사용하기로 결정했습니다. 왜냐하면 쉬운 프레임 워크처럼 보였으므로 이러한 목적으로 충분할 것입니다.텍스처를 포함하여 3D 모델을 SceneJS JSON으로 변환하십시오.

블렌더를 사용하여 두 개의 .blend 모델 (Amy Rose)을 다운로드하고 Collada (.dae) 파일로 내 보냈습니다. 그런 다음 scenejs-pycollada를 사용하여 json 모델로 변환했습니다.

난 그냥 scenejs-pycollada 컨버터가 작동하는 데 몇 시간을 보냈습니다. 이전에 Python을 사용 해본 적이 없다면 분명히 Windows에서 작동하는 Python 종속성을 얻는 것은 쉽지 않습니다. ;)

문제
하지만 지금은 (다시) 붙어 있습니다. 제 문제는 모델에 질감이나 재료가 없다는 것입니다.

나는 SceneJS의 Seymour Plane Example을 사용했습니다. 나는 변환 한 모델을 거의 볼 수 없다. 검은 색이며 현장의 조명에 반응하지 않는 것 같습니다. 평면과 모델을 함께로드하면 모델이로드 된 것을 볼 수 있습니다. 팔과 다리가 평면에서 튀어 나와 있기 때문입니다.

이제 질감을 PNG 이미지로 내보낼 수있는 몇 가지 자습서를 따랐습니다. 그런 다음 파일 이름과 일치하도록 JSON 모델에서 텍스처 파일 이름을 수정했지만 도움이되지 않습니다.

다른 사람들이 Blender 모델 (또는 다른 일반적인 3D 모델)을 텍스처를 포함하여 SceneJS에서 사용하는 JSON 형식으로 내보내는 방법을 찾길 바랍니다.

SceneJS에서 모델을로드하는 다른 모든 방법도 작동하는 한 그렇게합니다.

body/figure JSON 모델의 무료 다운로드에 대한 링크가 있으면 지금 도움이 될 것입니다. 그러나이 기능이 어떻게 작동하는지 익히 알고 있습니다. :)

내가

  • 윈도우 7 홈 프리미엄 64 비트를 사용하고
  • 파이썬 2.7 (윈도우 32 비트)
    내가 때문에 라이브러리에 대한 겉보기에 더 나은 지원의 32 비트 버전을 선택하고 더 많은 설치 프로그램을 사용할 수 있습니다. 처음에는 32 비트와 64 비트가 섞여서 문제가 생겼지 만 지금은 모든 것이 작동하는 것처럼 보입니다 (텍스처는 제외). 내가 콜라다 (* .dae 만) 파일로 모델을 내 보낸 다음 scenejs-를 사용하여 원시 JSON으로 변환 블렌더에서
  • 블렌더 2.59
  • SceneJS 0.8.0

내 워크 플로우 pycollada. 이렇게하면 두 개의 객체가있는 JSON 파일이 나에게 제공됩니다. 첫 번째는 장면 인 것처럼 보이고 두 번째 모델은 모델 인 것처럼 보입니다. 두 번째 코드는 SceneJS 예제의 코드에서 사용되는 Javascript 변수에 저장합니다. 모델은 코드가로드되지 않도록 코드에서 제거해야하는 , "type": "library", "parent": "Scene" 속성으로 끝납니다.

답변

7

저는 사실 scenejs-pycollada의 저자입니다.내가 당신을 도울 수 있는지 보자.

나는 당신이 SceneJS의 버전 0.8을 사용하고있는 것을 본다 ... 다소 유동적이기 때문에 실제로 2.0 branch of SceneJS from github과 scenejs-pycollada를 내 personal repo에서 끌어낼 수있다. . 기본적으로 SceneJS 0.9를 scenejs-pycollada의 첫 번째 릴리스를 대상으로했지만 그 버전은 공식적으로 릴리스되지 않았습니다. 또한, 장기적으로 당신이 지금 다시 전환하면 모든 것을 다시 쓸 필요가 없습니다 ...

문제가되는 windows 컴파일 또한 큰 가시입니다. numpy devs가이 문제를 해결할 수 있기를 바랍니다. 사람들. SceneJS 2.0이 출시되면 필자는 윈도우즈에 필요한 모든 의존성이 담긴 씬즈 피코 라다의 공식 버전을 발표 할 예정이다.

언제든지이 답변에 의견을 말하고 질문을 업데이트하십시오. 나는 그것에 주시하려고 노력할 것이다.

P. 또는 실제로 좌절한다면 https://github.com/rehno-lindeque/Blender-WebGL-exporter에 두 번째 믹서기 수출 업체가 있지만이 제품을 사용하지 않는 것이 좋습니다. 매우 오래된 것입니다. 유일한 다른 scenejs collada 수출업자는 오래 전부터 사용되지 않았습니다.

P.P.S. 또한 scenejs에는 pycollada 자체와 예제 및 일부 테스트 모델이 있습니다. 퀵 모델을 가지고 놀고 싶다면 https://github.com/rehno-lindeque/scenejs-pycollada/tree/master/example을 확인해보십시오. 그러나 그것은 가장 예쁜 모델은 아닙니다.

P.P.P.S. 사실, Amy Rose 모델이 잘 작동하지 않는 이유 중 하나는 scenejs-pycollada가 아직 여러 가지 자료를 지원하지 않았기 때문입니다. 나는 오늘 밤 이걸 좀 빨리 지원할거야.

+0

감사합니다. 그것은 당신의 버전 scenejs-pycollada와 SceneJS 2.0에서 작동하는 것 같습니다. 아무것도 다시 컴파일 할 필요가 없으므로 좋습니다. ;) 나는 Numpy 녀석들을 대단히 비난하지 않는다. 호환되지 않는 버전의 다양한 라이브러리를 설치하는 것은 내 자신의 잘못이다. 지금 나는 누군가가 추천 한 GLGE를 시도하고있다. (변환하지 않고 .dae 파일을로드합니다). 당분간은 데모 작업을해야하지만 곧 SceneJS를 재투자 할 시간을 갖기를 바랍니다. 다시 한번 감사드립니다. – GolezTrol

+0

문제 없으므로 더 많은 버그를 알려주세요. :) –