Mở Decimify Online (miễn phí, không cần cài) →
Decimify là công cụ giảm polygon 3D chạy ngay trên trình duyệt: bạn kéo một slider và xem số tam giác của model GLB hoặc STL giảm theo thời gian thực. File không được upload đi đâu — nó được đọc ngay trên máy bạn, còn phần tính toán là một crate Rust biên dịch sang WebAssembly, chạy trong worker của chính trình duyệt bạn đang mở. Cần một tài khoản 3dshouse miễn phí để mở công cụ, và bản miễn phí cho bạn đủ mọi tính năng, giảm ở mọi mức, với 3 lần xuất mỗi ngày (theo giờ UTC). Decimify Pro bỏ giới hạn ngày với $40 trả một lần, và một lần mua đó dùng cho cả bản web lẫn plugin SketchUp.

Vì sao slider chạy tức thì: nó không tính lại
Phần lớn công cụ giảm polygon tính lại toàn bộ mesh mỗi lần bạn đổi mức, nên muốn so 40% với 60% là phải chờ hai lần. Decimify build đúng một lần, lúc nạp model, và build xuống tận đáy: ứng dụng không truyền số mặt mục tiêu nào, nên giá trị mặc định 4 của bộ mã hóa được áp dụng — builder gộp cạnh cho tới khi chỉ còn khoảng 4 mặt, và ghi lại mỗi lần gộp thành một bản ghi vertex-split có thể đảo ngược.
Kết quả là một base mesh cộng một chuỗi bản ghi hoàn tác — không phải một “kim tự tháp LOD” gồm nhiều bản sao đã nướng sẵn. Kéo slider chỉ là đi tiến hoặc đi lùi trên chuỗi đó ngay tại chỗ. Vì vậy mọi mức giữa model gốc và đáy đều có sẵn ngay khi build xong, và kéo hai chiều đều mượt như nhau. Mức 0 được xử lý riêng: thay vì cuộn lại chuỗi, viewer gắn lại bản clone nguyên gốc của từng sub-mesh — nên “về lại model gốc” là chính xác tuyệt đối, không phải dựng lại gần đúng.
Thuật toán là gộp cạnh lặp xếp hạng bằng Quadric Error Metrics (Garland & Heckbert, SIGGRAPH 1997), trong biểu diễn progressive mesh của Hoppe (SIGGRAPH 1996), cộng quadric cho thuộc tính bề mặt của Hoppe 1999 để xử lý UV; phần lõi là bản port cấu trúc simplifier của meshoptimizer. Mỗi lượt áp dụng tập cạnh rẻ nhất không xung đột rồi làm mới quadric, và một ngưỡng thích ứng kết thúc lượt khi chỉ còn cạnh đắt, thay vì gộp bừa cho đủ con số. Build chia cho một pool worker kích thước max(1, hardwareConcurrency - 1), mỗi sub-mesh một simplifier thường trú.
Con số phần trăm thực chất nghĩa là gì
Slider chạy 0–100, ánh xạ thành keepRatio = 1 - level/100. Với từng sub-mesh: targetFaces = max(4, round(số mặt gốc × keepRatio)).
- Đó là tỷ lệ số tam giác cần giữ, áp riêng cho từng sub-mesh — không phải số vertex, cũng không phải ngân sách chung cho cả scene. Một scene 10 vật thể đặt 50% thì mỗi vật thể còn 50%, chứ không phải 10 vật thể chia nhau một hạn mức 50%.
- Sub-mesh dưới 4 mặt bị bỏ qua, không vào simplifier.
- Panel hiển thị kết quả thực đạt riêng: Faces: hiện tại / gốc và Ratio: n%. Hãy đọc Ratio, đừng đọc vị trí slider — hai con số này có thể lệch nhau, và khi lệch thì nguyên nhân gần như luôn nằm ở phần dưới đây.
Maintain UV: công tắc quyết định slider có nhúc nhích hay không
Nếu bạn kéo tới 70% mà Ratio gần như không đổi, đây là nguyên nhân trong hầu hết các trường hợp. Một model có texture mà UV được ghim theo từng mặt — điển hình là đồ bọc nệm xuất ra từ SketchUp, hay rất nhiều nội thất tải từ 3D Warehouse — mang một ô UV độc lập cho từng tam giác tại mỗi vertex dùng chung. Khi Maintain UV đang bật, mỗi vertex như vậy là một điểm gián đoạn UV, và simplifier từ chối gộp nó. Ứng dụng có nói ra: khi mức giảm trên slider vượt mức giảm thực đạt hơn 20 điểm, nó hiện dòng “Maintain UV is limiting reduction — try disabling it in Settings.”
Đánh đổi ở đây là một hợp đồng rõ ràng, không phải chuyện sở thích:
- Maintain UV bật — liền mạch. Kết quả có texture giống hệt bản gốc, vì UV được mang qua simplifier như một thuộc tính thật của từng vertex. Giá phải trả là slider có thể bị khóa.
- Maintain UV tắt — cố gắng tối đa. Mesh giảm thoải mái và UV được dựng lại lúc render. Trước khi các vị trí được dedup, mỗi sub-mesh chụp lại UV từng góc mặt cùng vị trí góc gốc; mỗi nhịp render, worker giải tọa độ barycentric của vị trí hiện tại của mỗi góc còn sống trong tam giác gốc của nó rồi xuất ra
UV = γ·U0 + α·U1 + β·U2. Mốc neo được chốt lúc nạp model, nên phép ánh xạ không bị trôi qua nhiều lần gộp liên tiếp.
Vì các mặt kề nhau được giải độc lập, không có mốc neo chung (đúng theo cách SketchUp chiếu material theo từng mặt), cái giá thấy được khi tắt Maintain UV là những đường seam nhỏ giữa các mặt mà góc đã trôi xa nhau — hoa văn trên từng mặt thì vẫn giữ. Bật/tắt công tắc này tự build lại session, không cần chọn lại file. Và nếu model thật sự cần vừa giảm sâu vừa giữ texture nguyên vẹn, câu trả lời thật thà là không bộ decimate nào làm được: phải trải lại UV (Blender, Maya, RizomUV) để các mặt kề nhau dùng chung ô UV, rồi nạp lại.
Ba tùy chọn và khi nào nên đổi
- Lock boundaries (mặc định bật) — “Keep boundary vertices fixed during simplification”. Mọi vertex trên cạnh hở bị đẩy thành khóa sau bước phân loại, và trạng thái khóa lan quanh vòng wedge nên góc biên nhiều wedge vẫn đứng yên. Để bật với bất cứ thứ gì có biên hở: mặt quét 3D, hình cắt, panel một mặt. Chỉ tắt khi bạn chấp nhận đường bao co lại.
- Preserve creases (mặc định bật) — “Protect sharp edges (≥ 90° angle) from being smoothed”. Cạnh gãy được thêm một quadric mặt phẳng vuông góc, và mọi phép gộp tạo ra nếp gấp sắc bằng hoặc hơn ngưỡng đều bị từ chối thẳng. Giữ bật cho hard-surface (chi tiết cơ khí, nội thất, kiến trúc); tắt để đổi thêm mức giảm trên bản quét hữu cơ, nơi vốn không có cạnh gãy nào cần bảo vệ.
- Maintain UV (mặc định bật) — xem phần trên. Đây là công tắc duy nhất thay đổi cả giới hạn của việc có giảm được hay không.
Cả ba được lưu vào localStorage nên sống qua mỗi lần tải lại trang. Tùy chọn Smooth angle mà bạn có thể đọc thấy ở nơi khác là của riêng SketchUp: nó quyết định cạnh nào được làm mềm khi ghi hình học trở lại model SketchUp, nên không xuất hiện trong bản web.
Giảm polygon online trong bốn bước
- Mở ứng dụng và đăng nhập bằng tài khoản 3dshouse miễn phí.
- Bấm Choose file rồi chọn một file
.glbhoặc.stl— hộp chọn file chỉ nhận đúng hai đuôi này. Thanh tiến trình chạy tới 100% khi các slot build xong; trước đó slider bị vô hiệu và hiện “Preparing simplification…”. - Kéo slider và theo dõi Faces cùng Ratio. Cách điều khiển camera được in ngay trên viewer: giữ chuột trái kéo để quay, giữ chuột phải kéo để pan, cuộn để zoom.
- Ở mục Export, bấm GLB hoặc STL. File ghi ra đúng trạng thái slider hiện tại. Mỗi lần xuất tiêu một trong ba lượt miễn phí của ngày.
Một chi tiết cần hiểu trước khi tin vào các con số kích thước: ô nhỏ ở góc viewer in bounding box dạng W × D × H mà không kèm đơn vị, và cái dropdown bên cạnh chính là đơn vị. GLB và STL không mang metadata về đơn vị chiều dài, nên mỗi lần nạp file dropdown đó được reset về mét — nếu kích thước lệch cỡ một nghìn lần, thứ cần sửa là dropdown, không phải file.
Định dạng: vào được gì, ra được gì
| Định dạng | Vật liệu | UV | Ghi chú |
|---|---|---|---|
| GLB (glTF) | Giữ nguyên | Giữ nguyên | Khuyên dùng. Một file chứa cả hình học, vật liệu và texture. Nhập và xuất (glTF nhị phân). |
| STL | — | — | Chỉ hình học — không UV, không vật liệu, không vertex dùng chung. Nhập và xuất (STL nhị phân). Tốt cho in 3D. |
Danh sách chỉ có đúng hai cái đó. Không có xuất USDZ — tính năng này đã bị bỏ khỏi mã nguồn từ tháng 4/2026, nên trang nào còn ghi USDZ là đã cũ. Với mọi định dạng nguồn khác, hãy chuyển sang GLB trước bằng Blender (File → Export → glTF Binary).
File GLB nén vẫn mở được, nhưng file xuất ra không nén. File dùng Draco mesh compression, EXT_meshopt_compression hay texture KTX2 được giải nén ngay trong trình duyệt khi nạp (từ tháng 9/2026). File xuất ra là GLB thường: không còn extension nén, texture KTX2 được ghi lại thành PNG. Vì vậy file xuất có thể nặng hơn file nén gốc dù ít tam giác hơn nhiều — một file thử 325 KB (meshopt + KTX2) xuất ra khoảng 2 MB. Nếu cần file nhẹ để tải, hãy nén lại kết quả sau đó (ví dụ bằng gltf-transform hoặc bộ xuất glTF của Blender).
Còn đây là chi tiết STL giải thích vì sao hai file trông giống nhau lại cho kết quả khác hẳn: STL lưu ba góc của từng tam giác một cách độc lập, không có vertex dùng chung, nên mesh phải được hàn lại trước khi gộp được bất cứ thứ gì. Decimify làm việc đó trong builder Rust, và phép dedup là khớp bit tuyệt đối trên bit thô của ba số thực 32-bit (x, y, z) — không chỗ nào trong pipeline hàn theo sai số. Góc giống nhau tới bit cuối thành một vertex; góc lệch một bit vẫn là hai, bị phân loại thành biên hoặc topo phức, và giảm được rất ít.
Những gì sống qua quá trình giảm: nhiều mesh, node và cây phân cấp; vật liệu, kể cả mesh nhiều vật liệu (các slot vật liệu theo mặt được dựng lại ở mỗi nhịp kéo slider); UV, khi Maintain UV bật; normal, được nướng lại mỗi nhịp trong worker. Vertex color không được mang theo — thuộc tính duy nhất đưa vào simplifier là UV. Ứng dụng báo thẳng những gì nó phải bỏ qua chứ không im lặng: “N texture(s) missing” và “Skipped N submesh(es) with non-finite coordinates”.
Bản web hay plugin SketchUp?
Hai bản dựng cùng một giao diện, từ cùng một mã nguồn, chỉ khác nhau vài điểm có chủ ý — nên câu hỏi thật sự là model của bạn đang nằm ở đâu, không phải bản nào nhiều tính năng hơn.
- Bản web — một trình duyệt hiện đại có WebGL và WebAssembly, không cần cài gì, và model lấy từ ổ đĩa của bạn dưới dạng GLB hoặc STL. Phù hợp khi file đã là một asset xuất sẵn: bản quét 3D, model tải về, asset game, hay thứ sắp đưa lên web viewer hoặc máy in 3D.
- Bản SketchUp — SketchUp 2022 trở lên, cài bằng file
.rbzqua Extension Manager. Nó giảm một group hoặc component đang có trong model và ghi kết quả trở lại đúng chỗ cũ, nên mọi instance của component đó cập nhật cùng lúc, và toàn bộ lần ghi chỉ là một bướcEdit > Undo. Đó là điều bản web không làm được: xem plugin giảm polygon Decimify cho SketchUp nếu bạn cần bản extension.
Một lần mua Decimify Pro dùng cho cả hai, vì Pro là quyền gắn vào tài khoản 3dshouse của bạn chứ không phải license theo từng bản.
Model nặng: nguyên nhân nào thì dùng công cụ nào
“Model của tôi nặng” có ba nguyên nhân và cần ba công cụ khác nhau. Chọn sai là cách phổ biến nhất để mất cả buổi chiều.
- Quá nhiều tam giác — bản quét photogrammetry, hình học CAD được tessellate, vật thể hữu cơ chia nhỏ, nội thất 3D Warehouse ở mật độ catalogue. Đây là nguyên nhân duy nhất mà một bộ decimate chữa được, và là việc của Decimify: trên trình duyệt cho file đã xuất, hoặc trong SketchUp cho hình học đang trong model.
- Component, vật liệu, style, layer không dùng vẫn nằm trong file — đó là dung lượng file, không phải số tam giác. Decimify không giúp gì ở đây; chức năng purge của chính SketchUp mới đúng việc. Xem cách purge dữ liệu không dùng trong SketchUp.
- Cạnh vụn, mặt đồng phẳng rác, mặt trùng hoặc bị lộn hướng — đây là vấn đề topo, không phải mật độ. Việc này thuộc về một plugin dọn dẹp: CleanUp³ cho SketchUp.
Giảm tam giác sẽ không purge được gì, và purge sẽ không bớt một tam giác nào. Xác định đúng nguyên nhân trước khi chọn công cụ.
Miễn phí và Pro, chính xác từng điểm
- Đăng nhập bằng tài khoản 3dshouse miễn phí khi mở công cụ. Việc có bắt đăng nhập hay không là một công tắc phía server mà ứng dụng hỏi lúc khởi động, và nếu không gọi được server thì cửa đăng nhập vẫn bật.
- Miễn phí nghĩa là đủ mọi tính năng, ở mọi mức giảm. Không watermark, không tùy chọn bị khóa, không trần mức giảm. Giới hạn 30% cũ đã bỏ — nó được thay bằng bộ đếm theo ngày từ tháng 9/2026, nên trang nào còn dẫn con số 30% là đã cũ.
- Bộ đếm tính theo lượt lấy kết quả ra: một lần xuất file — hoặc, trong SketchUp, một lần commit — là một lượt. Ba lượt mỗi ngày UTC, tính theo tài khoản, reset vào 0h UTC kế tiếp. Chỉ server đếm, nên con số là như nhau trên mọi trình duyệt và mọi máy bạn đăng nhập.
- Từ lần xuất đầu tiên, thanh dưới cùng hiện “n / 3 free exports today · Get Decimify Pro — $40”. Dùng hết thì lần xuất tiếp theo bị chặn với dòng “Free limit reached: 3 / 3 exports used today. Nothing was exported” kèm số giờ còn lại tới khi lượt miễn phí quay về. Mua Pro ngay tại đó thì lần xuất vừa bị chặn tự chạy khi thanh toán xong.
- Pro = không giới hạn lượt, $40 trả một lần, một sản phẩm dùng cho cả bản web và plugin SketchUp. Không subscription, không gói team, không giới hạn số máy, và không có license key nào phải dán: Pro là quyền gắn vào tài khoản, nên ứng dụng nhận ra ngay mà không cần khởi động lại.
- Nếu không gọi được 3dshouse, bộ đếm chủ động cho qua. Một sự cố phía server không được phép làm công cụ chết.
Giới hạn thật cần biết trước khi bắt đầu
- Mã nguồn không có giới hạn dung lượng file, cũng không giới hạn số tam giác — trần thật sự là bộ nhớ của tab trình duyệt, nên cũng không có con số nào đáng đem ra hứa. Để có cảm nhận: các model mẫu đi kèm nằm trong khoảng 3,3 MB đến 16,7 MB.
- Không chạy offline. Phần tính toán chạy cục bộ và hình học không bao giờ rời khỏi máy bạn, nhưng bản thân trang web và bước kiểm tra đăng nhập thì cần mạng.
- Topo non-manifold được phân loại, không được sửa. Vertex đã khóa thì không bao giờ gộp; vertex biên chỉ gộp vào biên hoặc vertex khóa; vertex seam chỉ gộp vào seam hoặc khóa. Decimify giảm mesh, nó không chữa mesh — nếu mesh hỏng thì phải sửa trước.
- Một số mesh ghim UV theo từng mặt quá dày vẫn có thể từ chối giảm dù đã tắt Maintain UV, vì vertex chuẩn mang từ ba wedge thuộc tính trở lên bị phân loại là khóa. Tùy chọn permissive cho chúng đi qua đang tắt, đúng theo hành vi gốc của meshoptimizer, và mã nguồn ghi thẳng đây là khiếm khuyết còn tồn tại.
Trường hợp dùng phổ biến
- Giảm bản quét photogrammetry trước khi in 3D.
- Tạo LOD cho cảnh Three.js hoặc Babylon.js.
- Giảm dung lượng glTF trước khi đưa lên Sketchfab hoặc model viewer.
- Đạt ngân sách polygon cho asset game mà không phải mở lại Blender.
Câu hỏi thường gặp
Có công cụ giảm STL online miễn phí không?
Có. Decimify Online giảm mesh STL và GLB với đủ mọi tính năng và mọi mức giảm ở bản miễn phí; chỉ cần một tài khoản 3dshouse miễn phí, và bạn được 3 lần xuất mỗi ngày UTC. Muốn xuất không giới hạn thì $40 trả một lần.
Làm sao giảm số tam giác của một file STL?
Mở ứng dụng, bấm Choose file và chọn file STL, kéo slider tới khi Ratio hiện đúng mức tam giác bạn muốn, rồi xuất ra STL. Slider là tỷ lệ tam giác mục tiêu áp cho từng sub-mesh, còn dòng Faces cho bạn thấy số mặt hiện tại so với số mặt gốc.
Có bản online không, hay bắt buộc phải cài plugin?
Bản web không cần cài gì — engine là WebAssembly chạy ngay trong trang. Plugin SketchUp riêng tồn tại chỉ vì nó làm được một việc bản web không làm được: giảm hình học đang nằm trong model SketchUp rồi ghi trở lại đúng chỗ. Một lần mua Pro dùng cho cả hai.
Dùng được trên Chromebook không?
Được. Yêu cầu duy nhất là một trình duyệt hiện đại có WebAssembly và WebGL, nên ChromeOS và Linux hoạt động y như Windows và macOS. Plugin SketchUp thì không, vì nó là extension của SketchUp.

English