کتاب C++ Game Animation Programming, 2nd Edition: Learn modern animation techniques from theory to implementation using C++, OpenGL, and Vulkan (برنامهنویسی انیمیشن بازی C++، ویرایش دوم: تکنیکهای انیمیشن مدرن را از تئوری تا اجرا با استفاده از C++، OpenGL و Vulkan بیاموزید.) با استفاده از کتابخانههای معروف مانند OpenGL و Vulkan و همچنین زبان ++C ایجاد انیمیشن در بازی را آموزش خواهد داد.
در ادامه مقدمهای از کتاب C++ Game Animation Programming را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب C++ Game Animation Programming:
انیمیشنهای شخصیتی از زمانی که اولین بازیها برای کامپیوتر ساخته شدند وجود داشتهاند. سفینههای فضایی در جنگ فضایی! که توسط استیو راسل در سال ۱۹۶۲ برای PDP-۱ نوشته شد، و فضای کامپیوتری توسط نولان بوشنل که در سال ۱۹۷۱ به عنوان کابینت آرکید منتشر شد، متحرک شدند و انیمیشن جهت حرکت سفینههای فضایی را نشان میداد.
با گذشت زمان، تکامل انیمیشن شخصیتها از این گرافیکهای شطرنجی که توسط پرتو الکترونی داخل لوله پرتوی کاتدی تلویزیونهای قدیمی کشیده شده بود، به تصاویر دو بعدی ساده (به اصطلاح «جن») رسید.
این جنها با دست، تصویر به تصویر کشیده شدهاند و هر یک از این تصاویر فاز انیمیشن متفاوتی را نشان میدهد. برای ایجاد توهم انیمیشنهای بلادرنگ، تصاویر به سرعت یکی پس از دیگری مانند کارتون نمایش داده میشدند. شخصیتهای اصلی Pac-Man و Super Mario Bros فقط مجموعهای از تصاویر دوبعدی هستند که با زمانبندی مناسب بین جن و حرکت آنها بر روی صفحه، زنده میشوند.
در نهایت، مدلهای شخصیت بهاشیاء سه بعدی واقعی تبدیل شدند. اول، آنها به سادگی از دهها مثلث ساخته شده بودند، و با قدرتمندتر شدن سختافزار گرافیکی، اعداد بزرگتر و بزرگتر شدند.
مدلهای سه بعدی کنونی میتوانند بیش از ۵۰۰۰۰۰ چند ضلعی داشته باشند و حتی این شخصیتها بهراحتی در زمان واقعی متحرک میشوند.
کتاب C++ Game Animation Programming با نگاهی دقیقتر به اصول اجزای شخصیت و انیمیشن، انیمیشن شخصیتهای بازی سه بعدی را پوشش میدهد. پس از توضیح عناصر نظری انیمیشن، نمونهای از پیادهسازی را ارائه میدهیم که شما را از مرحله مفهومی به استفاده در دنیای واقعی در یک برنامه راهنمایی میکند. با این دانش، بدون در نظر گرفتن زبان برنامهنویسی یا API رندر، قادر خواهید بود یک سیستم انیمیشن مشابه را پیادهسازی کنید.
بیشتر بخوانید: کتاب Creating an RTS Game in Unity 2023
کتاب C++ Game Animation Programming برای چه کسی است؟
این کتاب برای برنامهنویسانی است که میخواهند به «پشت پرده» انیمیشن شخصیتها در بازیها نگاه کنند. شما باید با C++ آشنا باشید و بهتر است یک نسخه مدرن مانند C++۱۷ داشته باشید.
دانش اولیه یک خط لوله رندر نیز مفید خواهد بود، اما لازم نیست، زیرا در کتاب پوشش داده شده است. مهارتهای باقیمانده، از جمله باز کردن یک پنجره، تهیه API رندر برای ترسیم مثلثها و بارگذاری مدلها و متحرک کردن آنها نیز در سراسر کتاب توضیح داده خواهد شد.
آنچه کتاب C++ Game Animation Programming پوشش میدهد:
فصل ۱، ایجاد پنجره بازی، مراحل اولیه باز کردن یک پنجره را با استفاده از GLFW، یک کتابخانه مدیریت پنجره بین پلتفرمی سبک، پوشش میدهد. پنجره برای شناسایی OpenGL ۴. ۶ و Vulkan ۱. ۱ افزایش مییابد. کدی برای مدیریت رویدادهای پنجره مانند تغییر اندازه و جابجایی اضافه خواهد شد و به دنبال آن مقدمهای در مورد استفاده از صفحه کلید و ماوس به عنوان دستگاه ورودی ارائه میشود.
فصل ۲، ساخت یک رندر OpenGL ۴، نحوه ایجاد یک رندر اولیه OpenGL ۴ را توضیح میدهد که میتواند یک چهارگوش بافت دار متشکل از دو مثلث را نمایش دهد.
فصل ۳، ساخت یک رندر Vulkan API، ایجاد یک رندر شبیه به فصل ۲ را بررسی میکند، اما در عوض از Vulkan API جدیدتر برای نمایش چهار بافت بافتی استفاده میکند.
فصل ۴، کار با شیدرها، سایهزنهای مختلف خط لوله گرافیکی OpenGL و Vulkan، انواع بافر و نحوه دسترسی به متغیرهای سایهزنها از کد رندر را پوشش میدهد. در پایان فصل چهار کتاب C++ Game Animation Programming، قسمتهای یک رأس و یک قطعه سایه زن مورد بحث قرار میگیرد.
فصل ۵، افزودن Dear ImGui برای نمایش اطلاعات ارزشمند، توضیح میدهد که چگونه میتوان یک رابط کاربری ساده به هر دو رندر اضافه کرد تا اطلاعاتی در مورد فرآیند رندر نمایش داده شود، مانند فریم در ثانیه یا زمانبندی بخشهای کد. همچنین، چک باکسها، دکمهها و لغزندهها برای کنترل پارامترهای رندر به UI اضافه میشوند.
فصل ۶، درک بردار و ماتریس، خلاصهای سریع از انواع دادههای یک بردار و یک ماتریس، تبدیل آنها و عملیات آنها است.
فصل هفتم کتاب C++ Game Animation Programming، پرایمری در مورد کواترنیونها و اسپلاینها، مزیت کواترنیونها را نسبت به عملیات ماتریس توضیح میدهد و برخی از انواع اسپلاین را که در انیمیشنهای شخصیتهای بازی استفاده میشوند، معرفی میکند.
فصل ۸، بارگیری مدلها در قالب glTF، موارد داخلی قالب فایل glTF را پوشش میدهد. glTF یک فرمت فایل باز است که توسط بسیاری از ابزارهای ایجاد محتوای سه بعدی پشتیبانی میشود. بارگیری این فرمت به شما امکان میدهد مدلها و انیمیشنهای ایجاد شده در بسیاری از ابزارهای ایجاد سه بعدی را در برنامه مشاهده کنید.
فصل ۹، اسکلت و پوست مدل، اسکلت داخلی یک مدل را به عنوان پایهای برای انیمیشن، به علاوه پوسته رئوس برای مطابقت با حالتهای مختلف اسکلت پوشش میدهد. روشهای مختلف برای اعمال پوسته رأس در این فصل از کتاب C++ Game Animation Programming مورد بحث قرار خواهد گرفت.
فصل ۱۰ کتاب C++ Game Animation Programming، درباره ژستها، فریمها و کلیپها، انواع مختلف دادههای مورد نیاز برای انیمیشن شخصیتها را توضیح میدهد و به شما این امکان را میدهد که از یک ژست مدل ساده به یک کلیپ انیمیشن کامل برسید.
فصل ۱۱، ترکیب بین انیمیشنها، روشهای مختلف ترکیب را برای حالت متحرک نشان میدهد. این فصل از کتاب C++ Game Animation Programming ترکیب ساده بین یک ژست اصلی و یک کلیپ انیمیشن، ترکیب متقابل بین کلیپهای مختلف، و ترکیب افزودنی برای ترکیب کلیپهای مختلف را پوشش میدهد.
فصل ۱۲، پاکسازی رابط کاربری، رابط کاربری ایجاد شده در فصل ۴ را با عناصر قابل تعامل بیشتر برای کاربر، مانند جعبههای ترکیبی و دکمههای رادیویی، بهبود میبخشد. این کنترلها امکان تغییر پارامترهای انیمیشن را در زمان واقعی فراهم میکند. علاوه بر این، مقادیر تایمر برای بخشهای کد به صورت نمودارهای گرافیکی تجسم خواهند شد.
فصل ۱۳، پیادهسازی سینماتیک معکوس، نحوه استفاده از سینماتیک معکوس را برای دستیابی به تعامل بین یک شخصیت و محیط آن توضیح میدهد. دو روش سینماتیک معکوس، نزول مختصات چرخهای (CCD) و سینماتیک معکوس رسیدن به جلو و عقب (FABRIK) توضیح و پیادهسازی خواهد شد.
فصل ۱۴ کتاب C++ Game Animation Programming، ایجاد جمعیت نمونه، نحوه اضافه کردن بیش از یک مدل به یک صحنه، به علاوه روشهای مختلف برای انتقال دادههای مدل به حافظه گرافیکی را نشان میدهد.
فصل ۱۵، اندازهگیری عملکرد و بهینهسازی کد، روشهایی را برای یافتن تنگناها با پروفایل کد و استفاده از RenderDoc برای تجزیه و تحلیل خط لوله گرافیکی معرفی میکند. همچنینایدههایی برای انتقال محاسبات از زمان اجرا به زمان کامپایل ارائه میدهد و اهمیت مقیاسبندی را برای به دست آوردن نتایج معنی دار بررسی میکند.
سرفصلهای کتاب C++ Game Animation Programming:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- Dedicated
- Table of Contents
- Preface
- Part 1: Building a Graphics Renderer
- Chapter 1: Creating the Game Window
- Chapter 2: Building an OpenGL 4 Renderer
- Chapter 3: Building a Vulkan Renderer
- Chapter 4: Working with Shaders
- Chapter 5: Adding Dear ImGui to Show Valuable Information
- Part 2: Mathematics Roundup
- Chapter 6: Understanding Vector and Matrix
- Chapter 7: A Primer on Quaternions and Splines
- Part 3: Working with Models and Animations
- Chapter 8: Loading Models in the glTF Format
- Chapter 9: The Model Skeleton and Skin
- Chapter 10: About Poses, Frames, and Clips
- Chapter 11: Blending between Animations
- Part 4: Advancing Your Code to the Next Level
- Chapter 12: Cleaning Up the User Interface
- Chapter 13: Implementing Inverse Kinematics
- Chapter 14: Creating Instanced Crowds
- Chapter 15: Measuring Performance and Optimizing the Code
- Index
- Other Books You May Enjoy
جهت دانلود کتاب C++ Game Animation Programming میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.