این فرمان obj2rad است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
obj2rad - فایل Wavefront .obj را به توضیحات RADIANCE تبدیل کنید
خلاصه
obj2rad [ -n ][ -f ][ -m نقشه فایل ][ -o objname ] [ ورودی ]
شرح
Obj2rad یک فایل Wavefront .obj را به شرح صحنه RADIANCE تبدیل می کند. مواد
نام سطوح بر اساس فایل قوانین نگاشت داده شده در -m
گزینه. اگر هیچ فایل نگاشت داده نشده است، شناسه های داده شده توسط عبارات "usemtl".
به عنوان نام مواد استفاده خواهد شد. اگر هیچ عبارت "usemtl" یافت نشد، نام گروه
(داده شده توسط عبارت "g") به جای آن استفاده خواهد شد. در صورت عدم موفقیت، مواد پیش فرض
"سفید" استفاده خواهد شد.
یک فایل نگاشت حاوی لیستی از مواد است که به دنبال آن شرایطی که یک سطح باید باید داشته باشد
برای داشتن آن ماده ارضا شود. به عنوان مثال، اگر ما همه چهره ها را در گروه می خواستیم
"چیز" با بافت نقشه "کاج" برای استفاده از مواد "چوب"، و تمام سطوح دیگر برای استفاده
ماده "پیش فرض"، فایل نگاشت زیر را ایجاد می کنیم:
پیش فرض
چوب (گروه "چیز") (نقشه "کاج") ;
همه چهره ها اولین مجموعه شرایط (که خالی است) را برآورده می کنند، اما فقط چهره ها
در گروه "thingy" با بافت نقشه "pine" مجموعه دوم شرایط را برآورده می کند.
هر قانون می تواند حداکثر یک شرط در هر واجد شرایط داشته باشد و مترجمان مختلف از آن استفاده می کنند
مقدماتی مختلف که در obj2rad، واجد شرایط معتبر هستند مواد ، نقشه، گروه، شیء
و صورت. یک شرط یا یک مقدار واحد برای یک ویژگی خاص یا یک عدد صحیح است
محدوده مقادیر (محدوده های اعداد صحیح در پرانتز مشخص شده و با یک دونقطه از هم جدا می شوند، به عنوان مثال.
[-15:27]، و همیشه شامل می شوند.) نقطه ویرگول برای نشان دادن پایان یک قانون استفاده می شود،
که در صورت لزوم می تواند در چندین خط گسترش یابد.
معناشناسی قاعده به گونه ای است که «و» پیوند ضمنی بین است
شرایط بنابراین، وجود بیش از یک شرط در یک قاعده برای یک معین، معنی ندارد
واجد شرایط اگر کاربر بخواهد از همان مواد برای سطوحی استفاده شود که رضایت دارند
شرایط مختلف، آنها به سادگی قوانین بیشتری را اضافه می کنند. به عنوان مثال، اگر کاربر نیز می خواست
چهره های بین 50 و 175 در گروه "yohey" برای استفاده از "wood"، آنها موارد زیر را اضافه می کنند.
قانون تا انتهای مثال بالا:
چوب (وجه [50:175]) (گروه "یوهی") ;
توجه داشته باشید که ترتیب شرایط در یک قانون بی ربط است. با این حال، ترتیب قوانین است
بسیار مهم است، زیرا آخرین قانون برآورده تعیین می کند که یک سطح کدام ماده است
اختصاص داده.
طبق قرارداد، شناسه "void" برای حذف سطوح ناخواسته استفاده می شود. یک سطح است
همچنین در صورت عدم مطابقت با قوانین حذف می شود. Void در یک قانون مانند هر ماده دیگری استفاده می شود،
اما این اثر این است که تمام سطوح منطبق را از خروجی مترجم حذف می کند. برای
به عنوان مثال، نگاشت زیر تمام سطوح موجود در Object "junk" را به جز آنها حذف می کند
با نام گروه "beige" که ماده "beige_cloth" را به آن اختصاص می دهد
سطوح دیگر "چسبنده" خواهند بود:
چسبناک ;
void (شیء "آشغال") ;
beige_cloth (شیء "آشغال") (گروه "بژ") ;
La -n گزینه ممکن است برای تولید فهرستی از واجد شرایط استفاده شود که از آن می توان a را ساخت
نقشه برداری برای فایل .obj داده شده. این همچنین برای تعیین اینکه کدام مواد باید مفید باشد
زمانی که از نقشه برداری استفاده نمی شود، تعریف شود.
La -f از گزینه برای صاف کردن تمام چهره ها استفاده می شود و به طور موثری از راس عادی چشم پوشی می کند
اطلاعات این گاهی اوقات زمانی مطلوب است که یک مدل کوچکتر یا رندر قوی تر باشد
مطلوب است، زیرا درونیابی نرمال های راس زمان می برد و همیشه قابل اعتماد نیست.
La -o ممکن است از گزینه برای تعیین نام این شیء استفاده شود، اگرچه لغو خواهد شد
توسط هر عبارت "o" در فایل ورودی. اگر این گزینه وجود ندارد و "o" وجود ندارد
اظهارات، obj2rad سعی خواهد کرد سطوح را بر اساس ارتباط گروهی آنها نامگذاری کند.
اگر هیچ فایل ورودی داده نشود، ورودی استاندارد خوانده می شود.
جزئیات
عبارات Wavefront زیر توسط درک و ترجمه می شوند obj2rad.
# یک نظر. این عبارت کلمه به کلمه به خروجی منتقل می شود. هیچ تاثیری ندارد.
f صورت چند ضلعی. اگر رئوس دارای نرمال های سطحی باشند، صورت
با درخشندگی مناسب به چهار ضلعی و مثلث شکسته می شود
بافت ها برای درون یابی آنها. به همین ترتیب، اگر صورت غیر مسطح باشد، خواهد بود
به مثلث شکسته به هر چهره در فایل ورودی یک عدد اختصاص داده می شود،
با 1 شروع می شود و این عدد ممکن است در قوانین نقشه برداری مواد استفاده شود.
g انجمن گروهی چهرههای زیر با گروه(های) نامگذاری شده مرتبط هستند.
اینها ممکن است در قوانین نگاشت مورد استفاده قرار گیرند، جایی که یک قانون در صورت وجود مطابقت دارد
ارتباط با گروه نامگذاری شده (یعنی از آنجایی که ممکن است چندین گروه وجود داشته باشد
انجمن ها، هر تطابقی معتبر تلقی می شود.) اگر از فایل نگاشت استفاده نشود و
هیچ عبارت "usemtl" مشاهده نشده است، گروه اصلی برای
شناسه مواد سطحی
o نام شی این برای نامگذاری چهرههای زیر استفاده میشود و ممکن است در آن استفاده شود
قوانین نقشه برداری
نقشه کاربری نام یک نقشه بافت (یعنی الگوی درخشندگی). نام ممکن است در استفاده شود
قوانین نقشه برداری مواد، اما نمایه سازی الگوهای Radiance هنوز انجام نشده است
پشتیبانی.
usemtl یک نام مادی این نام ممکن است در قوانین نگاشت استفاده شود یا به عنوان استفاده شود
اگر نقشهبرداری داده نشود، شناسه ماده درخشندگی.
v یک راس که با مختصات x، y و z آن داده می شود.
vn یک راس نرمال که توسط مولفه های جهت x، y و z آن داده می شود. این بردار خواهد شد
توسط obj2rad، و اگر طول آن صفر باشد خطا ایجاد می شود.
vt مختصات بافت راس. در حال حاضر استفاده نمی شود، اما اگر ما هرگز استفاده کنیم
برای پشتیبانی از بافت های Wavefront.
تمام انواع دیگر دستورات در ورودی نادیده گرفته خواهند شد. آخرین نظر در پایان
فایل خروجی Radiance نشان می دهد که ترجمه چقدر موفقیت آمیز بوده است.
از آنجایی که تعداد عبارات را ذکر خواهد کرد obj2rad تشخیص نداد.
مثال
برای ایجاد یک لیست واجد شرایط برای triceratops.obj:
obj2rad -n triceratops.obj > triceratops.qual
برای ترجمه triceratops.obj به یک فایل RADIANCE با استفاده از نقشه برداری triceratops.map:
obj2rad -m triceratops.map triceratops.obj > triceratops.rad
NOTES
بسیاری از فایل های شیء Wavefront خوب و مفید توسط ftp ناشناس از در دسترس هستند
"avalon.chinalake.navy.mil" در پوشه /pub/objects/obj.
با استفاده از خدمات onworks.net از obj2rad به صورت آنلاین استفاده کنید