کتاب Mastering C++ Game Animation Programming: Enhance your skills with advanced game animation techniques in C++, OpenGL, and Vulkan (تسلط بر برنامهنویسی انیمیشن بازی با ++C: مهارتهای خود را با تکنیکهای پیشرفته انیمیشن بازی در ++C، OpenGL و Vulkan ارتقا دهید) یک منبع آموزشی جامع برای توسعهدهندگانی است که قصد دارند مهارتهای خود را در زمینه انیمیشنهای پیشرفته بازی با استفاده از زبان برنامهنویسی ++C، API گرافیکی OpenGL و API گرافیکی سطح پایین Vulkan ارتقا دهند.
این کتاب به بررسی تکنیکهای گوناگون انیمیشنسازی در بازیها میپردازد و با ارائه مثالهای عملی و کاربردی، خوانندگان را قادر میسازد تا انیمیشنهای پیچیده و جذاب را پیادهسازی کنند.
در ادامه مقدمهای از کتاب Mastering C++ Game Animation Programming را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Mastering C++ Game Animation Programming:
آیا تا به حال برایتان پیش آمده که در یک بازی اول شخص یا سوم شخص، شخصیت بازیکن و دشمنان را در حال دویدن و پریدن، شلیک کردن و جاخالی دادن تماشا کنید، در حالی که شما دکمهها را فشار میدهید و به اهداف شلیک میکنید، و از خودتان بپرسید:
صبر کنید… چطور همه شخصیتها روی زمین میمانند؟ از کجا میدانند دیوارها کجا هستند؟ و چطور دکمه میفهمد که من آن را فشار دادهام نه همتیمیام؟
برای پاسخ به این سؤالات، باید یک موتور بازیسازی مدرن سه بعدی مانند Unreal Engine، Unity یا Godot را اجرا کنید. شما با مدلها و انیمیشنها، سطوح، داراییها، منوها و سایر اشیاء بازی خواهید کرد. با گذراندن آموزشها و ویدیوها، یاد خواهید گرفت که چگونه دنیایی شبیه به بازی مورد علاقهتان بسازید و از آنچه به دست آوردهاید خوشحال خواهید شد.
اما اگر عطش شما برای جزئیات سطح پایین، برای پیادهسازی چندین ویژگی، همچنان باقی بماند چه؟ حتی پس از انتقال از برنامهنویسی بصری به زبانهای برنامهنویسی زیربنایی موتور سه بعدی، هنوز راضی نیستید. پیچیدگی کد آنقدر زیاد است که نمیتوان فقط اصول اولیه را از آن یاد گرفت. بنابراین، شما دوباره در راه جستجوی پاسخ آن سؤالات هستید…
آیا این برایتان آشنا به نظر میرسد؟ بسیاری از برنامهنویسان بازی با چنین کنجکاوی، تمایل به نگاه کردن “زیر کاپوت” چیزهایی که میبینند، و اشتیاق به درک چگونگی متحرکسازی مدلها و ترکیب انیمیشنها شروع میکنند. این ممکن است نحوه کار انیمیشنهای صورت یا یک “تکان دادن” ساده سر باشد، یا چگونه شخصیتها روی چندضلعیهای زمین سطح راه میروند و میدوند اما از دیوارها عبور نمیکنند.
هدف کتاب Mastering C++ Game Animation Programming پاسخ دادن به سؤالات شما در مورد جزئیات پیادهسازی انیمیشنهای شخصیت بازی سه بعدی است. شما کار را با چیزی بیش از یک رندرکننده OpenGL یا Vulkan ابتدایی برای رسم مثلثها روی صفحه شروع خواهید کرد – و سپس در تمام مسیر سربالایی راهنمایی خواهید شد، از بارگیری یک مدل شخصیت واحد از یک فایل تا چندین نمونه از مدلهای مختلف که در یک نقشه بازی پرسه میزنند، تشخیص و اجتناب از دیوارها و سایر نمونهها در دنیای مجازی، دنبال کردن مسیرهای از پیش تعیین شده و توانایی تعامل با نمونه دیگر.
با دانشی که از کتاب Mastering C++ Game Animation Programming به دست میآورید، انیمیشنهای موجود در بازیها را با دیدگاهی متفاوت خواهید دید و بسیار لبخند خواهید زد زیرا میدانید چگونه ساخته شدهاند.
مخاطبان کتاب Mastering C++ Game Animation Programming:
اگر با ++C و انیمیشنهای شخصیت آشنا هستید اما میخواهید در مورد جزئیات پیادهسازی و مباحث پیشرفته انیمیشن شخصیت، مشابه انیمیشنهای موجود در بازیهای سه بعدی، بیشتر بدانید، این کتاب برای شما مناسب است.
آنچه کتاب Mastering C++ Game Animation Programming پوشش میدهد:
فصل 1، کار با کتابخانه واردات دارایی باز، مروری بر ساختارهای داده کتابخانه واردات دارایی باز (یا assimp) ارائه میدهد و توضیح میدهد که چگونه یک مدل شخصیت را از یک فایل بارگیری کنید. فرآیند بارگیری فایل با افزودن یک دیالوگ Open File مبتنی بر ImGui بهبود مییابد. علاوه بر این، کد افزودن و حذف مدل و نمونهها در زمان اجرا پوشش داده خواهد شد.
فصل 2، انتقال محاسبات انیمیشن از CPU به GPU، شیدرهای محاسباتی را برای انتقال محاسبات به پردازنده گرافیکی و ذخیره دادههای جستجو در حافظه GPU معرفی میکند. با استفاده از معماری موازی گسترده GPU، محاسبه موقعیت گرههای تمام نمونهها تسریع میشود و CPU برای کارهای دیگر آزاد میشود.
فصل 3، افزودن یک انتخاب بصری، توضیح میدهد که چگونه از کاربر برنامه در انتخاب نمونه شخصیت پشتیبانی شود. علاوه بر برجسته کردن نمونه انتخاب شده فعلی روی صفحه، امکان انتخاب هر نمونه با استفاده از ماوس اضافه خواهد شد.
فصل 4، بهبود مدیریت برنامه، جداسازی برنامه به یک حالت مشاهده و یک حالت ویرایش با تنظیمات تا حدی متفاوت را معرفی میکند. همچنین، عملیاتهای undo و redo پیادهسازی خواهند شد.
فصل 5 کتاب Mastering C++ Game Animation Programming، ذخیره و بارگیری تنظیمات، ذخیره تنظیمات فعلی برنامه به همراه مدلهای بارگیری شده و نمونههای ایجاد شده در یک فایل YAML و همچنین بارگیری تنظیمات از یک فایل به برنامه را پوشش میدهد.
فصل 6، گسترش مدیریت دوربین، نشان میدهد که چگونه انواع و تنظیمات مختلف دوربین را میتوان اضافه کرد. تنظیمات جدید دوربین شامل پروجکشن ارتوگونال و نماهای اول شخص و سوم شخص است.
فصل 7، بهبود کنترلهای انیمیشن، ترکیب انیمیشن پایه، حالتهای عمل و پیوند دادن حالتهای عمل با کلیپهای انیمیشن را پوشش میدهد. در پایان فصل، شما قادر خواهید بود نمونهها را با استفاده از صفحه کلید و ماوس کنترل کنید، از جمله اقدامات اضافی مانند پریدن، غلتیدن یا دست تکان دادن.
فصل 8، مقدمهای بر تشخیص برخورد، مسیر تشخیص برخورد نمونه/نمونه و واکنش به برخوردها را بر اساس یک درخت چهارتایی، جعبههای محدودکننده محور-تراز و کرههای محدودکننده توضیح میدهد.
فصل 9 کتاب Mastering C++ Game Animation Programming، افزودن رفتار و تعامل، یک ویرایشگر گرافیکی مبتنی بر گره برای کنترل رفتار نمونه با ایجاد و اتصال گرههای ساده اضافه میکند. گرهها برای پوشش یک تعامل قابل تنظیم بین نمونهها گسترش خواهند یافت.
فصل 10، ترکیب انیمیشن پیشرفته، انیمیشنهای صورت برای بیان احساسات و ترکیب انیمیشن افزودنی برای حرکت مستقل سر از بقیه بدن مدل شخصیت را معرفی میکند.
فصل 11، بارگیری نقشه بازی، تفاوتهای بین نمونههای مدل شخصیت پویا و هندسه سطح ثابت و نحوه بارگیری و پردازش دادههای سطح برای دستیابی به عملکرد خوب را توضیح میدهد.
فصل 12 کتاب Mastering C++ Game Animation Programming، تشخیص برخورد پیشرفته، تشخیص برخورد را به هندسه سطح اضافه شده در فصل 11 گسترش میدهد. جاذبه ساده برای نگه داشتن نمونههای مدل روی کف سطح اضافه میشود و خواهید دید که چگونه از برخورد نمونهها با دیوارها جلوگیری کنید.
فصل 13، افزودن ناوبری ساده، مسیریابی و ناوبری در داخل نقشه بازی بارگیری شده را پوشش میدهد. یک الگوریتم مسیریابی شناخته شده برای اجازه دادن به نمونهها برای پرسه زدن آزادانه در سطح استفاده خواهد شد.
فصل 14 کتاب Mastering C++ Game Animation Programming، ایجاد دنیاهای تعاملی فراگیر، نکاتی و منابعی را در مورد چگونگی افزودن ویژگیهای جالبتر به ویرایشگر مدل شخصیت ارائه میدهد و کد را گام به گام به یک موتور بازی ساده ارتقا میدهد.
سرفصلهای کتاب Mastering C++ Game Animation Programming:
- Cover
- Title page
- Copyright and credits
- Contributors
- Table of Contents
- Preface
- Part 1: Populating the World with the Game Character Models
- Chapter 1: Working with Open Asset Import Library
- Chapter 2: Moving Animation Calculations from CPU to GPU
- Chapter 3: Adding a Visual Selection
- Part 2: Transforming the Model Viewer into an Animation Editor
- Chapter 4: Enhancing Application Handling
- Chapter 5: Saving and Loading the Configuration
- Chapter 6: Extending Camera Handling
- Part 3: Tuning Character Animations
- Chapter 7: Enhancing Animation Controls
- Chapter 8: An Introduction to Collision Detection
- Chapter 9: Adding Behavior and Interaction
- Chapter 10: Advanced Animation Blending
- Part 4: Enhancing Your Virtual World
- Chapter 11: Loading a Game Map
- Chapter 12: Advanced Collision Detection
- Chapter 13: Adding Simple Navigation
- Chapter 14: Creating Immersive Interactive Worlds
- Other Books You May Enjoy
- Index
جهت دانلود کتاب Mastering C++ Game Animation Programming میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.