Motive
Tôi đang cố tạo một ứng dụng demo nhỏ bằng WebGL. Tôi đã chọn để sử dụng SceneJS, bởi vì nó có vẻ là một khuôn khổ dễ dàng và sẽ nhiều hơn đủ cho mục đích này.Chuyển đổi mô hình 3D sang JSJ SceneJS, bao gồm kết cấu
Tôi đã tải xuống một vài mô hình .blend (Amy Rose, trong số những người khác) và xuất chúng dưới dạng tệp Collada (.dae) bằng Máy xay sinh tố. Sau đó, tôi sử dụng scenejs-pycollada để chuyển đổi chúng thành một mô hình json.
Tôi vừa dành một vài giờ để chuyển đổi scenejs-pycollada hoạt động. Rõ ràng nhận được những phụ thuộc Python để làm việc trong Windows không phải là dễ dàng nếu bạn chưa bao giờ sử dụng Python trước đây. ;)
Sự cố
Nhưng bây giờ tôi bị kẹt (lại). Vấn đề của tôi là các mô hình không có bất kỳ kết cấu hay vật liệu nào.
Tôi đã sử dụng Seymour Plane Example của SceneJS. Mô hình tôi chuyển đổi hầu như không nhìn thấy được. Nó có màu đen và dường như không phản ứng với ánh sáng trong cảnh. Nếu tôi nạp mặt phẳng và mô hình lại với nhau, tôi có thể thấy mô hình được nạp, bởi vì cánh tay và chân của nó đang bám vào mặt phẳng.
Bây giờ tôi đã làm theo một vài hướng dẫn cho phép tôi xuất kết cấu dưới dạng hình ảnh PNG. Sau đó tôi đã sửa đổi tên tệp kết cấu trong mô hình JSON để khớp với tên tệp, nhưng nó không giúp ích gì. Vì vậy, tôi hy vọng một người nào đó có thể giúp tôi tìm cách xuất các mô hình Máy xay sinh tố (hoặc các mô hình 3D phổ biến khác) sang định dạng JSON được SceneJS sử dụng, bao gồm cả kết cấu.
Bất kỳ phương thức tải mô hình nào khác trong SceneJS cũng sẽ hoạt động, miễn là nó hoạt động.
Nếu ai có liên kết để tải xuống miễn phí các mô hình JSON hình/cơ thể, điều này sẽ hữu ích cho bây giờ, nhưng tôi thích tìm hiểu cách hoạt động của nó. :)
Tôi đang sử dụng
- Windows 7 Home Premium 64bit
- Python 2.7 (Windows 32bit)
tôi đã chọn phiên bản 32 bit, vì hỗ trợ dường như tốt hơn cho các thư viện, và nhiều trình cài đặt có sẵn hơn. Lúc đầu, tôi trộn 32 và 64 bit và nó gây ra rắc rối cho tôi, nhưng bây giờ mọi thứ dường như hoạt động (ngoại trừ kết cấu, đó là). - Blender 2.59
- SceneJS 0.8.0
công việc của tôi
Trong Blender tôi xuất khẩu các mô hình để Collada (* .dae) tập tin, và sau đó chuyển đổi chúng sang Raw JSON sử dụng scenejs- pycollada. Điều này cho tôi một tệp JSON với hai đối tượng trong đó. Đầu tiên có vẻ là cảnh, người thứ hai là người mẫu. Tôi giữ thứ hai và đặt nó trong một biến Javascript được sử dụng trong mã của ví dụ SceneJS. Mô hình kết thúc bằng thuộc tính , "type": "library", "parent": "Scene"
mà tôi cần xóa khỏi mã để làm cho nó tải hoàn toàn.
Cảm ơn bạn! Dường như nó hoạt động với phiên bản scenejs-pycollada và SceneJS 2.0 của bạn. Không cần phải biên dịch lại bất cứ điều gì, vì vậy đó là tốt. ;) Tôi không đổ lỗi cho các anh chàng Numpy rất nhiều, nó là rất nhiều lỗi của riêng tôi để cài đặt các phiên bản không tương thích của các thư viện khác nhau. Tại thời điểm này, tôi đang cố gắng GLGE, người mà bạn nên dùng. (nó tải tập tin .dae mà không cần phải chuyển đổi chúng). Bây giờ tôi cần làm demo của mình, nhưng tôi hy vọng tôi sẽ tìm thời gian sớm để tái điều tra SceneJS. Cảm ơn một lần nữa. – GolezTrol
Không vấn đề gì, thêm bất kỳ lỗi nào cho tôi biết :) –