Xử lý file .obj model 3d

hi mọi người.
mình đang làm về file .obj nhưng gặp 1 vấn đề là:

mình trọc vào file .obj và dịch chuyển toàn bộ v và vn về gốc tọa độ nhưng khi view lên thì file .obj đấy bị khoảng tối khoảng sáng.

vd: v x y z
v -0.000850 0.805250 0.084050
vn -1.561050 1.950750 -0.174050
v -0.000350 0.805250 0.084650
vn -1.621050 1.950750 -0.114050
v -0.000350 0.808350 0.084050
vn -1.461050 1.590750 -0.144050
v -0.029650 0.805250 0.062850

mình dịch chuyển toàn bộ v x+1 y+1 z+1

-> anh em nào biết về vấn đề này thì chỉ giáo chút ạ.

Hi Quach Tam.
File đâu chỉ có mỗi cái đó @_@!.
Bạn nên dùng các tool để kéo nó về gốc.

OpenGL : http://www.opengl-tutorial.org/beginners-tutorials/tutorial-7-model-loading/
DirectX: https://www.braynzarsoft.net/viewtutorial/q16390-obj-model-loader
Assimp : xử lý dc .obj, .fbx, .dae và nhiều định dạng khác http://assimp.sourceforge.net/

Về cơ bản OpenGL và DirectX giống nhau, chỉ khác 1 cái RHS và 1 cái LHS nên cần phải chuyển trục tọa độ!

2 Likes
  • Mình đang làm ứng dụng quét 3d, nên không thể dùng tool để kéo được. toàn bộ là dùng code để xử lý.

bác có biết tại sao nó bị bên tối mầu bên sáng không, search với keyword nào

Do setup lighting & material ko đúng, phải gán thêm material & texture bên soft 3D nữa! Cái này phải học 1 khóa về modeling 3D (có thể dùng Blender) thì mới hiểu rõ!

Hi Quach Tam.
Bạn gửi file cho mình để mình check xem.

file mình đây Phong_ky_vo
https://drive.google.com/file/d/1fRXWR_PwAIKvlUPn59KqqJ8KBPYYznQm/view?usp=sharing

trước khi di chuyển vị trí thì nó vẫn bình thường
sau khi di chuyển vị trí cả các point thì nó mới bị như thế
trong file .obj thì lại không thấy cái nào liên quan đến light & material
Quân có thể nói rõ hơn chút không.

@Quach_Tam bạn nên học bài bản! Quét 3D có thể có tool nhưng để hoàn thành 1 vật thể thì cần 1 3D artist thực thụ, vì có rất nhiều công đoạn trong này: Modeling, retopologize, texturing, making LODs… Chưa kể đến các công đoạn làm tóc và áo quần cho nhân vật nữa nhé!

mình không có dùng tool tạo ra file 3d này.
đây là máy scan structure sensor export ra file nay, nhưng nó bị ngược đầu xuống chân, nên mình phải xử lý code lộn ngược đầu lại, và trong lib xử lý tính toán về size số đo các vòng cần gốc toạ độ nằm đúng ở trọng tâm người.
Vì vậy mình mới di chuyển điểm của nó và bị như vậy.

Mình đã trả lời rồi, nếu bạn muốn làm model cho đẹp thì bạn phải import vào 1 soft 3D rồi sửa lại material, texture, flip normal thì nó mới ra đẹp dc! Cứ scan vào rồi để nguyên như thế thì nó ko ra gì hết, trừ khi bạn có công nghệ scan luôn texture vật thể rồi áp vào!

import vào tool khác để sửa thì lại không được.
Quân tưởng tượng khi đi may mặc thì chỉ cần đứng trước máy iPad thì nó scan người bạn và đưa ra thống số vòng ngực, vòng tay, vòng chân, chân dài bao nhiêu,…
nên lấy file ra tool khác chỉnh sửa thì không đúng bài toán đặt ra.

Nếu scan và đưa ra thông số thì là 1 dạng bài toán khác, và ko nên chú trọng model đẹp xấu, chỉ cần chính xác là được! Bạn xem lại tool của Apple cung cấp xem có API về phần lấy kích thước ko nhé, mình cũng có biết 1 nhóm scan để đo gang bàn chân, làm giày cho khách, nhưng mà cũng phải viết từ đầu, tool chỉ cung cấp 1 phần rất giới hạn!

cái này thì bên mình viết xong phần lấy chỉ số rồi, nhưng bị model view lên bị đen, khách hàng report.
vì file này còn save trên server cho client xem nữa
mình đang không hiểu trong file đấy chỉ có mấy format, v,vn, f. thì di chuyển nó bị vậy.
và thông số nào liên quan đến phần đấy.

Bạn ko cung cấp cho mình biết bạn scan như thế nào, máy scan ra sao, tuy nhiên xem file của bạn thì thấy thiếu chỉ số vt, tức là texture coordinates của model, thì bạn import vào nó bị đen đúng rồi! Khi scan phải scan luôn texture của vật liệu hoặc là tự tạo 1 vật liệu mới (vd màu trắng) thì mới ok!

Bạn đọc thêm bài này nhé https://gomeasure3d.com/3d-scanning/how-to-get-quality-scans-from-your-3d-scanner/

file gốc ban đâu thì cũng chỉ có như vậy thôi Quân, mình chỉ có di chuyển tất cả v, vn với cùng một giá trị

Vậy thì bị đen đúng rồi, bạn có thể đưa vào Blender 3D để xử lý sơ phần này, gọi là UV mapping, rồi gán đại vật liệu nào đó! Chứ tự động gán luôn vật liệu thì cần nghiên cứu tiếp!

nhưng vấn đề là file gốc nó lại không bị đen :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?