نمایش نتایج 1 تا 8 از 8

نام تاپیک: آوردن object از قبل طراحی شده به opengl

  1. #1

    آوردن object از قبل طراحی شده به opengl

    سلام

    من می خوام یک object رو در یک برنامه ی دیگه مثلا 3d max یا برنامه ای دیگه طراحی کنم و بعد این object رو توی opengl لود کنم و همچنین بتونم اندام این object رو توی برنامه ای که می نویسم تکون بدم! مثلا یک شی ای که یک بازو داره-من می خوام بازوی این شی رو تکون بدم.

    چطوری می تونم این کار رو انجام بدم؟ object باید از چه نوعی باشه؟

  2. #2

    نقل قول: آوردن object از قبل طراحی شده به opengl

    خب شما مي توني لودرهاي مختلفي براي قالبهاي مختلف پيدا كني. مثلا ميتونه از 3ds و يا obj براي مشهاي استاتيك استفاده كني.

    لودر obj:
    http://nehe.gamedev.net/data/lessons....asp?lesson=25

    لود كردن .3ds:
    http://www.gamedev.net/page/resource...ds-files-r1259

    براي انيميشنهاي اسكلتي گزينه هاي كمتري داري و يكي از بهترين اونها ms3d (milk shape هست:

    مقاله لود كردن ms3d:
    http://nehe.gamedev.net/data/lessons....asp?lesson=31

    يكي از بهترين گزينه ها .x هست كه خيلي راحت ميتوني هم اكسپورتر و هم لودر براش پيدا كني.

    اگر در زمينه لود كردن فايلهاي 3d و ... تجربه نداري بهتره كه كتاب زير رو بخوني:
    focus on 3d models

    يه كتابخونه حاضري به اسم assimp براي لود كردن فايلهاي مدل وجود داره و يه رنج بزرگ از قالبها رو ساپورت ميكنه:
    http://assimp.sourceforge.net/

    اما در مورد اكسپورتر بايد خودت دست به كار شي.

  3. #3

    نقل قول: آوردن object از قبل طراحی شده به opengl

    سلام

    اگر من یک object رو با پسوند 3ds لود کنم چه جوری می تونم تو برنامه دستکاریش کنم؟ مثلا فرض کنید اگر object ما یک ماشین باشه چه جوری می تونم تو برنامه چرخ این ماشین رو بچرخونم؟

    خیلی ممنون از راهنماییتون

  4. #4

    نقل قول: آوردن object از قبل طراحی شده به opengl

    تا اونجا كه يادم مياد داخل فرمت 3ds آبكتهاي مختلف از هم جدا بودن. و هر كدوم يه اسم داشتن. ميتوني از اون اسم براي پيدا كردن آآبجكتت استفاده كني. اما راه راحتر اينه كه چرخها رو توي يه فايل ديگه بذاري.

    فرمتهاي اسكتلي معمولا امكان bind رو فراهم مي كنن و فكر كنم md3 بود كه يه چيز مثل تگ داشت و امكان متصل شدن اشياء مختلف رو ميداد.

    اما اينكه چه جوري چرخ رو به چرخوني بر ميگرده به برنامه نويسي OpenGL و 3D كه معمولا براي مبتديها دستور glRotatef پيشنهاد ميشه.

  5. #5
    کاربر دائمی آواتار ژوپیتر
    تاریخ عضویت
    آبان 1389
    محل زندگی
    منظومه شمسی
    پست
    120

    نقل قول: آوردن object از قبل طراحی شده به opengl

    3dmax در یکی از فرمتهای ذخیره سازیش به صورت ASCII File هم ذخیره میکنه که میتونی راحت فایل رو بخونی و هر شیا رو با نام، مرکز، ابعاد رنگ و غیره ذخیره میکنه.
    من چند سال پیش با DirectX کار میکردم که کامپوننتی رو روی ماکس نصب کردم که برای اکسپورت فایلهای .X بود و راحت در Direct3D استفاده میکردم، اگه با API های OpenGL کار میکنی، فکر کنم خود API ها فایلهای .X رو لود میکنند.

  6. #6

    نقل قول: آوردن object از قبل طراحی شده به opengl

    فکر کنم خود API ها فایلهای .X رو لود میکنند
    OpenGL یه API خالی هست یا به اصطلاح raw و هیچ فرمت فایلی رو سا‍پورت نمی کنه. خود شما باید اون فرمت رو براش تعریف کنی

  7. #7

    نقل قول: آوردن object از قبل طراحی شده به opengl

    براي اينكه بخواهين چرخ ماشين بچرخه معقول نيست در api اين كار رو بكني!!!

    اينكار بايد در مدل سه بعدي بصورت انيميشن شود.

    ايده بدين صورت است كه همه حالات ممكن براي يك مدل را در نظير مي گيرد و سپس اون مدل را مي سازيد. در برنامه يا گيم به فريم يا فريم هاي مورد نظر دسترسي پيدا مي كنيد.

    مثلا براي يك انسان:
    راه رفتن
    تير زدن
    نشستن
    و ....

    انيميشن هاي اين ها همه را در يك مدل سه بعدي ميسازي
    زمان استفاده مثلا به راه رفتن نياز داري
    ميروي سربخت لود كردن فريم هاي راه رفتن

    همين!

  8. #8
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: آوردن object از قبل طراحی شده به opengl

    سلام.
    میتونید اطلاعات Object مثل مش و متریال و انیمیشن و ... رو با MaxScript تو یه فایل باینری با هر ترتیبی که دوست داری بنویسی و ذخیره کنی و در برنامت با همون ترتیب اونو لود کنی .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •