Texture 3D KQ(r) – Customizable OpenSCAD

Texture dạng lưới tam giác tileable dựa trên kisquadrille, mỗi tam giác có chiều cao random riêng. Tùy biến cực mạnh trong OpenSCAD (seed, displacement, steps, base), rất hợp cho HueForge và in đổi màu theo độ cao.

👁️
1.5K
Lượt Xem
❤️
77
Lượt Thích
📥
179
Lượt Tải
Cập Nhật Apr 26, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Nếu bạn đã xem mẫu của mình, bạn sẽ thấy cái này về cơ bản y chang, chỉ khác là mỗi tam giác có chiều cao được random riêng, thay vì tất cả đều cùng một mức. Còn nếu bạn muốn biết “kisquadrille” nghĩa là gì, đọc phần “Geometry and gory details” ở cuối mô tả này.

Còn nếu chưa xem, thì hiểu đơn giản là: bắt đầu từ một lưới vuông, chia thành các tam giác, rồi “phá” hết các đỉnh, và áp các mức cao khác nhau cho từng tam giác. Bạn có thể thay đổi kết quả bằng các random seed (số) khác nhau và các tỉ lệ dịch chuyển cho đỉnh/tâm.

Mẫu này rất hợp để HueForging, vì dùng height và steps sẽ cho bạn kiểm soát rất nhiều. Không có HueForge thì vẫn xài được: bạn có thể dùng đổi màu theo độ cao để ra kết quả đẹp; xem phần “Checking the Blending Distance” bên dưới.

Notes on the parameters

Các tham số đều có mô tả riêng, giải thích rõ dùng để làm gì nên khá dễ chỉnh. Tuy nhiên có vài điểm cần lưu ý liên quan tới height, base và offset của các tam giác.

Tham số Triangle offset sẽ làm tam giác nở ra hoặc co lại. (Dương là nở, âm là co.) Khi giá trị dương đủ lớn để thấy rõ, các tam giác sẽ chồng lên nhau, và có thể vượt ra ngoài biên — có khi đúng ý, có khi không. Co nhẹ một chút, với một mức tối thiểu (âm), có thể giúp render ra vật thể không bị hiện lỗi trong slicer (mấy lỗi này, nói thiệt, không ảnh hưởng tới slicing và in — chỉ là hình học nhìn hơi kỳ). Nhưng nếu âm nhiều hơn (kiểu -0.2 trở xuống) thì bạn sẽ thấy các tam giác tách ra rõ rệt, nhìn như lưới.

Nếu bên dưới không có gì, bạn sẽ ra các mảnh rời. Chuyện đó cũng có thể là chủ đích — ví dụ làm mosaic kiểu Tangram. Nhưng thường bạn sẽ muốn có một lớp bên dưới để làm khung/lưới (một “slab”), và đó là “base”. Tham số Base height quyết định độ dày của “slab” này; đặt 0 để tắt.

Giờ nếu bạn dùng “grid”, nhớ canh sao cho nó không cấn với các tam giác; đặt base height bằng, hoặc (lý tưởng) thấp hơn Minimum height.

Bạn có thể bắt các chiều cao tam giác “nhảy bậc” theo lớp bằng tham số Height steps. Công thức là:

(Maximum height - Minimum height) / Height steps = layer height

Lưu ý số height steps phải (và sẽ) là số nguyên; vì vậy mới dùng nó thay cho việc đặt “layer height” có thể dẫn tới số lớp là số thập phân.

Cũng lưu ý là chiều cao mỗi tam giác sẽ được hiển thị như một “luminance map”/heightmap; màu càng sáng thì tam giác càng cao. Vậy nên tam giác ở max height sẽ trắng tinh, còn ở min height sẽ đen hoàn toàn, nếu không có base (nếu có base thì màu sẽ được scale tương ứng).

Generating (tileable) tiles

Bạn có thể tạo nhiều pattern khác nhau nhưng vẫn ghép tile với nhau mượt mà, như trong hình. Để hai biên tile ăn khớp đẹp, chúng cần có:

  1. Cùng số lần chia (cột cho biên trên/dưới, hàng cho biên trái/phải).
  2. Cùng seed. Vào phần tham số “Sides tiling and randomization”, đảm bảo “Border seed type” được đặt là “Specific seed per border”, rồi nhập số seed bạn cần.
  3. Cùng tỉ lệ dịch chuyển đỉnh cho các biên tương ứng. Vào “Sides tiling and randomization”, đảm bảo tham số “Border vertex displacement ratio type” được đặt là “Specific ratio per border”.

Cách này giúp bạn đặt seed và ratio khác cho các đỉnh (bên trong) và các tâm, mà không làm thay đổi các biên theo bất kỳ cách nào.

Checking the Blending Distance

Mình hơi kỹ thuật chút nha…

Nếu bạn dùng HueForge, chắc bạn đã nghe BD (blending distance) là “giống TD, nhưng tính theo chiều cao bản in”.

Nếu không, hiểu đơn giản là: Blending Distance là độ cao tối thiểu của một bản in 100% infill để một loại filament hiển thị đúng màu “đầy đủ” của nó và ngừng blend với màu bên dưới. Vấn đề là filament không hoàn toàn opaque — ít nhất là ở layer height thấp như 0.1mm hoặc thấp hơn. Vì vậy nó sẽ blend màu với filament bên dưới — hoặc hơi trong nếu không có gì bên dưới. Nghe như lỗi, nhưng thật ra lại hay, vì bạn có thể làm gradient và chuyển màu mà không cần mua cả đống filament na ná nhau.

Hơn nữa, một thứ nữa kiểu “tưởng lỗi mà hóa ra có thể tận dụng” là IS (Input Shaping) và PA (Pressure Advance) chưa được calibrate chuẩn. Như bạn có thể thấy trong vài tấm hình, nó tạo màu loang không đều như nét cọ — làm bản in bớt cảm giác “máy móc”.

Cách dễ nhất để biết BD của một filament là in một test swatch với đúng settings bạn sẽ dùng khi in thật. Swatch đó có các ô vuông nhô lên với độ cao tăng dần trên một bề mặt phẳng màu khác (như đen hoặc trắng). Khi các ô bắt đầu nhìn giống nhau, tức là filament đã đạt (và vượt) BD.

Nếu bạn quan tâm, bạn có thể xem bài của mình (dành cho HF và dùng layer height 0.08 và 0.04mm) hoặc tự làm swatch bằng .

Và nếu bạn thích vụ blend màu… thì bạn nên xem HueForge nha. License cá nhân còn rẻ hơn một cuộn filament, nó thật sự đưa 3D printing lên một tầm khác, cộng đồng thì tuyệt vời và Steve là người rất dễ mến. (Nếu bạn thắc mắc thì không, mình không hề affiliated/sponsored hay gì với HF. Chỉ là mình thích thôi.)

Geometry and gory details

Nền tảng của cái này là lưới kisquadrille (hay tetrakis square), tức là một lưới các ô vuông mà mỗi ô được chia thành 4 tam giác bằng cách thêm một đỉnh mới ở tâm ô; đó chính là toán tử “kis”.

Sau đó, các đỉnh được dịch chuyển “ngẫu nhiên” theo X và Y, hoặc chỉ một trục nếu đó là các đỉnh ở biên. Tâm của tứ giác kết quả được tìm (bằng cách lấy trung bình) rồi tiếp tục bị dịch chuyển.

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Noncommercial — Share Alike

CC-BY-NC-SA

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Không được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (10 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)