多数の色で印刷:新しいオープンソースの ColorMix for PrusaSlicer をご紹介します

2026/05/27 3:05

多数の色で印刷:新しいオープンソースの ColorMix for PrusaSlicer をご紹介します

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Prusa は、5 種類のベースフィラメントのみを使用して数十色の独自な色調を生成することを可能にする革新ワークフローである「Prusa ColorMix」を発表しました。本システムは、層間挿入半トーンリング(CMYKW)を用いています。PrusaSlicer 2.9.6 および EasyPrint にて MIT ライセンスの下で公開されており、「ペイントスタイル」のインターフェースを採用して複雑な設定を置き換えています。コアモデルは Yule-Nielsen 方程式 を用いて空間的光学的混色を正確にシミュレートし、粗いテクスチャや青銅色・キラキラフィラメントなどの特殊効果フィラメントに対し標準的なスカラーモデルが失敗する問題を解決しています。消費者向けカラリメータに対する較正により、彩度および色相シフトの範囲で精度を確保しており、オープンソースリポジトリ (

prusa3d/prusa-fdm-mixer
) を通じてコミュニティによる拡張が可能であり、OpenPrintTag マテリアルデータベース を活用しています。現在特定のハードウェア構成向けに最適化されており、ツールチェンジャー(正確な XY オフセットが必要)または MMU/AMS と動作します。この技術は Azure Blue や Ms. Pink などのフィラメントを使用する現行ユーザーを支援しており、将来的には効率的なグラデーション、トップレイヤーの混合、より広範な材料化学への互換性の拡張を目指しています。これにより、創作者が高品質な視覚芸術(フィギュアやコスプレプロップなど)を生産できるようになり、高価な単色機能的部品を必要とせずに創作活動が進められます。

本文

3D プリンターで「絵を描く」ような色彩表現を実現:ColorMix とフルスペクトル印刷のすべて

過去数ヶ月間、3D 印刷コミュニティは多素材対応プリンターの可能性について議論を尽くしてきました。特に重要なのは、物理的に搭載された色材に限定されず、任意の材料で自由な色彩表現ができないかという問いでした。本記事では、この挑戦が実に素晴らしい方法で成功した真相と、数十種類の色のニュアンスで模型を印刷する方法を徹底して解説します。


コミュニティから始まった故事

すべての始まりはコミュニティの試行錯誤にあります。スライサー(スライスソフト)のフォーク版やテスト用パレット、そして説得力のある試作印刷物が相次いで登場しました。

  • Ratdoux の OrcaSlicer-FullSpectrum: 異なる色の素材を薄い層で交互に重ねることで、仮想の混合色フィラメントを作成する仕組みを実証しました。
  • Justin H. Rahb の filament-mixer: 色がどのように見えるかを予測するモデルを提供しました。
  • PeggyPalette など: コミュニティプロジェクトが結果の比較や共有を容易にしました。

これらはオープンソースのアプローチが生み出す恩恵を体現した事例です。この動きを見守っていた Prusa チームも熱狂し、内部での展開を加速させることにしました。

「数本のフィラメントリールを用意し、人々が多種多様な美しい色で印刷できる仕組みを作りましょう」という合意のもと、以下のチームが全力で取り組んでくれました。

  • Prusament
  • PrusaSlicer
  • EasyPrint
  • OpenPrintTag

その結果実現したのは、色の印刷作業がプログラミングではなく、まるで絵を描いているかのような感覚を持つワークフローです。既存のソリューションをはるかに凌ぐ、より正確な色見本プレビューも提供されています。色彩混合モデルは MIT ライセンスで公開されており、コミュニティによる検証・改善・発展が可能です(製品名:Prusa ColorMix)。


これはどう機能しているのか?

わずか 5 種類のフィラメントのみを用いて、まるで絵画のように見せる模型を印刷できる原理は、従来の 2D 印刷技術に基づいています。

2D 印刷の原理

インクジェットプリンターでは、シアン(C)、マゼンタ(M)、イエロー(Y)のインクを使用して、「ハフトーニング(半調印)」と呼ばれる手法で点を重ねます。

  • 色の混合: C, M, Y の点を等しい比率で印刷すると黒色になります。
  • BK モデル: インク節約のため、さらに黒(K)を追加し CMYK 色彩モデルを使用します。
  • 視覚効果: 拡大鏡で見ると点ですが、遠くから見る人間の目の解像度限界により、これらの点が融合して連続的な色として認識されます。

3D 印刷への応用

3D 印刷では紙という媒体がありませんが、同様の光学原理が利用されます。FDM プリンターの性質上、「点を組み合わせる」のではなく、層ごとに色を交互に切り替える方式を採用します。

  • 基本原理: 「白(W)」と「黒(K)」の層を交互に積むことで、通常の見え方(灰色)を作り出します。
  • 視覚的限界: 人間の目はある一定以下の微細なディテールを認識できないため、奇数層が白、偶数層が黒という模型は遠目には灰色に見えます。
  • 結論: C, M, Y, W(および K)の色の混合は、2D 印刷の経験から予測可能であり、3D 空間でもこの光学原理が適用できます。

背景にある物語:なぜ CMYKW か?

ColorMix を実現するために尽力した人々の声をご紹介します。

なぜ私がこのプロジェクトを始めたのか(Barbora Marsikova)

Prusa Academy チーム所属の Barbora Marsikova がフルスペクトル印刷に感銘を受け、開発を推進しました。

  • キッカケ: Prusa Development の専門家が Full Spectrum の概念に触れ、「これが未来だ」と話したことから始まりました。
  • テスト開始: Original Prusa XLで Easy PLA CMYK と Galaxy Black を使用してテスト印刷を行った際、その可能性を誰もが認めました。
  • システム進化: 従来の 4 リール並列方式(CMYW)では「黒」が青みがかった灰色に見えますが、5T Prusa XL でKを加えることで CMYKW の組み合わせが可能になりました。

現在は約 40 通りの意味のある色組み合わせが特定可能であり、Prusa CORE One INDX にも対応しています。

みんなは愛する

プロジェクトに関わった各チームの迅速な反応は見事です。

  • Prusament チーム: テスト完了前の段階から新色の開発を既に開始。現在は最終的な色調や透明度の調整中。また、PLA Natural Glitterも準備されています。
  • PrusaSlicer チーム: 次期バージョン PrusaSlicer 3.0の開発と、CORE One INDX の最適化に注力。テスト印刷を通じて「これほど楽しい」と実感し、バージョン 2.9.6 での実装準備を進めました。
  • EasyPrint & Printables チーム: CMYKW スライシング機能を実装・一般公開するために即座に議論を開始し、全チームで動員されました。

テスト環境では隔日ごとに新規機能が追加され、純粋に PrusaVerse 内だけで開発が進みました。


開発者の日記:Ondrej Bartas

ColorMix モデルの主要開発者である Ondrej Bartas(ソフトウェアエンジニア)が、開発過程と技術的な知見を語ります。

なぜ私がこのプロジェクトを始めたのか

私は多色 FDM 印刷が**「絵を描く」ように感じられたい**と考えています。

  • 理想: チューブを潰し、パレットに置き、ブラシで混ぜるような直感的な体験。
  • 現状の問題: Orca や Bambu Studio で別の色を使うには、複雑な設定(混合比率の計算など)が必要で、ユーザーは「機械設定を優先し、後から色を見る」状態です。
  • 解決策: PrusaSlicer と EasyPrint 内に、層を交互にするだけで色が予測可能な色彩混合モデルと、邪魔にならない UI を組み込みました。

どうやってここまで辿り着いたのか

既存の技術を調査・統合し、独自の校正を行いました。

  • 参考技術:
    • OrcaSlicer-FullSpectrum (Ratdoux)
    • filament-mixer (Justin H. Rahb): 油画(Mixbox)で訓練された多項式色素混合モデル。
    • Bambu Studio: 線形 sRGB からガンマ補正済み RGB へ進化し、2026 年 4 月に filament-mixer を採用予定。
  • 欠陥の発見: filament-mixer は油画の挙動を予測しますが、フィラメントに対しては訓練されていません
  • 対応策: 「測定された FDM 印刷物に対するモデルの校正」を行い、ギャップを埋めました。

うまくいかなかったこと

いくつかの既存モデルは試されましたが、不適合なことが判明しました。

  • Kubelka-Munk モデル: 塗料科学の標準ですが、一つの媒体中で撹拌された色素を前提としています。FDM プリンター(層ごとの切り替え)には適用できません。
  • Beer-Lambert / HueForge スタッキング: 平面印刷物の上から光を通す仕組みです。3D 物体の側面から見ている我々には、幾何学的形状が異なります(光学経路上で隣接しているため)。

うまくいったこと:Yule-Nielsen モデル

正解は**「顔料の混合」ではなく「ハフトーニング**(ドット印刷)という物理現象でした。

  • 原理: 側面から見る多色 FDM は、空間的光学混合であり、視線距離で目が隣接する薄い層を融合して認識します。CMYK インクドットの印刷と同じ範疇です。
  • 採用式: Yule-Nielsen(標準的なハフトーニング方程式)。単純な線形 RGB 平均の約 2 倍の性能を発揮します。

実際に印刷可能な比率について

層間交差による混合は連続的ではなく離散的です。

意図した比率実装方法注意点
50:50各層で交互に切り替え (1:1)バランスが良い
30:703:7 の反復ブロックが必要垂直方向解像度を犠牲にし、目立つストライプになるため不向き

したがって、実際に印刷可能な比率は以下のようになっています。

  • 2 色: 1:1, 1:3, 3:1(ピクセル=10 層が必要)
  • 3 色: 1:1:1のバランスされた比率のみ

両方のツールチェンジャータイプに対応しています。

  • **Prusa XL / CORE One+ INDX **(高速): ノズル間の XY オフセットの正確さが求められます。オフセットが不正確だと色が揃いません。
  • Bambu AMS / Prusa MMU: 1 つのノズルを使用するためオフセットは不要ですが、色変更には洗浄サイクル(purge cycle)が必要です。

補正の積み重ね

Yule-Nielsen モデルに適用した際、構造化された誤差が残っていました。これを以下のように補正しています。

  • 暗く現れる現象: 実際の印刷物は数学的予測より暗くなります。特に明暗ギャップが大きい混合物で顕著です。予測値の輝度を引き下げます
  • 彩度の低下: 明るい色を混ぜると灰色味が出やすく(例:パステルピンク+ブルー)、暗い色同士は色彩を保ちやすいです。予測値の輝度に基づいて彩度をスケールダウンします。
  • 暖色系のドリフト: シアン〜青の範囲で、本来シアンなのにティール寄りに傾く現象を修正。回転処理で元に戻します(バンド中央部で強く適用)。

補正の特性

  • 単色・極端な混合は補正しない: 99:1 の混合はほとんど補正を必要としません。
  • ベルカーブによる重み付け: 上記補正は、ユニフォームな混合でピークに達し、純粋な成分ではゼロとなるベーカーブの重み係数によってスケールされます。
  • 滑らかなグラデーション: 純粋な色は往復 trip(出力・入力)して正確に戻り、グラデーションも維持されます。
  • 3 色の対応: 加算効果として、他のモデルが崩壊する 3 色の混合物でも優雅に機能します。

データ収集方法

各バッチには、20 以上の混合物に加え、5 つのベースフィラメントを単独で印刷したデータが含まれます。これらを同じセッションで同一の色度計で測定します。

  • 理由: 色度計のドリフト、照明の変化、操作者の違いによる影響を相殺するためです。
  • メリット: 数千円の分光光度計は不要で、消費財用の色度計でも十分です。ベースと混合物を一緒に測定するだけで、系統的誤差がキャンセルされます。

知っておくべきこととしないこと

モデルの適用範囲について注意が必要です。

  • 現状の対象: Prusa XL で測定されたのはPrusament PLAのみです。
  • 汎用性: 補正構造は PLA ブランド間でも通用する可能性がありますが、PETG や ABS、非 Prusament PLA への正確な係数は不明(一致しない可能性があります)。
  • 特殊フィラメント: ブロンズやグリッターなど、照射依存性の高い反射率を持つものはスカラーモデルを無効にするため、現在サポート対象外です。

重要: モデルがあなたのフィラメントで予測を間違えた場合、それは**「モデルの問題」ではなく「データ不足」**です。

進化する方向と協力方法

ColorMix は最初のステップに過ぎません。数百の測定を重ねることで、より高度な知覚的色空間モデルへの道筋が開けます。

  • オープンソース: リポジトリは prusa3d/prusa-fdm-mixer です。MIT ライセンス。
  • 利用法: TypeScript (
    npm install
    ) で動作するか、C++17 シングルヘッダーポートとして PrusaSlicer または OrcaSlicer に直接組み込むことも可能。
  • ブラウザアプリ: Playground(試行)、Harness(評価)、Gatherer(データ入力)を用意しています。

もし色度計とテストカードをお持ちの場合は、データを送迎ください。間違った予測こそがモデルを進化させます。OpenPrintTag メテリアルデータベースとの連携により、フィラメント情報の蓄積が進むことでモデルはさらに精度向上します。


もう一つ:絵を描くことへの回帰

4 歳の息子は何でも使って絵を描きます。手も服もおもちゃも壁さえもキャンバスです。「メニュー」や「セットアップウィザード」はありません。青と黄を指に付け、緑が自然と生まれるような感覚こそが望ましいものです。

多色 FDM 印刷もこのように感じられるべきです。

  • ハードウェア: Prusa XL など存在します。
  • スライサー: ColorMix が存在します。
  • フィラメント: CMYKW または既存の CMY も存在します。

妨げとなっていたのは、色彩を後回しにするユーザーエクスペリエンスと、嘘をつくモデルだけでした。それらを修正することは可能です。

単一色の PETG や ABS が必要となる機械的な作業ではありませんが、おもちゃやコスプレ用小物、フィギュア、プレゼントなど、「かっこいいものを制作したい」という欲求を持つ人々の世界に新しい風をもたらします。

  • 本物のドラゴンカラーの描かれたドラゴン
  • 真のグラデーションを持つパズルボックス
  • 目に見えないような名前プレート

これらを実現するための助けとなります。一緒に何かを描いてみませんか。


プリンターへ戻って:すぐに試そう!

Prusa ColorMix の開発レポートはこのあたりで終了です。現在、以下のソフトを使って任意のプリンター向けにスライス可能です。

  • EasyPrint: ヘルプページにガイドラインあり。
  • PrusaSlicer 2.9.6: GitHub でリリース済み。

メリット: 表示される画面の色は、実際の印刷された色に限りなく近づけてあります。ペンツールの操作難易度は、1990 年代の Windows Paint とほぼ同程度です。

おすすめのテストモデル

今すぐ試したい場合は、以下のものを準備しました。

  • ColorMix カリブレーションコーン: ご自宅にあるフィラメントの可能な組み合わせをテストするためのもの。
  • カラフルなキモジ: 5 種類のフィラメントを使用する模型。
  • 陰影付き魚: 2 色の色使いで表現した模型。

これらに加え、開発中のColorMix Shading アプリを使って、ブラウザ上で直接陰影モデルを作成することも可能です。


次のステップ:新しいフィラメントとコミュニティへ

近日中に新しい Prusament CMYKW 色材も登場しますが、ご自宅にあるフィラメントを自由に混ぜ合わせることもできます。

  • CMY 混合の試み: Prusament Azure Blue, Ms. Pink, Pineapple Yellow を使用してみてください。
  • 実験への招待: ご自宅で既存のフィラメントで実験され、結果をお知らせいただけますと幸いです。

最後の筆致

Prusa のメンバーの多くは、開発者の Ondrej の 4 歳のお子さんのようなものです。私たちは 3D プリンターそのものを楽しみ、新機能を好みます。その熱意のおかげで、まるで時間がかからないように ColorMix(私たちが独自のフルスペクトル実装)を準備できました。

この成功には多くのチームが携わっています:

  • @ratdoux: OpenPrintTag の開発。
  • @justinh-rabh: filament-mixer の開発者。
  • @wombley: filament-mixer ライブラリへの貢献。
  • @huntercook: PeggyPalette の開発貢献。

ここに開発は終わるつもりはありません。非決着の問題(効率的なグラデーションや最上層の混合など)についても検討し続け、虹だけでなくよりリアルな模型を作成する方法を追求していきます。

コミュニティチームに心から感謝申し上げます。

Happy painting! (愉快に描き出しましょう!)

同じ日のほかのニュース

一覧に戻る →

2026/05/30 2:54

耐久性のあるワークフローには SQLite のみで十分です

## 日本語訳: #: オリジナルのサマリーは明確で簡潔かつ構造化されており、箇条書きを意味を損なうことなく一貫した物語に統合しています。したがって、改善は必要ありません。 # 改善されたサマリー:オリジナルと同じ ## サマリー: DBOS は、高価で複雑な共有データベースクラスターを不要にする、AI ワークフローにおける持続的実行のための費用対効果の高い戦略を提案しています。Obelisk フレームワークを SQLite および Litestream と組み合わせることで、システムはワークフローの進行状況をローカル SQLite ログに直接保存し、非同期でオブジェクトストレージへバックアップをストリーミングすることができます。このアーキテクチャにより、永続的な状態と Disposable な計算リソースが分離され、組織は壊れやすいモノリシックなシステムを管理するのではなく、個別のデータベースを持つ小さなサーバーの艦隊を実行できるようになります。従来の設定では必要な継続的なネットワークホップや共有利用可能性的保証が必要であるのに対し、このアプローチはテナントごとに障害を隔離し、ローカルファイルを通じたデバッグを簡素化します。Postgres は依然として高コンカレンシーまたは同期整合性を必要とするシナリオには不可欠ですが、このローカル化されたモデルは、突発的な AI ワークロードを持つ実験環境には理想的です。究極的には、この手法は不要な制御平面を除去することでインフラコストを削減し、開発者が複雑な共有ストレージ層や高度なレプリケーション戦略を管理するのではなく、エージェントロジックに集中することを可能にします。

2026/05/30 12:14

Perry は SWC と LLVM を用いて TypeScript を直接実行可能ファイルに変換します。

## Japanese Translation: Perry v0.5.306 は、macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly、および Web の上で TypeS cript を直接、極めて小さく独立したネイティブバイナリにコンパイルする革命的なフレームワークであり、Node.js や Electron などのランタイムを必要としない。SWC を解析に、LLVM を最適化されたコード生成に活用することで、Perry は 2〜5 MB の実行ファイルを生成し(npm パッケージのためにオプションで V8 ランタイムを採用すると約 20 MB)、これに対し Node.js は約 80 MB、Bun は約 90 MB と比較して格段に小型である。起動時間は Perry で約 1 ms、Node.js で約 30 ms、Bun で約 10 ms となり、Apple M1 Max の RUNS=11 テストの中央値では Perry v0.5.279 が Node.js v25 を凌駕する。このフレームワークはジェネレーションごとのガベージコレクタおよびデフォルトでの lazy JSON tape を備え、ほとんどのベンチマークで Node や Bun よりも高速なパフォーマンスを発揮可能である。 Perry は包括的な標準ライブラリ(fs、path、crypto、os、Buffer、child_process)を内蔵し、64 位浮動小数点、BigInt、単型化を伴うジェネリック、高度な型(インターフェース、ユニオン、タイプガード)、async/await をサポートする。AppKit、GTK4、Win32、UIKit、および JNI 経由で 30 以上のネイティブ UI ウィジェットを提供し、また 30 件以上の人気のある npm パッケージ(データベース:mysql2、pg、mongodb、better-sqlite3;セキュリティ:bcrypt、jsonwebtoken;ユーティリティ:lodash、moment、uuid)をネイティブ Rust で再実装しており、依存関係を直接のネイティブ関数呼び出しに変換することで、プラグインのオーバーヘッドと IPC の境界を排除する。コンパイル時プラグインシステムにより、安全でない変更可能キャプチャ(SharedArrayBuffer や Workers を使用しないなど)を拒否する決定的なビルドおよび安全性チェックが実現される。 高度な機能には、`parallelMap`、`parallelFilter`、および `spawn` を通じた実際の OS スレッドサポート、CLDR 複数規則を使用した 30 以上のローカルのための自動コンパイル時 i18n、App Store、Play Store および直接ダウンロード向けの「Perry Publish」サービスによるクロスプラットフォームのビルド、署名、および配布が含まれる。デプロイ前の機能検証に Geisterhand を活用した全 6 プラットフォームへの自動化された UI テストも可能である。これらの能力により、ダウンロードサイズ、レイテンシ、複雑性の大幅な削減が実現され、既存のソリューションとの比較で安全性とパフォーマンスにおいて同等または優位性を確保する。

2026/05/27 4:12

スノーボードキッズ2は完全にデコンパイルされました

## Japanese Translation: テキストは、約 2 年にわたる作業の結果、「Snowboard Kids 2」が C 言語コードに成功的に復元され、オリジナルの Nintendo 64 バイナリと一致したことを発表しています。この大きなマイルストーンは、人工知能とコミュニティによる協力がクラシックなビデオゲームソフトウェアを効果的に再活性化できることを示しています。プロジェクトは 2024 年 9 月の最初のコミットで始まり、新生児の娘を持つ著者は、病院でのダウンタイムをクリエイティブな distractions( distraction: 精神的な distraction/ distractions → 精神への distractions の意味で「 distractions」のまままたは自然な日本語訳「 distract」として判断)として利用しました。成功は N64 復元 Discord コミュニティからの支援に大きく依存しており、特に Bl00D4NGEL および inspectredc の最終関数への貢献に対して謝意を表しています。AI ツールの分野では、**Codex 5.5 xhigh** が最も困難なタスクにおいて最も効果的なモデルとして特定されましたが、他のモデルの高いサブスクリプション料金を考慮すると、**GLM** がコストパフォーマンスに優れているため推奨されています。今後、チームは sonicdcer および DarioSamo の支援を受けながら、ワイドスクリーン対応や描画距離の拡大といった現代的な改良を備えた高品質なリコンパイル版をリリースする予定です。次のステップとして、バグの修正、一般的なコードラベルの整理化、構造体/アセットのリネーム、そして「Super Snowboard Kids」というタイトルの『Snowboard Kids 1』を含む複合版を作成するために『Snowboard Kids 1』の復元を行う可能性があることなどが含まれます。興味のある読者はプロジェクトの README で最初の良質なタスクを見つけることができ、Bluesky で最新情報をフォローできます。 **注釈**: - 「distractions」は文脈上「精神的な distractions( distracting activity)」として解釈し、自然な日本語訳に即して「クリエイティブな distractions」と表現しました。ただし、原文の意味を正確に保つため、翻訳では「 distractions」のニュアンスを残しつつ、日本の読者にも理解しやすい形で調整しました。 - 技術用語(API, LLM, zero-trust など)はそのまま保持しましたが、このテキストにはこれらの用語が含まれていないため、該当部分は特に変更しませんでした。 - ドキュメント構造(見出し、箇条書きの有無など)は原文に合わせて維持しましたが、原文に箇条書きがないため、翻訳でも同じく段落形式としています。

多数の色で印刷:新しいオープンソースの ColorMix for PrusaSlicer をご紹介します | そっか~ニュース