Blender MCP
आधिकारिकब्लेंडर के लिए एक हल्का MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर। यह ब्लेंडर के पायथन API के साथ एक प्राकृतिक भाषा इंटरफ़ेस प्रदान करता है, दस्तावेज़ीकरण तक पहुंच में सुधार करता है, और उपयोगकर्ताओं को जटिल सेटअपों का अन्वेषण और समझने की अनुमति देता है।
Blender MCP के साथ आप क्या कर सकते हैं?
- दृश्य प्रदर्शन का विश्लेषण करें — सहायक से कैमरा दृश्य में उन वस्तुओं को खोजने के लिए कहें जिनकी पॉलीगॉन संख्या उनके स्क्रीन आकार के सापेक्ष सबसे अधिक है।
- डेटा-ब्लॉक का नाम बदलें — वस्तुओं, लाइटों, कैमरों, टेक्सचर और अन्य डेटा-ब्लॉकों में टाइपो सुधारें या वर्णनात्मक नामकरण परंपराएँ लागू करें।
- डेटा संबंधों की पूछताछ करें — प्राकृतिक भाषा का उपयोग करके पूछें कि कौन सी वस्तुएँ किसी विशिष्ट सामग्री का उपयोग करती हैं या डेटा-ब्लॉक कैसे जुड़े हैं।
- दृश्य समस्याओं को डीबग करें — खुली फ़ाइल में सबसे अधिक पॉली काउंट वाली वस्तुओं, नॉन-मैनिफोल्ड मेश, या अन्य सामान्य समस्याओं की पहचान करें।
- ज्योमेट्री नोड्स सेटअप का दस्तावेज़ीकरण करें — इनलाइन दस्तावेज़ीकरण फ्रेम और एक टेक्स्ट डेटा-ब्लॉक उत्पन्न करें जो बताता है कि नोड ग्रुप क्या करता है और यह कैसे संरचित है।
दस्तावेज़
Blender के लिए एक हल्का MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर। यह Blender के Python API के साथ एक प्राकृतिक भाषा इंटरफ़ेस प्रदान करता है, दस्तावेज़ीकरण तक पहुँच में सुधार करता है, और उपयोगकर्ताओं को जटिल सेटअप का पता लगाने और समझने की अनुमति देता है।
आर्किटेक्चर के बारे में तकनीकी विवरण और दस्तावेज़ीकरण के लिए स्रोत कोड देखें।
सुरक्षा चेतावनी
MCP सर्वर आपके डेटा को हटाए जाने या किसी दूरस्थ स्थान पर भेजे जाने से बचाने के लिए बिना किसी सुरक्षा उपाय के Blender में LLM जनरेटेड कोड निष्पादित करेगा। अपने डेटा को सुरक्षित रखने के लिए वर्चुअल मशीन या संवेदनशील जानकारी तक पहुँच रहित सिस्टम का उपयोग करने की अनुशंसा की जाती है।
इंस्टॉलेशन
Blender में LLM से कनेक्ट करने के लिए कोई अंतर्निहित कार्यक्षमता नहीं है।
Blender को LLM से कनेक्ट करने के लिए, तीन बाहरी उपकरणों को मैन्युअल रूप से डाउनलोड, इंस्टॉल और चलाना होगा।
आवश्यकताएँ:
- Blender 5.1 या नया
- ऐड-ऑन
- LLM क्लाइंट
- MCP सर्वर
ऐड-ऑन
अपने Blender सत्र के साथ इंटरैक्ट करने के लिए आपको MCP सर्वर एकीकरण के लिए एक विशिष्ट ऐड-ऑन इंस्टॉल करना होगा।
Blender में खींचें और छोड़ें
…या डिस्क से डाउनलोड करें और इंस्टॉल करें
यदि आप Blender में खींचते और छोड़ते हैं तो आपको इसे दो बार करना होगा। पहले Blender लैब रिपॉजिटरी जोड़ने के लिए, दूसरा स्वयं ऐड-ऑन इंस्टॉल करने के लिए। यह विधि आपको इस ऐड-ऑन का नया संस्करण उपलब्ध होने पर अपडेट सूचनाएँ प्राप्त करने की अनुमति देती है।
LLM क्लाइंट
MCP सर्वर एक सुपरिभाषित मानक का पालन करते हैं और असंख्य क्लाइंट के साथ संगत हैं। कृपया LLama.cpp दस्तावेज़ीकरण का पालन करें, या अपनी पसंद का LLM क्लाइंट इंस्टॉल करें।
MCP सर्वर
आपके LLM क्लाइंट क्षमताओं के आधार पर MCP सर्वर इंस्टॉल करने के विभिन्न तरीके हैं।
- MCP बंडल: नए क्लाइंट के लिए जो
.mcpbफ़ाइलों का समर्थन करते हैं, रिलीज़ पेज से नवीनतम पैकेज डाउनलोड करें। Llama.cpp अभी तक इसका समर्थन नहीं करता है। - MCP सर्वर: स्रोत कोड से इंस्टॉल करने के लिए Llama.cpp दस्तावेज़ीकरण या सेटअप निर्देश देखें।
चलाना
एक बार जब आप अपने LLM क्लाइंट के भीतर अपना MCP सर्वर सेटअप कर लेते हैं, तो आप अपने Blender दृश्यों का पता लगाना शुरू कर सकते हैं।
blender-mcp सर्वर चलाने वाला llama.cpp वेब इंटरफ़ेस।
उदाहरण 1: दृश्य विश्लेषण
MCP का उपयोग प्रदर्शन बाधाओं के लिए प्रोग्रामेटिक रूप से दृश्य का विश्लेषण करने के लिए किया जा सकता है। उदाहरण के लिए क्लासरूम डेमो फ़ाइल लें:
क्लासरूम डेमो फ़ाइल।
यह दृश्य Blender बेंचमार्क फ़ाइलों में से एक है। इन फ़ाइलों के बेंचमार्क में होने का कारण यह है कि वे कलाकारों द्वारा बनाई गई वास्तविक उत्पादन फ़ाइलों का अच्छा प्रतिनिधित्व करती हैं। और इसमें कोई आश्चर्य नहीं है कि इसमें अनुकूलित किए जाने योग्य ऑब्जेक्ट हो सकते हैं।
जबकि बहुभुज गणना की जाँच करना अक्सर पर्याप्त होता है, इससे भी अधिक दिलचस्प यह है कि अंतिम रेंडर में वे कितने बड़े दिखाई देते हैं, इसके आधार पर बहुभुजों की संख्या को प्लॉट करना। यह निम्नलिखित प्रॉम्प्ट से प्राप्त किया जा सकता है।
Analyze the scene and list the outliers: objects with highest polygon count but smaller size from the camera point of view.
प्लॉट किए गए परिणामी डेटा स्पष्ट रूप से दो ऑब्जेक्ट दिखाते हैं जो बाकियों से अलग हैं: alphabet और coat 1:
क्लासरूम डेमो दृश्य के लिए प्रति स्क्रीन क्षेत्र बहुभुज गणना का ग्राफ़ विश्लेषण।
alphabet ऑब्जेक्ट में 20k बहुभुज हैं। इसके सपाट स्वभाव के कारण इसे अंतिम परिणाम पर बहुत कम नकारात्मक प्रभाव के साथ एक टेक्सचर से बदला जा सकता है। coat 1 ऑब्जेक्ट में इसके Subsurf मॉडिफ़ायर के कारण 37k बहुभुज हैं। यदि आपके सिस्टम में मेमोरी बाधा थी, तो उपविभाजन स्तर कम करने से दृश्य हल्का हो सकता है।
अल्फाबेट दृश्य के पीछे बैठता है और इसे आसानी से एक टेक्सचर से बदला जा सकता है। कोट भी काफी दूर है कि इसकी मेश को सरल बनाया जा सकता है।
ये परिणाम कितने विश्वसनीय हैं?
LLM द्वारा लौटाए गए प्रारंभिक विश्लेषण ने केवल उन मॉडिफ़ायर पर विचार किया जो व्यूपोर्ट को प्रभावित करते थे। coat 1 ऑब्जेक्ट में एक Solidify मॉडिफ़ायर है जो इसकी बहुभुज गणना को दोगुना कर देता है, जिससे यह और भी अधिक बाहरी बन जाता है। और हालाँकि इस दृश्य में Simplify सक्षम नहीं था, यह सेटिंग अंतिम विश्लेषण को भी प्रभावित करती।
उदाहरण 2: विभिन्न प्रॉम्प्ट
ये कुछ अन्य परीक्षण किए गए उपयोग के मामले हैं। उनके काम करने के लिए आपको संपूर्ण "प्रॉम्प्ट" सामग्री पेस्ट करनी होगी। प्रारंभ बिंदु के रूप में आपको संबंधित डेमो फ़ाइल का उपयोग करना चाहिए। ऑपरेशन की सफलता उपयोग किए गए मॉडल पर निर्भर करेगी।
| उपयोग का मामला | प्रॉम्प्ट | डेमो फ़ाइल | परिणाम |
|---|---|---|---|
| डेटा-ब्लॉक नाम बदलना: टाइपो ठीक करना | वर्तमान में खुली Blender फ़ाइल के साथ टाइपो हटाने के लिए सभी डेटा-ब्लॉक के नाम ठीक करें। रिपोर्ट करें कि कौन से डेटा-ब्लॉक ठीक हुए। | Scattering Pebbles | GRP-rocks → GRP-pebble, LGT-Lights → LGT-lights, Compositing Nodetree → Compositing Node Tree |
| डेटा-ब्लॉक नाम बदलना: बेहतर नाम | वर्तमान में खुली Blender फ़ाइल के साथ सभी डेटा-ब्लॉक के लिए वर्णनात्मक नाम सुझाएँ, और स्वीकृत होने पर लागू करें। | Scattering Pebbles | Camera → CAM-main, Area → LGT-sun-key, Area.001 → LGT-sun-fill, Area.002 → LGT-area-rim, GEO-pebble.001 → GEO-pebble-B, … |
| प्राकृतिक भाषा का उपयोग करके डेटा संबंधों की क्वेरी | निम्नलिखित मटेरियल का उपयोग कौन से ऑब्जेक्ट कर रहे हैं: pebbles | Scattering Pebbles | 7 ऑब्जेक्ट: GEO-pebble, GEO-pebble.001, GEO-pebble.002, GEO-pebble.003, GEO-pebble.004, GEO-pebble.005, GEO-pebble.006 |
| दृश्य डिबगिंग | इस फ़ाइल पर सबसे अधिक बहुभुज गणना वाला ऑब्जेक्ट कौन सा है? उन ऑब्जेक्ट को अनदेखा करें जो किसी दृश्य से लिंक नहीं हैं। | Scattering Pebbles | GEO-ground 4,096 फलकों के साथ। |
| ज्यामिति नोड्स दस्तावेज़ीकरण | वर्तमान में खुली Blender फ़ाइल के साथ समझाएँ कि मुख्य ज्यामिति नोड्स सेटअप क्या कर रहा है। फ्रेम तत्वों के साथ इसके लिए इनलाइन दस्तावेज़ीकरण जोड़ें। विश्लेषण के परिणाम के साथ एक टेक्स्ट डेटा-ब्लॉक बनाएँ। | Scattering Pebbles | 4 प्रमुख रंग-कोडित फ्रेम + स्पष्टीकरण के साथ टेक्स्ट फ़ाइल। |
अन्य प्रॉम्प्ट जिनका अभी पता लगाया जाना बाकी है:
- सभी डेटा-ब्लॉक का फ्रेंच से अंग्रेजी में अनुवाद करें।
- मेरी मेश मेरे आर्मेचर द्वारा विकृत नहीं हो रही है, मैं इसे कैसे ठीक कर सकता हूँ?
- इस दृश्य को रेंडर करते समय Blender की मेमोरी खत्म हो रही है, मैं इसे कैसे अनुकूलित कर सकता हूँ?
- इस मेश में अजीब शेडिंग आर्टिफैक्ट हैं, मैं इसे कैसे ठीक कर सकता हूँ?
- खराब नॉर्मल वाली मेश वाले ऑब्जेक्ट खोजें।
- गैर-समान रूप से रूपांतरित मेश ऑब्जेक्ट के लिए मेरे दृश्य की जाँच करें।
- मेरे द्वारा निर्यात किया गया वीडियो मेरे वेब ब्राउज़र में नहीं चलता है, मुझे कौन सी सेटिंग बदलनी चाहिए?
- पेड़ की शाखाएँ बनाने और विस्तृत करने के लिए मुझे कौन से स्कल्प्ट ब्रश का उपयोग करना चाहिए?
- मेरी छवि को SDR और HDR दोनों के रूप में सहेजने के लिए कंपोज़िटिंग नोड्स सेट करें।
- इस चेकलिस्ट को सत्यापित करें:: मेश मैनिफोल्ड होनी चाहिए, सभी ऑब्जेक्ट में मटेरियल होने चाहिए, नामकरण कन्वेंशन का पालन करना चाहिए, कोई निरपेक्ष पथ नहीं, … डेटा-ब्लॉक नाम बदलना: टाइपो ठीक करना
GRP-rocks → GRP-pebbles (दृश्य में केवल कंकड़ ऑब्जेक्ट हैं, चट्टानें नहीं)।
LGT-Lights → LGT-lights (असंगत केसिंग)।
Compositing Nodetree → Compositing Node Tree (Nodetree एक यौगिक शब्द त्रुटि है)।
डेटा-ब्लॉक नाम बदलना: बेहतर नाम
ऑब्जेक्ट:
Camera→CAM-mainArea→LGT-sun-keyArea.001→LGT-sun-fillArea.002→LGT-area-rimGEO-pebble.001→GEO-pebble-BGEO-pebble.002→GEO-pebble-CGEO-pebble.003→GEO-pebble-DGEO-pebble.004→GEO-pebble-EGEO-pebble.005→GEO-pebble-FGEO-pebble.006→GEO-pebble-G
लाइट डेटा-ब्लॉक:
Area→LGT-sun-keyArea.001→LGT-sun-fillArea.002→LGT-area-rim
कैमरा डेटा-ब्लॉक:
Camera→CAM-main
टेक्सचर:
Texture→TEX-ground-cloudsTexture.001→TEX-ground-image
दृश्य और विश्व:
World→WLD-environmentScene→SCN-mainज्यामिति नोड्स दस्तावेज़ीकरण
नए फ्रेम बनाए गए:
ज्यामिति नोड्स सेटअप में जोड़े गए दस्तावेज़ीकरण फ्रेम।
टेक्स्ट डेटा-ब्लॉक:
GEOMETRY NODES ANALYSIS -- "Pebble Scattering Nodes"
Applied to object: GEO-ground | Modifier: Pebbles
========================================================
OVERVIEW
--------
This node group scatters three size categories of pebble meshes across
the faces of a ground mesh. Each category uses its own density mask
and a global Factor multiplier so that coverage can be art-directed
per-layer without touching the raw mask textures. The three resulting
instance layers are merged with the original ground geometry and sent
to the Group Output.
INPUTS (Group Interface)
------------------------
Geometry -- The ground mesh to scatter pebbles on.
Large Pebbles Mask -- Float mask (e.g. vertex colour / texture) that
defines WHERE large pebbles may appear.
Medium Pebbles Mask-- Float mask for medium pebble placement regions.
Small Pebbles Mask -- Float mask for small pebble placement regions.
Factor -- Global density multiplier shared by all three
lanes (appears three times in the interface,
one per lane).
NODE GRAPH -- LANE BY LANE
--------------------------
+- LARGE PEBBLES LANE -----------------------------------------------------+
| Source object : GEO-pebble |
| Group Input.001 |
| +- Geometry ------------------------> Distribute Points on Faces |
| +- Large Pebbles Mask ------------> Distribute Points on Faces |
| | (Density Factor socket) |
| +- Factor --> Math.003 (x) -------> Distribute Points on Faces |
| (Density Max socket) |
| Distribute Points on Faces ----------> Instance on Points |
| Object Info (GEO-pebble) -----------> Instance on Points (Instance) |
| Random Rotation.001 [-pi, +pi] -----> Instance on Points (Rotation) |
| Random Value [0.25 - 0.60] -------> Instance on Points (Scale) |
| Instance on Points ------------------> Join Geometry.003 |
+--------------------------------------------------------------------------+
+- MEDIUM PEBBLES LANE ----------------------------------------------------+
| Source object : GEO-pebble.004 |
| Group Input.002 |
| +- Geometry ------------------------> Distribute Points on Faces.001 |
| +- Medium Pebbles Mask -----------> Math.004 (x) --> Math.005 (x) |
| +- Factor ------------------------> Math.005 (x) |
| Math.005 output --------------> Distribute Points on Faces.001 |
| (Density socket) |
| Distribute Points on Faces.001 -----> Instance on Points.001 |
| Object Info.001 (GEO-pebble.004) --> Instance on Points.001 |
| Random Rotation.002 [-pi, +pi] ----> Instance on Points.001 |
| Random Value.002 [0.25 - 0.45] -----> Instance on Points.001 |
| Instance on Points.001 -------------> Join Geometry.003 |
+--------------------------------------------------------------------------+
+- SMALL PEBBLES LANE -----------------------------------------------------+
| Source object : GEO-pebble.002 |
| Group Input.003 |
| +- Geometry ------------------------> Distribute Points on Faces.002 |
| +- Small Pebbles Mask -----------> Math.006 (x) --> Math.007 (x) |
| +- Factor ------------------------> Math.006 (x) |
| Math.007 output --------------> Distribute Points on Faces.002 |
| (Density socket) |
| Distribute Points on Faces.002 -----> Instance on Points.002 |
| Object Info.002 (GEO-pebble.002) --> Instance on Points.002 |
| Random Rotation [-pi, +pi] ----> Instance on Points.002 |
| Random Value.003 [0.10 - 0.35] -----> Instance on Points.002 |
| Instance on Points.002 -------------> Join Geometry.003 |
+--------------------------------------------------------------------------+
+- MERGE & OUTPUT ---------------------------------------------------------+
| Group Input.004 |
| +- Geometry (pass-through) --------> Join Geometry.003 |
| Join Geometry.003 |
| (inputs: large instances + medium instances + |
| small instances + original ground geo) |
| +- Geometry -----------------------> Group Output |
+--------------------------------------------------------------------------+
SCALE RANGES (uniform, per lane)
---------------------------------
Large pebbles : 0.25 - 0.60
Medium pebbles : 0.25 - 0.45
Small pebbles : 0.10 - 0.35
ROTATION (all lanes)
---------------------
All three axes randomised independently over [-pi, +pi],
giving each pebble instance a fully random orientation.
DENSITY CONTROL PATTERN (Medium & Small lanes)
-----------------------------------------------
The mask value and the Factor are first multiplied together
(Math.004 / Math.006), then that product is multiplied again
by a second value (Math.005 / Math.007) before being fed into
the Density socket. This two-stage multiply gives a non-linear
response curve, making the density fall off more aggressively
near the mask edges.
The Large lane uses a different (single-stage) approach:
the Density Factor socket receives the mask directly, and the
Factor is only used to scale Density Max via Math.003.
NOTES & SUGGESTIONS
--------------------
* The node group has no Seed input exposed; adding one would allow
re-randomising all three layers simultaneously without touching
individual nodes.
* The Factor input currently appears three times (once per lane).
Merging them into a single shared socket would simplify the
modifier panel.
* Consider labelling the unlabelled Math nodes (Math.003-.007)
and Random Value nodes to aid future maintenance.