Cách định dạng tệp OBJ – giải pháp đơn giản – phù hợp cho in CAD và 3D

Định dạng tệp OBJ là một trong những định dạng tệp quan trọng nhất trong các ứng dụng in 3D và đồ họa 3D. Đây là định dạng tiện dụng để in 3D nhiều màu và được sử dụng rộng rãi làm định dạng trao đổi trung gian giữa các mô hình 3D dạng khối.

Trong bài viết này, chúng tôi sẽ thảo luận chi tiết về định dạng tệp OBJ. Chúng tôi sẽ nói về các định dạng tệp tương tự khác như STL trong trường hợp in 3D hoặc COLLADA và FBX trong trường hợp ứng dụng đồ họa. Đâu là ưu điểm và nhược điểm của tệp này?

Chúng tôi cũng sẽ xem xét các tính năng khác nhau được cung cấp bởi định dạng tệp OBJ và cung cấp các thủ thuật về cách bạn có thể sử dụng các tính năng này để cải thiện các mô hình 3D của mình. Đối với những người có sở thích in 3D, chúng tôi sẽ trả lời một số câu hỏi thường gặp về việc sử dụng định dạng tệp OBJ trong các ứng dụng in 3D. Đối với những độc giả khó tính, chúng tôi sẽ đề cập đến các thông số kỹ thuật đầy đủ để bạn có thể đọc, hiểu và điều chỉnh các tệp theo cách thủ công. Ngoài ra còn có một phần về các trang nguồn, nơi chúng tôi liệt kê các trang web và phần mềm để tải xuống, mở, chỉnh sửa và sửa chữa các tệp OBJ.

Nội dung bài viết

Tệp OBJ là gì ?

Biểu tượng định dạng tệp OBJ

Tóm lại, định dạng tệp OBJ lưu trữ thông tin về các mô hình 3D. Nó có thể mã hóa hình học bề mặt của mô hình 3D và cũng có thể lưu trữ thông tin màu sắc và kết cấu. Định dạng này không lưu trữ bất kỳ thông tin texture nào (như vị trí ánh sáng) hoặc animation

Tệp OBJ thường được tạo bởi phần mềm CAD (Computer Aided Design) như một sản phẩm cuối cùng của quy trình mô hình 3D.

Định dạng tệp OBJ là mã nguồn mở và trung tính. Nó được sử dụng nhiều để chia sẻ các mô hình 3D trong các ứng dụng đồ họa vì nó được hỗ trợ nhập và xuất tốt từ hầu hết các phần mềm CAD. Trong những năm gần đây, nó cũng đang trở nên phổ biến dưới dạng định dạng tệp thực tế cho in 3D nhiều màu vì định dạng in 3D tiêu chuẩn STL không hỗ trợ thông tin màu sắc và kết cấu.

Định dạng tệp OBJ ban đầu được tạo bởi Wavefront Technologies cho ứng dụng Advanced Visualizer của nó để lưu trữ các đối tượng hình học bao gồm các đường, đa giác và các đường cong và bề mặt dạng tự do. Phiên bản gần đây nhất là v3.0, thay thế cho phiên bản v2.11 trước đó.

Phần mở rộng tệp .OBJ có nghĩa là gì?

Tên đầy đủ của loại tệp này là Kiểu sóng mặt OBJect, nhưng không ai bận tâm sử dụng tên đầy đủ nữa. Nó được gọi đơn giản là định dang trên tệp OBJ.

Định dạng tệp OBJ khác với định dạng khác như thế nào?

Định dạng tệp OBJ: Sử dụng trong In 3D

Định dạng nổi trội nhất trong thế giới in 3D là STL. Tuy nhiên, STL là một định dạng tệp cũ, mặc dù rất phổ biến, nhưng thực sự không theo kịp thời đại.

Độ trung thực của in 3D đang nhanh chóng tiếp cận với độ phân giải cấp micron và các mô hình đa màu đang ngày càng trở nên phổ biến. Định dạng tệp STL không thể xử lý độ phân giải cao rất tốt vì độ phân giải cao hơn đi kèm với tăng kích thước tệp. Định dạng STL cũng không phù hợp để in 3D nhiều màu vì nó không hỗ trợ thông tin về màu sắc và kết cấu.

Ngược lại, nó có thể xấp xỉ hình học bề mặt chính xác theo yêu cầu mà không làm tăng kích thước tệp. Điều này có thể sử dụng các đường cong Bezier và một phương pháp gọi là NURBS mà chúng ta sẽ thảo luận sau trong bài viết này. Hơn nữa, định dạng tệp OBJ có hỗ trợ riêng cho nhiều màu sắc và kết cấu trong cùng một mô hình.

Do đó, định dạng tệp OBJ có lợi thế hơn định dạng STL nếu bạn cần các mô hình chính xác, nhiều màu và nó có khả năng trở thành định dạng in 3D rất phổ biến trong tương lai vì điều này.

Trên flipside, định dạng tệp OBJ không phổ biến như định dạng STL. Hầu như tất cả các máy in 3D đều hỗ trợ định dạng STL. Điều tương tự không thể nói về định dạng, mặc dù nó cũng thích sự chấp nhận và hỗ trợ hợp lý. Do đó, nếu bạn đang in 3D một mô hình đơn sắc bằng máy in tiêu chuẩn, định dạng STL vẫn thích hợp hơn.

Cả hai định dạng OBJ và STL đều có một hệ sinh thái rất trưởng thành với lượng người dùng được đầu tư lớn và nhiều công cụ của bên thứ ba.

Các ứng cử viên định dạng tệp in 3D khác là VRML, AMF và 3MF. Nhưng họ không có sự hỗ trợ tương đương và không phải là sự thay thế quan trọng cho các định dạng tệp STL và OBJ tại thời điểm này.

Các trò chơi yêu cầu kết xuất nhanh và hỗ trợ cho màu sắc và kết cấu phong phú

Định dạng tệp OBJ: Sử dụng trong Ứng dụng đồ họa 3D

Các định dạng tệp được sử dụng phổ biến nhất trong các ứng dụng Đồ họa 3D là OBJ, FBX và COLLADA.

SỰ KHÁC NHAU GIỮA CÁC ĐỊNH DẠNG TỆP OBJ, FBX, COLLADA

Sự khác biệt quan trọng nhất giữa định dạng tệp OBJ và khác là hỗ trợ thông tin cảnh quan (như nguồn sáng) và hình động. Định dạng tệp OBJ không hỗ trợ thông tin cảnh quan và hình động trong khi FBX và COLLADA thì có. Do đó, nếu bạn cần hình động cho trò chơi hoặc phim của mình, thì tốt hơn bạn nên sử dụng định dạng FBX và COLLADA.

Nhưng trong trường hợp bạn không cần toàn cảnh hoặc hoạt hình, có một số lợi thế nhất định khi sử dụng định dạng tệp OBJ.

ƯU ĐIỂM CỦA ĐỊNH DẠNG TỆP OBJ

Thứ nhất, định dạng tệp OBJ là định dạng đơn giản và mở. Nó có hỗ trợ xuất nhập rộng rãi giữa các phần mềm CAD. Điều này có nghĩa là nếu bạn chia sẻ mô hình 3D của mình dưới dạng tệp OBJ, thì phần mềm CAD khác sẽ diễn giải nó một cách chính xác và nhất quán. Điều tương tự không thể nói về các định dạng FBX hoặc COLLADA. Định dạng COLLADA cũng là mã nguồn mở, nhưng nó khá phức tạp. Phần mềm CAD khác nhau diễn giải nó khác nhau và điều này dẫn đến sự không nhất quán.

Định dạng FBX là định dạng khép kín và độc quyền và cung cấp SDK để chuyển đổi các định dạng hiện có thành FBX (Xuất). Tuy nhiên, không dễ để đi theo một cách khác – chuyển đổi tệp FBX sang định dạng khác (Nhập). Các nhà phát triển phần mềm CAD không phải AutoDesk thường phải tìm cách nhập dữ liệu FBX hợp lý. Điều này dẫn đến sự không nhất quán nếu bạn đang sử dụng phần mềm không phải AutoDesk.

Một tệp OBJ cũng sẽ nhẹ hơn và có kích thước nhỏ hơn nhiều so với tệp FBX hoặc tệp COLLADA của cùng một mô hình 3D. Điều này là do sự đơn giản của định dạng tệp OBJ so với các thông số kỹ thuật khác và do mã hóa nhị phân nguyên gốc của nó.

Do đó, nếu bạn không cần toàn cảnh hoặc hoạt hình và bạn quan tâm đến sự hỗ trợ và giải thích nhất quán bằng các phần mềm CAD khác nhau, định dạng tệp OBJ là định dạng phù hợp. Trong hầu hết các trường hợp khác, FBX là định dạng tối ưu cho các ứng dụng đồ họa 3D.

CÁC TÍNH NĂNG HIỆN ĐẠI CỦA ĐỊNH DẠNG TỆP OBJ

Về các tính năng hiện đại, định dạng FBX là định dạng tiến bộ nhất cung cấp nhiều tính năng tiên tiến và cập nhật và cải tiến thường xuyên. Định dạng tệp OBJ đứng thứ hai về các tính năng trong khi định dạng COLLADA được coi là chậm thay đổi.

Các tính năng của Định dạng tệp OBJ

ĐỊNH DẠNG TỆP OBJ: HÌNH HỌC

Mục đích chính của định dạng tệp OBJ là mã hóa hình dạng bề mặt của vật thể 3D. Định dạng tệp OBJ khá linh hoạt về mặt này. Nó cho phép một số lựa chọn để mã hóa hình học bề mặt. Mỗi trong số ba phương pháp được phép nêu dưới đây đều có những ưu điểm và nhược điểm riêng.

ĐỊNH DẠNG TỆP OBJ: TESSNAME VỚI CÁC MẶT ĐA GIÁC

Ở dạng đơn giản nhất, định dạng tệp OBJ cho phép người dùng tessellate (lát) bề mặt của mô hình 3D với các hình dạng hình học đơn giản như hình tam giác, hình tứ giác hoặc đa giác phức tạp hơn. Các đỉnh của đa giác và bình thường cho mỗi đa giác sau đó được lưu trữ trong một tệp để mã hóa hình dạng bề mặt của mô hình.

Ví dụ, đây là một hình ảnh cho thấy mô hình 3D của đầu lợn có thể được xâu chuỗi bằng các hình tam giác nhỏ.

Lưới trinaglar mịn xấp xỉ mã hóa hình học bề mặt của mô hình 3D này (nguồn: i.m vật liệu)
Lưới tam giác mịn xấp xỉ mã hóa hình dạng bề mặt của mô hình 3D này (nguồn: i.m materialise)

Tessellations với khuôn mặt đa giác có lợi thế và bất lợi. Đa giác là các hình dạng hình học đơn giản và phương pháp này thực sự là cách đơn giản nhất để mô tả hình học bề mặt. Tuy nhiên, xấp xỉ một bề mặt cong với đa giác giới thiệu độ thô cho mô hình.

Trong trường hợp in 3D, máy in 3D sẽ in đối tượng có cùng độ thô như được chỉ định bởi tệp. Tất nhiên, bằng cách làm cho các hình tam giác nhỏ hơn và nhỏ hơn, phép tính gần đúng có thể được thực hiện ngày càng tốt hơn, dẫn đến bản in chất lượng tốt. Tuy nhiên, khi bạn giảm kích thước của hình tam giác, số lượng hình tam giác cần thiết để che phủ bề mặt cũng tăng lên. Điều này dẫn đến kích thước tệp khổng lồ mà các máy in 3D phải vật lộn để xử lý. Chia sẻ hoặc tải lên các tệp lớn như vậy cũng là một nỗi đau.

Do đó, điều rất quan trọng là tìm sự cân bằng phù hợp giữa kích thước tệp và chất lượng in. Sẽ không có ý nghĩa gì khi giảm kích thước của hình tam giác ad infinitum bởi vì đến một lúc nào đó, mắt bạn sẽ không thể phân biệt được giữa các phẩm chất in.

ĐỊNH DẠNG TỆP OBJ: ĐƯỜNG CONG DẠNG TỰ DO

Định dạng tệp OBJ cũng cho phép chỉ định hình dạng bề mặt của mô hình bằng các đường cong dạng tự do . Ý tưởng cơ bản là người dùng định nghĩa một tập hợp các đường cong dạng tự do (Cardinal Splines, Bezier curves, v.v.) chạy dọc theo bề mặt của mô hình. Bề mặt sau đó được xấp xỉ từ bộ sưu tập các đường cong này.

Dưới đây là một ví dụ minh họa một đường cong biểu mẫu tự do trên bề mặt của mô hình 3D.

Đường cong tự do trên bề mặt mô hình 3D

Như bạn có thể thấy, các đường cong dạng tự do chắc chắn phức tạp hơn các mặt đa giác. Nhưng bằng cách hy sinh sự đơn giản, chúng ta cũng đạt được rất nhiều. Vì các đường cong dạng tự do có thể mô tả chính xác các đường cong sử dụng một vài tham số toán học, chúng yêu cầu ít dữ liệu hơn để mô tả cùng một bề mặt khi so sánh với một phương pháp gần đúng như các phép tính đa giác. Do đó, chúng tôi có thể tạo mã hóa chất lượng cao cho bất kỳ mô hình 3D nào bằng cách sử dụng các đường cong dạng tự do mà không làm tăng kích thước tệp.

ĐỊNH DẠNG TỆP OBJ: BỀ MẶT DẠNG TỰ DO

Với định dạng tệp OBJ, bạn cũng có thể chỉ định hình dạng bề mặt bằng cách ốp bề mặt bằng các miếng vá bề mặt dạng tự do thay vì đa giác đơn giản. Loại miếng vá bề mặt này rất hữu ích để mô tả các bề mặt không giống như mặt phẳng, hình cầu, hình trụ hoặc hình nón tức là các bề mặt không có kích thước xuyên tâm cứng nhắc. Ví dụ về các bề mặt như vậy bao gồm thân xe, cánh của máy bay hoặc thân thuyền.

Bề mặt NURBS

Bề mặt dạng tự do phổ biến nhất được gọi là NURBS (Spline Rational B không đồng nhất) và định dạng tệp OBJ hỗ trợ nó. GIF cho thấy một ví dụ về bề mặt NURBS trông như thế nào.

Ưu điểm của việc sử dụng các bề mặt dạng tự do có phần giống với các lợi thế của việc sử dụng các đường cong dạng tự do – chúng chính xác hơn và chúng dẫn đến kích thước tệp nhỏ hơn với độ chính xác cao hơn so với các phương pháp khác. Trên thực tế, người ta có thể lập luận rằng các bề mặt dạng tự do chính xác hơn các đường cong dạng tự do vì chúng mã hóa bề mặt chính xác trái ngược với xấp xỉ bề mặt bằng các đường cong. Đây là lý do tại sao họ tìm thấy ứng dụng trong các ngành kỹ thuật không thể tha thứ khi nói về độ chính xác – chẳng hạn như kỹ thuật hàng không vũ trụ và kỹ thuật ô tô.

Định dạng tệp OBJ: Màu sắc và kết cấu

Trong nhiều ứng dụng, sự xuất hiện của mô hình 3D là rất quan trọng. Chẳng hạn, không ai muốn chơi Need For Speed ​​với những chiếc xe buồn tẻ, không màu. Những chiếc xe tốt hơn là đầy màu sắc và sáng bóng! Màu sắc và độ sáng bóng của một chiếc xe là những ví dụ về các đặc tính liên quan đến ngoại hình. Nói một cách đơn giản, ngoại hình mô tả các thuộc tính bề mặt như loại vật liệu, kết cấu, màu sắc, v.v … Điều này quyết định mô hình trông như thế nào khi được hiển thị.

Định dạng tệp OBJ cho phép bạn lưu trữ thông tin màu sắc và kết cấu ở định dạng tệp đồng hành được gọi là định dạng Thư viện mẫu vật liệu (MTL). Tệp đối tác này có phần mở rộng .MTL.

Với hai tệp này cùng nhau, có thể hiển thị một mô hình kết cấu nhiều màu.

Các tệp MTL chứa văn bản ASCII xác định các thuộc tính phản xạ ánh sáng của một bề mặt theo mô hình phản xạ Phong . Người ta có thể định nghĩa các thuộc tính vật liệu như màu môi trường xung quanh, màu khuếch tán, màu đặc trưng, ​​độ trong suốt, v.v. Chúng ta sẽ thảo luận chi tiết hơn về thông số kỹ thuật của tệp MTL trong phần sau.

Ngoài việc hỗ trợ các thuộc tính vật liệu này, định dạng MTL còn hỗ trợ bản đồ kết cấu, đây là một phương pháp thuận tiện hơn để chỉ định màu sắc và kết cấu. Trong ánh xạ kết cấu, mọi điểm trên bề mặt của mô hình 3D (hoặc lưới đa giác) được ánh xạ thành hình ảnh 2 chiều. Các tọa độ của hình ảnh 2D có các thuộc tính như màu sắc và kết cấu. Khi kết xuất mô hình 3D, mọi điểm bề mặt được chỉ định tọa độ trong hình ảnh 2 chiều này. Các đỉnh của lưới được ánh xạ đầu tiên. Các điểm khác sau đó được gán tọa độ bằng cách nội suy giữa các tọa độ của các đỉnh.

Minh họa về cách ánh xạ kết cấu được sử dụng để mã hóa thông tin màu sắc và kết cấu của một mặt của khối lập phương
Minh họa về cách ánh xạ kết cấu được sử dụng để mã hóa thông tin màu sắc và kết cấu của một mặt của khối lập phương

Câu hỏi định dạng tệp OBJ thường gặp liên quan đến in 3D

Ảnh tự sướng 3d

Câu hỏi định dạng tệp OBJ: Tôi có thể thực hiện in 3D đủ màu bằng định dạng tệp OBJ không?

Mới đây,  XYZ Printing đã công bố máy in 3D để bàn đủ màu đầu tiên trên thế giới . Có giá khoảng 3000 đô la, không thực tế khi nói ngành công nghiệp in 3D đang dần chuyển từ mô hình đơn sắc sang in nhiều màu.

Định dạng tệp OBJ hoàn toàn hỗ trợ in 3D nhiều màu. Trên thực tế, nó là lựa chọn tốt nhất nếu bạn chọn đi con đường đa màu sắc. Định dạng in 3D tiêu chuẩn STL không hỗ trợ màu sắc và các định dạng in 3D khác như AMF, 3MF và VRML quá rìa để xem xét sử dụng chính.

phần mềm máy cắt cura

Câu hỏi định dạng tệp OBJ: Nó được in 3D như thế nào?

Để in 3D, tệp phải được mở trong một máy cắt chuyên dụng như Dil3r. Máy thái lát là gì? Đây là một phần mềm in 3D chuyển đổi các mô hình 3D kỹ thuật số thành các hướng dẫn in cho máy in 3D của bạn để tạo một đối tượng.

Trình cắt sẽ cắt tệp OBJ của bạn thành hàng trăm (đôi khi hàng nghìn) lớp ngang phẳng dựa trên các cài đặt bạn chọn và tính toán đường dẫn công cụ để theo đó sẽ hiển thị vật lý mô hình của bạn, từng lớp. Quá trình này cũng tính toán các ước tính cho bao nhiêu tài liệu mà máy in của bạn sẽ cần ép đùn và mất bao lâu để thực hiện.

Tất cả thông tin này sau đó được gói lại thành tệp GCode, ngôn ngữ gốc của máy in 3D của bạn. Cài đặt bộ cắt ảnh hưởng đến chất lượng bản in của bạn, vì vậy điều quan trọng là phải có phần mềm và cài đặt phù hợp để giúp bạn có bản in chất lượng tốt nhất có thể. Điều quan trọng nữa là kiểm tra xem Bộ cắt của bạn có hỗ trợ các tệp OBJ hay không và nếu có, tính năng nào nó hỗ trợ. Một số máy thái có thể hỗ trợ các lưới đa giác đơn giản nhưng sẽ gây ra lỗi nếu bạn sử dụng các đường cong hoặc bề mặt dạng tự do trong mã hóa.

Khi GCode đã được tải lên máy in 3D của bạn, giai đoạn tiếp theo là các lớp hai chiều riêng biệt đó sẽ được ghép lại thành một đối tượng ba chiều trên giường in của bạn. Điều này được thực hiện bằng cách gửi một loạt các lớp nhựa, kim loại hoặc vật liệu tổng hợp mỏng và xây dựng mô hình một lớp mỗi lần.

Câu hỏi định dạng tệp OBJ: Tất cả các tệp OBJ có thể in 3D không?

Không may măn. Chỉ có một thiết kế 3D được tạo riêng cho in 3D là có thể in 3D. Tệp OBJ chỉ là nơi chứa dữ liệu, không đảm bảo rằng có thể in được thứ gì đó. Hãy nhớ rằng định dạng tệp OBJ cũng được sử dụng làm định dạng trao đổi cho các ứng dụng đồ họa 3D, trường hợp sử dụng không liên quan gì đến in 3D.

Các mô hình 3D phù hợp cho in 3D cần phải có độ dày thành tối thiểu và hình học bề mặt kín nước của Google có thể in 3D. Ngay cả khi nó hiển thị trên màn hình máy tính, không thể in thứ gì đó có độ dày thành bằng không.

Ngoài ra còn có sự xem xét của các yếu tố nhô ra trên mô hình. Nhìn vào logo All3DP trong hình trên; nếu mô hình được in thẳng đứng, thì các phần tử nhô ra với góc lớn hơn 45 độ sẽ yêu cầu hỗ trợ (mà bạn có thể nhìn thấy bằng màu xanh lá cây).

Khi tải xuống một tệp mà bạn không tự tạo, bạn nên dành thời gian để xác minh rằng nó thực sự có thể in 3D. Điều này sẽ giúp bạn tiết kiệm rất nhiều thời gian, sự thất vọng và lãng phí dây tóc.

Tài nguyên định dạng tệp OBJ

Trong phần này, chúng tôi sẽ chia sẻ một số phần mềm và tài nguyên tuyệt vời mà bạn có thể sử dụng để tải xuống, xem, chỉnh sửa và sửa chữa các tệp OBJ.

TurboSquid có rất nhiều tệp OBJ có thể tải xuống

Đang tải xuống

Có rất nhiều kho lưu trữ, thị trường và công cụ tìm kiếm trên web chứa hàng ngàn tệp miễn phí. Các vị trí chính để tải xuống các tệp OBJ là TurboSquid , 3D miễn phí , CGTrader , Archive3D , Clara , Mô hình 3D miễn phí và Oyonale .

Mở và xem

May mắn thay, việc mở tệp OBJ không quá phức tạp. Hầu hết các phần mềm CAD có thể xử lý định dạng tệp OBJ và sẽ cho phép bạn xem nó. Đặc biệt, bạn có thể dùng thử Solidworks, Fusion 360, Blender, Rhino, Cinema4D và Unity.

Bạn cũng có thể xem các tệp trực tuyến mà không gặp rắc rối khi tải xuống và cài đặt phần mềm trên máy của mình: Autodesk360Viewer , 3DViewerOnline , 3D-Tool là những trình xem mô hình 3D trực tuyến hỗ trợ định dạng tệp OBJ.

Netfabb và nhiều phần mềm khác có thể sửa chữa các tệp OBJ

Sửa chữa

Có một số chương trình có thể giúp sửa chữa tệp OBJ bị hỏng. Ví dụ, Netfabb Basic, Meshmixer và Meshlab đều là những công cụ tuyệt vời để sửa chữa các vấn đề in phổ biến nhất.

Đặc tả định dạng tệp OBJ, được đơn giản hóa

Cho đến nay, chúng ta đã thảo luận rất nhiều về định dạng tệp OBJ có thể làm gì và những gì nó không thể làm. Nhưng làm thế nào để định dạng tệp OBJ mã hóa thông tin về các thuộc tính hình học và vật liệu trong một tệp? Bạn thực sự sẽ thấy gì nếu bạn mở tệp bằng trình soạn thảo văn bản?

Trong phần này chúng ta sẽ đi qua các phần cơ bản nhất của đặc tả, xem xét cách định dạng tệp OBJ thực sự hoạt động. Sau khi xem qua thông tin, bạn sẽ hiểu và đánh giá cao những gì mỗi dòng của tệp OBJ lưu trữ. Nếu bạn là một lập trình viên và muốn tạo một trình phân tích cú pháp, kiến ​​thức này là không thể thiếu. Đặc tả tệp OBJ đầy đủ có sẵn ở đây .

Đặc tả OBJ

Định dạng tệp OBJ là định dạng tệp ASCII. Nếu bạn thực sự khó tính, bạn có thể chỉnh sửa các tệp trong trình soạn thảo văn bản.

Đặc tả ban đầu không chỉ định kết thúc của ký tự dòng là gì, vì vậy một số phần mềm sử dụng trả về vận chuyển và một số sử dụng nguồn cấp dữ liệu. Bạn có thể phải chuyển đổi cuối dòng ký tự nếu trình soạn thảo văn bản hoặc phần mềm của bạn không đọc được tệp.

Ký tự đầu tiên của mỗi dòng là rất quan trọng. Nó chỉ định loại lệnh. Nếu ký tự đầu tiên là #, dòng đó là một nhận xét và mọi thứ khác trong dòng đó sẽ bị bỏ qua. Dòng trống cũng bị bỏ qua.

Dưới đây chúng tôi liệt kê ra tất cả các lệnh phổ biến. Ký tự đầu tiên luôn là một loại lệnh. Nó được theo sau bởi các đối số. Tất cả mọi thứ hiển thị trong ngoặc vuông là tùy chọn.

ĐỊNH DẠNG TỆP OBJ: LỆNH COMMENT

# một dòng bình luận

Như chúng ta đã thảo luận trước đây, ký tự # chỉ ra rằng dòng này là một nhận xét và nên được bỏ qua. Dòng đầu tiên thường luôn là một bình luận chỉ định chương trình nào tạo ra tệp.

ĐỊNH DẠNG TỆP OBJ: LỆNH VERTEX

vxyz

Đây là lệnh đỉnh. Trong phiên bản đơn giản hóa này, chúng tôi sẽ chỉ bao gồm các mặt đa giác, do đó lệnh đỉnh có thể được sử dụng để chỉ định các đỉnh của đa giác. Khi sử dụng các bề mặt và đường cong dạng tự do, có một lệnh vp tương tự có thể được sử dụng để chỉ định các điểm kiểm soát của bề mặt hoặc đường cong.

Lệnh v chỉ định một đỉnh bằng ba tọa độ cartesian x, y và z. Đỉnh được tự động gán tên tùy theo thứ tự tìm thấy trong tệp. Đỉnh đầu tiên trong tệp có tên ‘1’, đỉnh thứ hai là ‘2’, đỉnh thứ ba là ‘3’, v.v.

ĐỊNH DẠNG TỆP OBJ: LỆNH THƯỜNG CỦA VERTEX

vn xyz

Đây là lệnh bình thường đỉnh. Nó chỉ định các vectơ bình thường lên bề mặt. x, y và z là các thành phần của vectơ bình thường. Lưu ý rằng vectơ bình thường này chưa được liên kết với bất kỳ điểm đỉnh. Chúng ta sẽ phải liên kết nó với một đỉnh sau này với một lệnh khác gọi là lệnh f .

Lệnh bình thường của đỉnh được bỏ qua trong rất nhiều tệp vì khi chúng ta sẽ nhóm các đỉnh thành các mặt đa giác bằng lệnh f , nó sẽ tự động xác định vectơ bình thường từ tọa độ đỉnh và thứ tự xuất hiện các đỉnh.

ĐỊNH DẠNG TỆP OBJ: LỆNH KẾT CẤU VERTEX

vt uv [w]

Lệnh kết cấu đỉnh chỉ định một điểm trong bản đồ kết cấu mà chúng ta đã đề cập trong phần trước. U và V là tọa độ X và Y trong bản đồ kết cấu. Đây sẽ là các số dấu phẩy động trong khoảng từ 0 đến 1. Chúng thực sự không cho bạn biết bất cứ điều gì một mình, chúng phải được nhóm với một đỉnh trong lệnh f mặt, giống như các quy tắc đỉnh.

ĐỊNH DẠNG TỆP OBJ: LỆNH FACE

f v1 [/ vt1] [/ vn1] v2 [/ vt2] [/ vn2] v3 [/ vt3] [/ vn3] ...

Lệnh face có lẽ là lệnh quan trọng nhất. Nó chỉ định một mặt đa giác được làm từ các đỉnh xuất hiện trước đường thẳng này.

Để tham chiếu một đỉnh bạn chỉ cần theo hệ thống đánh số ngầm định của các đỉnh. Ví dụ: ‘f 23 24 25 27’ có nghĩa là một mặt đa giác được xây dựng từ các đỉnh 23, 24, 25 và 27 theo thứ tự.

Đối với mỗi đỉnh, bạn có thể liên kết một lệnh vn , sau đó liên kết đỉnh đó bình thường với đỉnh tương ứng. Tương tự, bạn có thể liên kết một lệnh vt với một đỉnh, nó sẽ xác định ánh xạ kết cấu sẽ sử dụng tại thời điểm này.

Nếu bạn chỉ định một vt hoặc vn cho một đỉnh, bạn phải chỉ định nó cho tất cả chúng.

ĐỊNH DẠNG TỆP OBJ: LỆNH NHÓM

tên g

Lệnh tên nhóm chỉ định một nhóm đối tượng phụ. Tất cả các lệnh f mặt theo sau sẽ nằm trong cùng một nhóm. Điều này hữu ích nếu chúng ta muốn sử dụng lại một thông tin cụ thể, chẳng hạn như loại vật liệu, cho một phần được chọn của một đối tượng.

ĐỊNH DẠNG TỆP OBJ: LỆNH SỬ DỤNG VẬT LIỆU

tên usemtl

Lệnh sử dụng vật liệu cho phép bạn đặt tên cho một vật liệu để sử dụng. Tất cả các lệnh f face sau sẽ sử dụng cùng một vật liệu cho đến khi một lệnh usemtl khác xuất hiện.

ĐỊNH DẠNG TỆP OBJ: KẾT HỢP TẤT CẢ LẠI VỚI NHAU

Đặt tất cả những thứ này lại với nhau, đây là một phác thảo sơ bộ của một tệp OBJ đơn giản

# bình luận về những gì ứng dụng tạo ra tập tin này.
# tất cả các lệnh 'v' được liệt kê
vxyz
v ...
# tất cả các lệnh 'vn' được liệt kê
vn ...
# tất cả các lệnh 'vt' được liệt kê
vt xyz
vt ...
# một nhóm được xác định và tài liệu cho nhóm được đặt
đối tượng g
vật liệu hữu ích
# tất cả các lệnh 'f' được liệt kê
f 1/1 2/2 3/3 4/4
f ....

Định dạng tệp OBJ: đặc tả MTL

Tệp MTL đi kèm chỉ định màu sắc và kết cấu của mô hình. Tệp MTL này được tham chiếu bằng cách sử dụng lệnh

tên mtlib

trong đó tên là tên của tệp MTL.

Vì các tài liệu được chỉ định trong tệp MTL, lệnh mtlib phải đặt trước lệnh usemtl .

Một tệp MTL có thể chỉ định nhiều tài liệu. Vật liệu được xác định bằng lệnh newmtl .

tên mới

Các tính chất của vật liệu được xác định sau đó. Dưới đây là một số lệnh xác định thuộc tính.

ĐỊNH DẠNG TỆP OBJ: LỆNH MÀU XUNG QUANH

Ka RGB

Ví dụ, lệnh này xác định màu môi trường xung quanh của vật liệu. R, G và B là các kênh màu đỏ, xanh lá cây và xanh dương. Mỗi có thể lấy một giá trị từ 0 đến 1.

ĐỊNH DẠNG TỆP OBJ: LỆNH MÀU KHUẾCH TÁN

Kd RGB

Tương tự, Kd là màu khuếch tán.

ĐỊNH DẠNG TỆP OBJ: LỆNH MINH BẠCH

giá trị d

Lệnh này chỉ định tính minh bạch của vật liệu. Các giá trị có thể từ 0 (hoàn toàn trong suốt) đến 1 (hoàn toàn mờ đục).

ĐỊNH DẠNG TỆP OBJ: LỆNH CHẾ ĐỘ CHIẾU SÁNG

giá trị

Lệnh này chỉ định chế độ chiếu sáng. Nhiều lựa chọn có sẵn, được liệt kê dưới đây:

0. Màu sắc bật và tắt
1. Màu sắc và Môi trường xung quanh
2. Đánh dấu vào
3. Phản xạ và theo dõi Ray trên
4. Độ trong suốt: Kính trên, Phản xạ: Tia trên
5. Reflection: Fresnel on và Ray dấu vết trên
6. Độ trong suốt: Khúc xạ trên, Phản xạ: Tắt Fresnel và theo dõi Ray
7. Độ trong suốt: Khúc xạ, Phản xạ: Fresnel on và Ray theo dõi
8. Phản xạ và Ray theo dõi tắt
9. Độ trong suốt: Kính bật, Phản xạ: Ray tắt
10. Tạo bóng trên bề mặt vô hình

ĐỊNH DẠNG TỆP OBJ: LỆNH MAP MAPPING

Cuối cùng, tất cả các thuộc tính này cũng có thể được khai báo trong bản đồ kết cấu. Ví dụ: nếu bạn muốn khai báo màu xung quanh bằng bản đồ kết cấu, chỉ cần sử dụng lệnh sau.

map_Ka vuông.tga # bản đồ kết cấu môi trường xung quanh 

Ở đây, bản đồ kết cấu được chỉ định trong một tệp kết cấu riêng biệt với phần mở rộng .TGA.

ĐỊNH DẠNG TỆP OBJ: KẾT HỢP MỌI THỨ LẠI VỚI NHAU

Để đặt mọi thứ lại với nhau, đây là một tệp dữ liệu thực tế cho một hình vuông 2 × 2 có kết cấu đơn giản. Nó tham chiếu một tệp MTL được gọi là master.mtl. Tệp MTL này xác định các thuộc tính vật liệu bằng cách sử dụng bản đồ kết cấu 1 × 1.

# A 2 x 2 hình vuông được ánh xạ với hình vuông 1 x 1
# kết cấu kéo dài để phù hợp với hình vuông chính xác.
chủ mtllib.mtl
v 0,000000 2,000000 0,000000
v 0,00000000 0,000000 0,000000
v 2.000000 0,000000 0,000000
v 2.000000 2.000000 0,000000
vt 0,000000 1,000000
vt 0,000000 0,000000
vt 1,000000 0,000000
vt 1.000000 1.000000
# 4 đỉnh
gỗ usemtl
# Số đầu tiên là điểm, sau đó là dấu gạch chéo và số thứ hai là điểm kết cấu
f 1/1 2/2 3/3 4/4
Yếu tố số 1

Phần kết luận

Tóm lại, chúng tôi đã học được rất nhiều về định dạng tệp OBJ. Chúng tôi đã nói về cách so sánh với các định dạng tệp in 3D và đồ họa 3D phổ biến khác và khi nào nên sử dụng từng định dạng này. Tiếp theo, chúng tôi đã thảo luận về các tính năng và sau đó, trình bày một phiên bản đơn giản của thông số kỹ thuật đầy đủ. Chúng tôi đã trả lời một số câu hỏi phổ biến liên quan đến định dạng tệp OBJ và việc sử dụng nó trong in 3D. Cuối cùng, chúng tôi đã chia sẻ một số tài nguyên bằng cách sử dụng mà bạn có thể tải xuống, xem và sửa chữa chúng.

Chúng tôi hy vọng rằng sự hiểu biết sâu sắc về định dạng tệp OBJ sẽ giúp bạn trở thành một nhà thiết kế 3D hiểu biết hơn và là người dùng thông thái hơn về máy in 3D của bạn. Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ nó với những người đam mê thiết kế và in 3D khác và truyền bá. Bạn có một số câu hỏi hoặc nhận xét? Hãy cho chúng tôi biết trong các ý kiến ​​dưới đây .


Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chat hỗ trợ
Gọi ngay
Chat hỗ trợ
Chat ngay