Matter
একটি নোড গ্রাফ যা প্রোসিডিউরালি PBR ম্যাটেরিয়াল তৈরি করে, রেজোলিউশন-নিরপেক্ষ, পুনরায় টিউনযোগ্য, এবং একটি সম্পূর্ণ ম্যাপ সেট হিসেবে এক্সপোর্টযোগ্য।
এক লাইনে#
প্রোসিডিউরাল নোড একসাথে জুড়ে দিন আর অন্য প্রান্তে পেয়ে যান একটি সম্পূর্ণ PBR ম্যাটেরিয়াল: বেস কালার, রাফনেস, মেটালিক, নরমাল, হাইট, AO এবং এমিসিভ, আপনি যে রেজোলিউশন চান সেখানেই।
লেআউট#

| মেনু বার | File · Edit · Graph · View · Help · Plugins |
| গ্রাফ ট্যাব | প্রতি ট্যাবে একটি ম্যাটেরিয়াল, আরেকটির জন্য + |
| টুলবার | select, pan, zoom, fit, add node, connect, frame, undo/redo, grid |
| বাম | সার্চযোগ্য নোড library |
| কেন্দ্র | graph |
| ডান | নির্বাচিত নোডের জন্য properties |
| নিচে বাম | 2D preview, প্রতি PBR চ্যানেলে একটি ট্যাব |
| নিচে ডান | 3D preview |
এখানে আপনি যা করেন#
গ্রাফ তৈরি করা#

লাইব্রেরি থেকে একটি নোড টেনে আনুন, বা টুলবার থেকে যোগ করুন, এবং Output → Input সংযুক্ত করুন। প্রতিটি নোড নিজের গায়েই নিজেকে প্রিভিউ করে, তাই গ্রাফটাই একটি contact sheet: নির্বাচন না করেই আপনি দেখতে পান প্রতিটি ধাপ কী করেছে।
লাইব্রেরিটি গ্রুপ করা:
| Color | Color · Gradient · Bitmap (একটি PNG/JPEG লোড করুন) · Uniform Color · SVG |
| Noise | Noise (Perlin / fractal) · Clouds (fractal sum abs) · Anisotropic Noise · Grunge Map · White Noise · Blue Noise |
| Patterns | Checkerboard · Wood Rings · Shape · … |
| Filters, adjustments and utilities | levels, blends, blurs, normal-from-height এবং বাকিসব |
| Output | প্রতি PBR চ্যানেলে একটি |
Recent আপনি সবশেষে যা ব্যবহার করেছেন তা উপরে রাখে, যা বেশিরভাগ সময় আপনার হাতের কাছেই থাকে।
চ্যানেলে রুট করা#
একটি Output নোড হলো একটি PBR চ্যানেল target: এর Channel সেট করুন baseColor, roughness, metallic, normal, height, ao বা emissive-এ। একটি ম্যাটেরিয়াল তখন সম্পূর্ণ হয় যখন আপনার প্রয়োজনীয় প্রতিটি চ্যানেলে একটি output এসে পৌঁছায়।
একটি নোড টিউন করা#
Properties প্যানেল প্রতিটি নোডকে দেয় তার basic parameters, তার function bindings (একটি ধ্রুবকের বদলে একটি expression দিয়ে চালিত প্যারামিটার), এবং তার resolution mode: ডিফল্টভাবে Inherit, তাই graph লেভেলে একটি বদল পুরো ম্যাটেরিয়ালকে একটি নতুন সাইজে পুনরায় রেন্ডার করে দেয়। এটি নোডের last evaluation timeও জানায়, যা দিয়ে আপনি একটি ধীর গ্রাফে খরচবহুল ধাপটি খুঁজে পান।
Save to library একটি নোডকে, বা আপনার তৈরি করা একটি subgraph-কে, পুনর্ব্যবহারযোগ্য কিছুতে পরিণত করে।
ফলাফল দেখা#

2D preview একবারে একটি চ্যানেল দেখায়, একটি জুম ও একটি হিস্টোগ্রাম সহ। 3D preview ম্যাটেরিয়ালটিকে একটি mesh-এর উপর রেন্ডার করে: sphere, cube, cylinder, torus, plane, বা আপনার নিজের mesh। একটি environment বেছে নিন (HDRI Studio, Soft, Warm, Sky, বা Studio / Outdoor / Sunset প্রিসেট), tessellation ও edge সেট করুন, এবং ম্যাটেরিয়ালটি আসলেই সিম ছাড়া পুনরাবৃত্ত হয় কিনা যাচাই করতে UV-গুলো 1×, 2× বা 4× টাইল করুন।
ডান প্যানেল, পাঁচটি ট্যাব#
| ট্যাব | |
|---|---|
| Properties | নির্বাচিত নোডের প্যারামিটার |
| Parameters | গ্রাফের exposed parameters: যে নব একটি ম্যাটেরিয়াল যে কেউ ব্যবহার করবে তাকে দেয়, যে বানিয়েছে তাকে নয় |
| Graph | গ্রাফ-লেভেল সেটিংস |
| Variants | একই গ্রাফ থেকে একটি ম্যাটেরিয়ালের একাধিক ভার্সন |
| Library | নোড ও প্রিসেট লাইব্রেরি |

একটি স্ক্যান সেশন খোলা থাকা অবস্থায় ষষ্ঠ একটি ট্যাব, Material Scan, দেখা যায়।
Exposed parameters#
Exposed parameters সহ একটি ম্যাটেরিয়াল একটি স্থির টেক্সচার হওয়া বন্ধ করে একটি control panel হয়ে যায়: rust amount, plank width, wear। এটাই একটি গ্রাফকে একটি পুরো সেটের কাজ করায়, আর একবার ফলাফল এঁকে ফেলার বদলে Matter-এ তৈরি করার কারণটাও এটাই।
Material Scan#
একটি বাস্তব সারফেসের একটি ছবি এখানে একটি ম্যাটেরিয়াল হয়ে যায়, আর যেহেতু capture-টি পুনরায় পাবলিশ করা যায়, এর জন্য নিজস্ব একটি অধ্যায় আছে।
Node library, সংখ্যায়#
তেইশটি ক্যাটেগরিতে দুইশো তিনটি নোড। এই তালিকার আকৃতিই বলে দেয় Matter আসলে কী:

| ক্যাটেগরি | ক্যাটেগরি | ||
|---|---|---|---|
| filters | 44 | blur | 6 |
| generators | 34 | transform | 6 |
| utility | 22 | graph | 6 |
| adjustments | 18 | colour | 5 |
| pattern | 16 | bake | 5 |
| effects | 9 | normal | 4 |
| noise | 6 | analysis | 4 |
সেই সঙ্গে flood fill (4), channels (3), material (3), scatter (2), blending (2), এবং script, dynamics, output ও library-এর একটি করে।
Filter, generator-এর চেয়ে বেশি, আর এটাই মূল কথা: একটি প্রোসিডিউরাল ম্যাটেরিয়াল বেশিরভাগই processing, noise-টা সহজ অংশ, আর একে কাঠ বা মরচে পড়া ইস্পাতের মতো দেখানোর পেছনে আছে পরে সেটিকে ঠেলাঠেলি করার চুয়াল্লিশটি উপায়।
script নোডটি বাকি দুইশোটি যা কভার করে না তার জন্য একটি escape hatch, আর bake নোড একটি খরচবহুল শাখাকে একটি সংরক্ষিত ইমেজে পরিণত করে যাতে গ্রাফের বাকি অংশ ইন্টারঅ্যাক্টিভ থাকে।
Material Scan, এবং ছবিটি পুনরায় পাবলিশ হলে কী ঘটে#
Inkwell-এ প্রস্তুত করা একটি Surface Capture এখানে একটি ফ্ল্যাট ইমেজ নয়, একটি গ্রাফ হিসেবে আসে: scan-টি নোডগুলো তৈরি করে, আর Material Scan guide ধাপে ধাপে দেখায় এটি কী তৈরি করেছে, প্রতিটি ধাপের নোডগুলো দেখিয়ে এবং প্রতিটি output-কে manual বা derived হিসেবে চিহ্নিত করে।
মজার ঘটনা ঘটে দ্বিতীয়বার। Inkwell থেকে একই capture আবার পাবলিশ হলে, Matter সেটা টের পায়, এটি জানে তার কাছে থাকা ভার্সন এবং যে ভার্সন এসেছে সেটি, আর জিজ্ঞেস করে:
| পছন্দ | |
|---|---|
| Update the source | নতুন ছবিটি বর্তমান গ্রাফে নিয়ে আসুন |
| Create a variant | দুটোই রেখে দিন |
| Ignore | গ্রাফটি অপরিবর্তিত রাখুন |
Update শুধু source নোডটিই প্রতিস্থাপন করে। আপনি নিচের দিকে যে নোডগুলো যোগ করেছেন, এবং যে সেটিংস বদলেছেন, তার সবই অস্পৃষ্ট থাকে। এই নিশ্চয়তাটাই একটি সারফেস আবার ছবি তোলাকে নিরাপদ করে তোলে: scan-এর উপর আপনি যে কাজ করেছেন সেটি প্রতিস্থাপিত হওয়া জিনিস নয়।
Capture সম্পর্কে আসলেই কিছু না বদলালে, ডায়ালগটি আপনাকে তুলনা করতে না বলে সেটাই জানিয়ে দেয়। আর capture-এর প্রয়োজনীয় কিছু অনুপস্থিত থাকলে, এটি একটি অর্ধেক গ্রাফ তৈরি না করে ফিল্ডগুলোর নাম বলে দেয়।
একটি ম্যাটেরিয়াল এক্সপোর্ট করা#
তিনটি ভিন্ন জিনিস Matter থেকে বের হয়, আর এরা একে অপরের বদলি নয়:
| PBR ম্যাপ | প্রতি চ্যানেলে একটি ইমেজ, baseColor, roughness, metallic, normal, height, AO, emissive, PNG, JPEG, HDR, TGA বা TIFF-এ |
একটি .matter bundle | গ্রাফ এবং তার টেক্সচার, তাই ম্যাটেরিয়ালটি এডিটযোগ্য থাকে |
| glTF / GLB, এবং MaterialX | অন্য সফটওয়্যার যেভাবে আশা করে সেভাবে ম্যাটেরিয়াল |
শুধু সংযুক্ত output-ই এক্সপোর্ট হয়; প্যানেলটি খালি ফাইল না লিখে "no connected outputs" বলে দেয়, এবং সংখ্যা দিয়ে জানায় কতটা সফল হলো আর কতটা ব্যর্থ।
যেসব ফাইল এটি পড়ে ও লেখে#
| নেটিভ ফরম্যাট | .matter (গ্রাফ, বা তার টেক্সচারসহ একটি bundle) |
| ইমপোর্ট | .png, .jpg (Bitmap নোড), SVG (SVG নোড), Inkwell থেকে একটি Surface Capture |
| এক্সপোর্ট | PBR ম্যাপ PNG · JPEG · HDR · TGA · TIFF হিসেবে; glTF / GLB; MaterialX |
অন্য স্টুডিওতে কাজ পাঠানো#
তৈরি করে একটি PBR ম্যাটেরিয়াল সেট, এবং একটি ফ্ল্যাট ইমেজ। গ্রহণ করে ইমেজ, pixel art, এবং Inkwell থেকে একটি surface capture।
ম্যাটেরিয়াল সেটটি সরাসরি Pigment, Sculpt এবং Engine বুঝতে পারে: চ্যানেলগুলো আপনাকে আবার সংযুক্ত করতে হবে এমন সাতটা আলগা PNG হিসেবে না এসে সঠিক স্লটে ম্যাপ হয়ে আসে।
অন্য কারও সাথে কাজ করা#
Matter সম্পূর্ণ ডকুমেন্ট সিঙ্ক করে, debounced, নোড বাই নোড নয়। একটি ম্যাটেরিয়াল গ্রাফ একটি ছোট অবজেক্ট আর store কোনো অপারেশন লগ রাখে না, তাই একটি full sync সততার সাথেই যা তা বলে দেয়: last writer wins। দুজন মানুষের ভিন্ন ভিন্ন গ্রাফ ট্যাবে কাজ করা উচিত, একই ট্যাবে নয়।
সীমাবদ্ধতা ও সাধারণ সমস্যা#
- একটি ধীর গ্রাফের একটি ধীর নোড থাকে। Properties প্যানেল প্রতিটি নোডের last evaluation time জানায়; সবকিছুর রেজোলিউশন কমানোর আগে সেখানে দেখুন।
- রেজোলিউশন উত্তরাধিকারসূত্রে পাওয়া। একটি নোড একটি সাইজে pin করা থাকলে সেটি একটি graph-লেভেল বদল অনুসরণ করবে না, এর resolution mode চেক করুন।
- Tiling সমস্যা 3D preview-তে দেখা যায়, 2D-তে নয়। একটি ম্যাটেরিয়ালকে সম্পন্ন বলার আগে tile factor 2× বা 4×-এ সেট করুন।
- একটি Bitmap নোড প্রোসিডিউরাল নয়। আপনি যে রেজোলিউশনেই গ্রাফটি রেন্ডার করুন না কেন, এটি আপনার দেওয়া ফাইলের মতোই স্পষ্ট বা অস্পষ্ট থাকবে।