پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

پیاده‌سازی دوربین 2.5D (نمای سه‌چهارم) و حرکت شخصیت/ Implementation of 2.5D Camera (Quarter View) and Character Movement

دو روز پیش منتشر شده

تعداد بازدید: 32

کد پروژه: 534917


شرح پروژه

**اسلاید 2: مقدمه**

- پیاده‌سازی دوربین 2.5D (نمای سه‌چهارم) و حرکت شخصیت
  - **شرط 1**: شخصیت و دوربین باید بر اساس کلیدهای جهت کیبورد (بالا، پایین، چپ، راست) حرکت کنند.
  - **شرط 2**: شخصیت باید به جهتی که حرکت می‌کند، نگاه کند (چرخش مدل).

*توجه*: نیازی نیست که کد موجود در این سند را به‌طور دقیق دنبال کنید، تا زمانی که شرایط بالا رعایت شوند.

---

**اسلاید 3: کلاس اصلاح‌شده: Camera**

- قبلاً حرکت بر اساس جهت‌گیری دوربین بود.
- این کلاس به گونه‌ای اصلاح می‌شود که حرکت در جهت ثابت بر اساس مختصات جهانی باشد.
- جهت دید (m_target) ثابت باقی می‌ماند.

*نکته*: حرکت به سمت بالا/پایین (کلیدهای q و e) و ورودی ماوس حذف شود.

---

**اسلاید 4: کلاس جدید: Character**

- اضافه کردن کلاس Character که از کلاس Model ارث‌بری کرده است، برای پیاده‌سازی حرکت.
- **پیاده‌سازی حرکت**:
  - در تابع `Update()` از `Renderable::Translate()` برای حرکت استفاده کنید.
  - `Translate()` بر اساس موقعیت فعلی حرکت می‌کند، بنابراین آن را طوری پیاده‌سازی کنید که بر اساس تفاضل `m_targetPosition` و `m_currentPosition` حرکت کند.

---

**اسلاید 5: کلاس جدید: Character (چرخش)**

- **پیاده‌سازی چرخش**:
  - از `Renderable::RotateY()` برای چرخش بر اساس مختصات جهانی استفاده کنید.
  - تابع `RotateYInObjectCoordinate(float angle, XMVector objectOffset)` را برای چرخش نسبی نسبت به مختصات شیء ایجاد کنید.
  - از `CharacterDirection` enum برای نشان دادن جهت فعلی شخصیت استفاده کنید.
  - زاویه چرخش را از جهت فعلی محاسبه کنید (از دستورات if یا switch استفاده کنید).

*توجه*: برای رادیان‌ها از `XMMatrixRotationY(angle)` استفاده کنید و برای تبدیل درجه به رادیان از `XMConvertToRadians(degree)` استفاده کنید.

---

**اسلاید 6: کلاس اصلاح‌شده: Renderer**

- Renderer باید علاوه بر فراخوانی `HandleInput()` برای دوربین، آن را برای شخصیت نیز فراخوانی کند.
- یک اشاره‌گر در Renderer اضافه کنید تا به شخصیت دسترسی داشته باشید.
- `SetCharacter()` را در Renderer پیاده‌سازی کنید تا اشاره‌گر شخصیت را تنظیم کند و در `Renderer::HandleInput()` ورودی‌های شخصیت را مدیریت کند.
- `SetCharacter()` را در `Game/Main.cpp` فراخوانی کنید.

---

موارد مورد نظر تکلیف برای نمره دادن که حتما باید در نظر داشت:


- ارسال یک فایل فشرده از کل پروژه (شامل پوشه‌های Build, Data, External, Library, Source).
- **ارزیابی (مجموع: 10 امتیاز):**
  1. اجرای پنجره پایه و رندرینگ مدل (با نورپردازی Phong): **2 امتیاز**.
  2. حرکت دوربین بر اساس ورودی کلیدهای بالا، پایین، چپ، راست (مختصات جهانی): **2 امتیاز**.
  3. حرکت مدل بر اساس ورودی کلیدهای بالا، پایین، چپ، راست: **3 امتیاز**.
  4. چرخش مدل بر اساس ورودی کلیدهای بالا، پایین، چپ، راست: **3 امتیاز**.

---

**اسلاید 8: کارهای مورد نیاز**

- **اصلاح کتابخانه/Camera**:
  - ورودی ماوس و کد چرخش را حذف کنید.
  - `HandleInput()` و `Update()` را اصلاح کنید.
- **اضافه کردن کتابخانه/Character**:
  - `HandleInput()` و `Update()` را پیاده‌سازی کنید (برای چرخش و حرکت).
- **اصلاح کتابخانه/Renderer**:
  - `HandleInput()` را اصلاح کنید.
  - `SetCharacter()` را اضافه کنید.
- تنظیمات کلی:
  - تعداد نورها را تنظیم کنید.
  - فایل `Game/Main.cpp` را اصلاح کنید.
  - ورودی ماوس را در `Library/MainWindow` و `HandleInput()` حذف کنید.

-------

ممنون میشم تماس بگیرید برای همکاری

این پروژه شامل 4 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


بودجه

750,000 تومان تا 5,000,000 تومان

مهلت برای انجام

9روز

وضعیت مناقصه

باز (آماده دریافت پیشنهاد)


درباره کارفرما

عضویت دو سال پیش

40 پروژه ثبت شده ،
0 پروژه در حال انجام ،
1 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 60%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ارسال پیشنهاد قیمت

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار