मैं .OBJ फ़ाइलों में शीर्ष रंग जानकारी कैसे शामिल कर सकता हूं?


25

.Obj फ़ाइलें जो मैं निर्यात करता हूं, वे शीर्ष रंगों के लिए डेटा अनुपलब्ध हैं। क्या .obj फ़ाइल में रंग जानकारी शामिल करने का कोई तरीका है? यदि नहीं, तो विकल्प क्या हैं?

जवाबों:


9

ब्लेंडर PLY फाइलें (.ply) निर्यात कर सकते हैं, जो टेक्स्ट-आधारित हैं, पार्स करने के लिए बहुत आसान है, और वर्टिकल रंग शामिल हैं। कठिन तरीका यह है कि ओबीजे निर्यातक कोड को बदल दिया जाए ताकि इसमें वर्टिस रंग (इस प्रकार ब्रेकिंग ऑबज कम्पेटिबिलिटी) शामिल हो।


8
गलत रास्ता OBJ निर्यातक को बदलने के लिए है। इस काम के लिए सही उपकरण का उपयोग करें; यदि आप शीर्ष रंग चाहते हैं, तो वेवफ्रंट ओबीजे स्पष्ट रूप से वह उपकरण नहीं है जिसका आप उपयोग करना चाहते हैं (या दुरुपयोग)।
मार्टिन सोज्का

6
वह गलत तरीका क्यों है? यदि वह OBJ निर्यातक को अपना बनाने के लिए लेता है, तो मैं वास्तव में यह देखने में विफल रहता हूं कि यह "गलत" कैसे है। गलत तरीका कोई काम नहीं कर रहा है क्योंकि यह हमेशा किसी के लिए गलत तरीका है।
रावचोल

.Obj प्रारूप सामग्री जानकारी संग्रहीत करने के लिए .mtl फ़ाइलों का उपयोग करता है, लेकिन जहां तक ​​मुझे पता है, केवल प्रति चेहरे एक सामग्री का समर्थन करता है। इसके अलावा, .obj इतने सारे विषयों में से एक नहीं है, जिसके लिए विकिपीडिया प्रविष्टि वास्तव में उपयोगी है: en.wikipedia.org/wiki/Wavefront_.obj_file
निकलें।

3
यह गलत है क्योंकि OBJ एक निश्चित विनिर्देश है। एक बार जब आप निर्यातक को अतिरिक्त सामान करने के लिए बदलना शुरू करते हैं , तो यह अब ओबीजे निर्यातक नहीं है, यह कुछ और है। वहां से, यह किसी भी मल्टी-हेडेड जानवर के बारे में बदल सकता है। फिर भी, अच्छा जवाब, मैंने कभी PLY के बारे में नहीं सुना।
इंजीनियर

@NickWiggill PLY आवश्यक रूप से एक अच्छा विकल्प नहीं है - शायद आपने अच्छे कारण के बारे में नहीं सुना है। यह ओबीजे की तुलना में बहुत अधिक जटिल है और यह एक लचीले मॉडल के लिए उपयोग करने की आवश्यकता से अधिक लचीलेपन की अनुमति देता है। यदि आपको अतिरिक्त लचीलेपन की आवश्यकता है, तो शायद आपको एक और अधिक लोकप्रिय फ़ाइल प्रारूप का उपयोग करना चाहिए, जिसमें अच्छी तरह से स्थापित पार्सर जैसे कि कोलाडा
बोबोबोओ

18

वेवफ्रंट के * .obj का एक स्वाद मौजूद है जो वर्टेक्स कलरिंग की सुविधा देता है। मुझे दो एप्लिकेशनों के बारे में पता है जो इन्हें "मेशलैब" (फ्री) और "मेशमिक्सर" (ऑटोडेस्क से भी मुक्त) नाम से निर्यात कर सकते हैं। वर्ना रंग वास्तव में पाए जाते हैं। प्रत्येक शीर्ष परिभाषा के बाद जैसा कि नीचे दिखाया गया है ..

(* .Obj का टुकड़ा)

####
#
# OBJ File Generated by Meshlab
#
####
# Object VERTEXPAINT_004_OBJ.obj
#
# Vertices: 284
# Faces: 281
#
####
mtllib ./VERTEXPAINT_004_OBJ.obj.mtl

vn 0.029683 0.730087 -0.682709
v 1220.094482 -572.500000 177.713943 0.984314 0.764706 1.000000  

# "3 vals for Vert and 3 vals for Col"

vn 0.000000 0.858139 -0.513418
v 1291.571533 -609.439636 -28.628490 0.921569 0.219608 1.000000
vn 0.303129 0.896367 -0.323480

"वर्टेक्स बेस्ड एंबिएंट इंक्लूजन" उत्पन्न करने के लिए मेशलैब का उपयोग करने की कोशिश करें, फिर इसे "मेशिक्सर" के साथ खोलें।

यह आपके मुद्दे को स्पष्ट करना चाहिए .. मुझे लगता है कि वर्टेक्स रंग शेड्स के आगमन के साथ वापस आ रहा है .. इसकी अजीब बात यह है कि छवि मानचित्रों की खोज के समय वर्टेक्स रंग की उपेक्षा कैसे की जाती है .. अब हमें "वर्टेक्स रंग" की वापसी देखनी चाहिए! मुझे पता है अगर यह उपयोगी था!


ओह मैं समझा। वे प्रति-शीर्ष रंग पर 3 स्थिति के रूप में वर्टेक्स स्थिति विनिर्देशन के बाद तैरते हैं v। मौजूदा OBJ पार्सरों के साथ अनुकूलता को तोड़ने की उम्मीद नहीं है।
बॉबोबोबो

+1 मैंने हाल ही में हासिल की एक obj फ़ाइल में इन रंगीन रंगों का बिल्कुल सामना किया। ओबीजे वर्टेक्स कलरिंग पार्सिंग प्रॉब्लम के अनुसार · इश्यू # 2083 · मर्डोब / थ्री.जेएस , रंग लाल हरे नीले रंग के क्रम में हैं, जैसा कि विशिष्ट है, और 0 से 1. क्या आप इसके लिए किसी भी वास्तविक दस्तावेज से अवगत हैं लोग इसका समर्थन कर रहे हैं? कैसे किसी भी खुले स्रोत कोड के बारे में जो इसे लागू करता है? क्या वास्तव में obj के लिए एक लिखित मानक है जिसे व्यापक रूप से स्वीकार किया जाता है?
nealmcb

अहा - मेरे एक प्रश्न का उत्तर देने के लिए, मेशलैब न केवल स्वतंत्र है, बल्कि खुला स्रोत (जीपीएल) और क्रॉस-प्लेटफॉर्म :)
nealmcb

7

वेवफ्रंट ओबीजे सामग्रियों का समर्थन करता है , जो एक ही रंग के मेश के रंग समूहों को बनाते हैं।

सामग्री विवरण इस तरह दिखते हैं:

newmtl redMtl
Kd 1.00 0.00 0.00
Ks 0.50 0.50 0.50
Ns 18.00

तो, केडी डिफ्यूज़ कंपोनेंट है, केएस स्पेक्युलर है।

इन .mtl फ़ाइल के अंदर निर्दिष्ट किया जाएगा जो .obj फ़ाइल के साथ होती है। .Obj फ़ाइल के अंदर जैसे कथन हैं

usemtl redMtl
f 1/5/1 30/39/2 20/29/3
f 20/29/4 30/39/5 31/41/6
f 35/48/7 26/35/8 2/6/9

इसका मतलब यह है कि वहाँ निर्दिष्ट चेहरे RedMtl सामग्री का उपयोग करने के लिए हैं। जब आप ओब्ज फाइल को पार्स कर रहे होते हैं, तो यह नीचे-प्रति-वर्ण रंग में बदल जाता है।

यदि बहुत सारे रंग हैं, तो आपके पास बहुत सारी सामग्री होगी, लेकिन आप इसे कर सकते हैं।

यहां एक विशेष समूह को एक अलग सामग्री का सामना करने का तरीका बताया गया है । यदि आप चाहें तो एक जाल में प्रत्येक चेहरे के लिए एक अलग सामग्री असाइन कर सकते हैं।


5
दुर्भाग्य से यह केवल प्रति-चेहरे के रंग के लिए अनुमति देता है, प्रति-शीर्ष रंग के लिए नहीं।
शराबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.