Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

مساعد في الانميشن في محرك الالعاب يونتي

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • مساعد في الانميشن في محرك الالعاب يونتي

    السلام عليكم شباب

    شباب اريد سكربت لتحريك انميشن الشخصية يعني ( حركة الضرب والمشي والركض والقفز والتنفس) جربت كثير من السكربتات ولم تعمل ودائما يحصل خطأفي الانميشن.

  • #2
    لان معظم الاجوبة الموجودة في النت هي للنسخ القديمة ليونيتي التي كانت تستخدم نظام legacy في الانيميشن

    الان اصبح يستخدم mecanim الذي له شاشة منفردة في يونيتي و طريقة مختلفة في بناء شجرة التحريك

    على كل اذا كنت تريد تحريك bones يعني شخصية بالريغ يمكن في اعدادات الاستيراد تحدد Rig mode : legacy ثم تشتغل بالدوال القديمة عاديا

    تعليق


    • #3
      اما اذا كنت تريد ان تكون الانيميشن اكثر تنظيما فعليك ان تتعلم الـmecanim الجديد ليونيتي

      تعليق


      • #4
        شكرا اخي على الاجابة...
        نعم اعمل على الlogcy ولكن جربت كثير من السكربتات

        مثلا جربت animation play ظضعت المشي وبعدها حركة الركض والتنفس وضعتة loop واعيد التنفس في else.

        وجربتGameObject.Find ايضا نفس المشكلة يتوقف عندي انميشن الركض والمشي ويبقى التنفس

        وحدت الفريم في اليونتي حركة الركض والحركات الاخرى وكل واحدة سميتها اسم لكن المشكلة في السكربت

        تعليق


        • #5
          ربما السكربت غير موضوع على اللاعب

          وهل يظهر عندك errors ؟

          تعليق


          • #6
            لا السكربت موضوع على اللاعب ولايظهر لي اي خطأ

            تعليق


            • #7
              ربما الخطأ في اسم الفنكشن ؟ ممكن تريني صورة من داخل السكربت ؟ وصورة اخرى لـcomponents اللاعب من يونيتي

              تعليق


              • #8
                ...

                اضغط على الصورة لعرض أكبر. 

الإسم:	ccc.jpg 
مشاهدات:	1 
الحجم:	95.9 كيلوبايت 
الهوية:	3289050اضغط على الصورة لعرض أكبر. 

الإسم:	script.jpg 
مشاهدات:	1 
الحجم:	62.0 كيلوبايت 
الهوية:	3289049هذه هي الصور اخي

                تعليق


                • #9
                  حسنا اخي هناك بعض الخطوات السيئة (لا اقول خاطئة)

                  أول شيء بما ان السكربت مرفق باللاعب فانه يكفي ان تستخدم gameObject.animation بدل ان تعمل Find ، لان gameObject تعني الاوبجكت المرفق بهذا السكربت

                  ثاني شيء لا داعي ان تكتب gameObject.animation ، يمكنك ان تكتب مباشرة animation و هي تعني component الانيميشن التابع لهذا الاوبجكت

                  ثالث شيء في iinput.getkey ، الافضل ان الحرف الذي بين قوسين يكون هكذا : KeyCode.Key مثلا : KeyCode.UpArrow ، بدل string وذلك من اجل الوضوح (قد لا يتم قبول احروف صغيرة او كبيرة) وكذلك من اجل سرعة الاداء

                  رابع شيء بما انك تريد لعب الانيميشن ، يكفي ندائها مرة واحدة ، و لكن دالة Input.GetKey هي دالة دورية خاصة انها في update يعني انها تنادى مرة كل فريم ، قد تكون الانيميشن تعمل لكنها تبقى عالقة في الفريم الأول ، سأوضح ذلك ... Input.GetKey("w) تعني : هل الزر w مضغوط عليه الان ؟ و دالة animation.Play("idle") تعني ، قم بلعب انيميشن ذات الاسم idle من الفريم الاول ، يعني انك اعطيت امر ببدء المقطع idle من 0 ، تخيل معي ان الـupdate يتم ندائها اكثر من 50 مرة في الثانية ، وفي كل مرة يتم بدء الانيميشن من جديد ، هل ستلاحظ شيء ؟ لا يمكن ملاحظة شيء باستثناء حركة اهتزازية اذا كان سرعة الـupdate بطيئة ، والا ستبدو الانيميشن ثابتة ...
                  النصيحة هنا ، أول شيء انشئ دالة Start و ضع فيها هذا الامر :
                  كود:
                  animation.Play("idle")
                  ثم احذف دالة update و اعطيني خبر اذا كان هناك حركة ام لا ، هذا لتكتشف اذا كانت المشكلة في الكود او في شيء غيره

                  99% ستكون المشكلة في الكود والحل هو ان تعيد كتابة السكربت بالنصائح السابقة ثم تحذف Input.GetKey و تعوضه بدالة يتم ندائها مرة واحد في حالة الكبس على الزر و هي تسمى Input.GetKeyDown ...


                  اذا فهمت كل كلمة من كلامي اعطيني خبر عما وصلت اليه لادلك على بقية نصائح الانيميشن لان هذا لا يكفي اذا كنت تريد عمل حركات كثيرة و معقدة

                  تعليق


                  • #10
                    نعم اخي دقائق اجرب واردلك خبر ان شاء الله

                    تعليق


                    • #11
                      اصبحت الحركات واقفة واالتنفس يعمل وعندضغط اي زر تتوقف كل الحركات ؟؟؟

                      تعليق


                      • #12
                        اعطيني السكربت مجددا

                        تعليق


                        • #13
                          تفضل اخي هذا هو السكربت

                          New Text Document.txt .........
                          ..............

                          تعليق


                          • #14
                            انت مش مطبق ما طلبت منك انت فقط اضفت start

                            تعليق


                            • #15
                              غيرتkey code ياريت لو تعدلي على السكربت وتدزلياه لكي ارى اين الخطأ

                              تعليق

                              يعمل...
                              X