فروشگاه اولترا بازی سازی، انیمیشن، جلوه های ویژه و موسیقی

ارسال محتوای دیجیتال شما
صفحه 2 از 3 نخستنخست 123 آخرینآخرین
نمایش نتایج: از 11 به 20 از 25

موضوع: عدم تطابق سرعت حرکت در دستگاه های مختلف

  1. Top | #1

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۵
    شماره عضویت
    7809
    نوشته ها
    13
    تشکر
    15
    تشکر شده 1 بار در 1 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان

    Red face عدم تطابق سرعت حرکت در دستگاه های مختلف

    سلام و عرض ادب خدمت دوستان عزیز و بزرگان یونیتی ایران

    من تو پروژم به یه مشکلی خوردم که چند روزه هرکاری میکنم درست نمیشه!

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

    حالا مشکل اینجاست که قدرت حرکتی متفاوت رو با توجه به قدرت متفاوت دو دستگاه تو دو بازی میبینیم

    با Time.deltatime خیلی سرو کله زدم تا درستش کنم ولی نشد نمونه کد حرکتی به شکل زیره

    GetComponent<Rigidbody>().AddForce(outPowered,ForceMode.Impulse);

    outPowered به عنوان vector3 هستش.

  2. Top | #11

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۵
    شماره عضویت
    7809
    نوشته ها
    13
    تشکر
    15
    تشکر شده 1 بار در 1 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    نقل قول نوشته اصلی توسط pyman_unity نمایش پست ها
    من توی فیزیک ضعیفم
    اما میتونی وقتی مهره اول که با مهره دوم برخورد داشت مختصات مهره دوم که حرکت کرده (وقتی در جای خودش ثابت شد ) رو به دستگاه دوم بفرستی و اونم حرکت کنه به اونجا همچنین چرخش
    نمدونم روش فکر کن شاید پیشنهاد خوبی باشه و کمکت کنه !!!
    ممنونم از وقتی که میذارید
    رو این مورد هم فکر کردم قبلا و عملی نیست چون توپ تو مسیر به دیوار بخورد میکنه یا مهره های دیگه اگه من فقط مقصد رو بدم بهش حرکت ها کاملا متفاوت میشه

  3. Top | #12

    عنوان کاربر
    تاریخ عضویت
    مه‍ ۱۳۹۲
    شماره عضویت
    3734
    نوشته ها
    262
    تشکر
    647
    تشکر شده 84 بار در 61 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    شرمنده میدونم چی مگی ولی این روش من و تو درست نیست
    بازی های خارجی از یک روش دیگه استفاده میکنند روشی مثل replay که هرچی روی این سیستم اتفاق میفته روی اون سیستم هم انجام میشه
    یه پکیج های هستند که این کار رو میکنند منظورم replay هست شاید با یکم تغییر تونستی درستش کنی
    اگه به نتیجه رسیدی ما رو هم بی خبر نزار
    امضای ایشان
    ------------------------------------------------------
    - کاش زندگی یه دکمه شیفت دلیت داشت -
    ------------------------------------------------------

  4. کاربر زیر به خاطر ارسال مفید pyman_unity از ایشان تشکر کرده است:

    7tarrah (۰۹-۱۱-۱۳۹۵)

  5. Top | #13

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۵
    شماره عضویت
    7809
    نوشته ها
    13
    تشکر
    15
    تشکر شده 1 بار در 1 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    نقل قول نوشته اصلی توسط pyman_unity نمایش پست ها
    شرمنده میدونم چی مگی ولی این روش من و تو درست نیست
    بازی های خارجی از یک روش دیگه استفاده میکنند روشی مثل replay که هرچی روی این سیستم اتفاق میفته روی اون سیستم هم انجام میشه
    یه پکیج های هستند که این کار رو میکنند منظورم replay هست شاید با یکم تغییر تونستی درستش کنی
    اگه به نتیجه رسیدی ما رو هم بی خبر نزار
    دشمنت شرمنده داداش.
    چشم حتما در جریان میذارم.خیلی اذیتم کرده این موضوع الآن 6-7 روز شده بدون پیشرفت موندم پروژه هم بدون پبشرفت باشه انگیزه رو میگیره

    اینکه همه موارد رو نمیخوام ضبط بشه بخاطر اینه که دیتابیس سنگین نشه ولی به نظر چاره ای جز اون نیست

  6. Top | #14

    عنوان کاربر
    تاریخ عضویت
    مه‍ ۱۳۹۲
    شماره عضویت
    3734
    نوشته ها
    262
    تشکر
    647
    تشکر شده 84 بار در 61 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    راستی یادم رفت بگم FixedUpdate رو هم امتحان کن
    چون FixedUpdate کاری به فریم نداره و تعداد اجرای اون ثابت هست و بیشتر بازی سازها از این برای محاسبه فیزیک استفاده میکنند
    موفق باشید
    ویرایش توسط pyman_unity : ۰۹-۱۱-۱۳۹۵ در ساعت ۰۷:۱۳ قبل از ظهر
    امضای ایشان
    ------------------------------------------------------
    - کاش زندگی یه دکمه شیفت دلیت داشت -
    ------------------------------------------------------

  7. کاربر زیر به خاطر ارسال مفید pyman_unity از ایشان تشکر کرده است:

    7tarrah (۰۹-۱۱-۱۳۹۵)

  8. Top | #15

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۵
    شماره عضویت
    7809
    نوشته ها
    13
    تشکر
    15
    تشکر شده 1 بار در 1 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    نقل قول نوشته اصلی توسط pyman_unity نمایش پست ها
    راستی یادم رفت بگم FixedUpdate رو هم امتحان کن
    چون FixedUpdate کاری به فریم نداره و تعداد اجرای اون ثابت هست و بیشتر بازی سازها از این برای محاسبه فیزیک استفاده میکنند
    موفق باشید
    ممنون
    یه راهنمایی میکنی که متوجه بشم چطور ازش استفاده کنم
    این کد هستش
    GetComponent<Rigidbody>().AddForce(outPowered,ForceMode.Impulse);
    که outpowered وکتور 3 هستش
    چطور باید این کد رو تو fixedupdate تکرار کنم که یک حرکت رو داشته باشم
    خیلی خیلی ممنونم

  9. Top | #16

    عنوان کاربر
    تاریخ عضویت
    مه‍ ۱۳۹۲
    شماره عضویت
    3734
    نوشته ها
    262
    تشکر
    647
    تشکر شده 84 بار در 61 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    به جای فانکشنUpdate
    بنویس FixedUpdate
    اسمشو تغییر بده
    معلومه که تازه کاری بعد امدی یه بازی خیلی سخت گرفتی بهتره که اینو بزاری برای بعد
    فعلا یک ایده ساده تر بگیری تا راه بیفتی وگرنه وقتتو هدر میدی در اخر کار هم اون چیزی که میخای در نمیاد بعد افسرده میشی
    بعدش هم انرژی نمیمونه تا دوباره شروع کنی
    اینو تجربه میگه
    امضای ایشان
    ------------------------------------------------------
    - کاش زندگی یه دکمه شیفت دلیت داشت -
    ------------------------------------------------------

  10. کاربر زیر به خاطر ارسال مفید pyman_unity از ایشان تشکر کرده است:

    7tarrah (۰۹-۱۲-۱۳۹۵)

  11. Top | #17

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۵
    شماره عضویت
    7809
    نوشته ها
    13
    تشکر
    15
    تشکر شده 1 بار در 1 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    نقل قول نوشته اصلی توسط pyman_unity نمایش پست ها
    به جای فانکشنUpdate
    بنویس FixedUpdate
    اسمشو تغییر بده
    معلومه که تازه کاری بعد امدی یه بازی خیلی سخت گرفتی بهتره که اینو بزاری برای بعد
    فعلا یک ایده ساده تر بگیری تا راه بیفتی وگرنه وقتتو هدر میدی در اخر کار هم اون چیزی که میخای در نمیاد بعد افسرده میشی
    بعدش هم انرژی نمیمونه تا دوباره شروع کنی
    اینو تجربه میگه
    من قبلا طراحی بازی تحت وب انجام دادم
    بازی سازی با یونیتی و سی شارپ کلا فرق داره باهاش
    الآن حدودا سه هفته ست اندروید رو شروع کردم کلا! ولی با تجربه ای که داشتم بازی تقریبا تموم شده و آنلاین هم کگردمش همه اطلاعات تو دیتابیس ذخیره میشن
    کاربران برتر سیستم ثبت نام و ورود نمایش حرکات بازیکن ها به همدیگه اینها همشون ردیف شدن
    تنها و تنها موردی که مونده همین تفاوت حرکت هاست که نمیدونم چشه واقعا
    الآن هم فانکشن حرکت update نیست برا ی همون پرسیدم
    فانکشن voidOnMouseUp(){ هستش و قدرت پرتاب به یکباره به مهره داده میشه!

  12. Top | #18

    عنوان کاربر
    تاریخ عضویت
    مه‍ ۱۳۹۲
    شماره عضویت
    3734
    نوشته ها
    262
    تشکر
    647
    تشکر شده 84 بار در 61 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    من خودم هم زیاد حرفه ای نیستم هرچیزی که بلد بودم گفتم
    این خوبه که قبلا تجربه ساخت بازی داری این میتونه کمکت کنه
    به جای voidOnMouseUp() از
    Input.GetMouseButtonUp

    از این جور چیزا در تابع فیکسدآپدیت استفاده کن شاید جواب داد
    امضای ایشان
    ------------------------------------------------------
    - کاش زندگی یه دکمه شیفت دلیت داشت -
    ------------------------------------------------------

  13. کاربر زیر به خاطر ارسال مفید pyman_unity از ایشان تشکر کرده است:

    7tarrah (۰۹-۱۲-۱۳۹۵)

  14. Top | #19

    عنوان کاربر
    تاریخ عضویت
    آب‍ ۱۳۹۵
    شماره عضویت
    7809
    نوشته ها
    13
    تشکر
    15
    تشکر شده 1 بار در 1 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    من هنوز به نتیجه ای نرسیدم

  15. Top | #20

    عنوان کاربر
    تاریخ عضویت
    به‍ ۱۳۹۳
    شماره عضویت
    5476
    نوشته ها
    2,355
    تشکر
    129
    تشکر شده 1,724 بار در 982 ارسال
    مبلغ حمایت شده توسط کاربر
    0 تومان
    اصلا این کار با ریجید بادی شدنی نیست
    باید حرکت بدی یعنی Translate


    این کد حرکت نرم به مختصات مورد نظره
        IEnumerator MoveResource(Transform resourceTransform,Vector3 endPosition,float speed)
    {
    Vector3 startPosition = resourceTransform.position;
    float t = 0.0f;
    while (t < 1.0f)
    {
    t += Time.deltaTime * speed;
    resourceTransform.position = Vector3.Lerp(startPosition, endPosition, t);
    yield return null;
    }
    }

    امضای ایشان

  16. کاربر زیر به خاطر ارسال مفید aliyeredon2 از ایشان تشکر کرده است:

    7tarrah (۰۹-۱۷-۱۳۹۵)

صفحه 2 از 3 نخستنخست 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگانی که با جست و جو این صفحه را مشاهده کرده اند:

Nobody landed on this page from a search engine, yet!

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
موسسه فرهنگی هنری رویش © تمامی حقوق برای مرجع فارسی یونیتی محفوظ می باشد.