Unconfigured Ad Widget

تقليص

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

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

[unity]ورشة عمل **لعبة سونيك**

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

  • #76
    المشاركة الأصلية بواسطة لا اعلم مشاهدة المشاركة
    بعد قرائة الكود استنتج التالي هل كلامي صحيح ؟؟

    انيميشن الوقوف Stop
    انيميشن السقوط fallDown
    انيميشن الدوران roll
    انيميشن المشي walk
    انيميشن الركض run
    انيميشن الركض السريع runfast
    انيميشن الدوران turnRight
    انيميشن الدوران turnLeft

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

    كود:
    	if (v > 0) {
    			var forward = transform.TransformDirection (Vector3.forward);
    			var curSpeed = speed * v;
    			controller.SimpleMove (forward * curSpeed);
    			jumpSpeed = 20;
    			_isIdle = false;
    			_isWalking = true;
    		} else {
    			jumpSpeed = 10;
    			if (v == 0) {
    				_isIdle = true;
    			}
    			if (v < 0) {
    				_isIdle = false;
    				_isWalking = true;
    			}
    			
    			
    		}
    يحث يتم تفعيل walk عندما v اكبر او اصغر من صفر

    وبعد تفعيل walk ايعمل عداد زمني يحسب الزمن ثم يفعل run وبعد عداد زمني يحب الزمن يفعل runfast


    ثم
    انيميشن الوقوف Stop لا يتم تفعيلة الا عندما يكون سونك يجري بسرعة قصوى وهي runfast
    وعندها يكون stopTimer اكبر من الصفر فيتفعل انيميش Stop
    ثم يتناقص stopTimer الي ان يصبح اصغر من الصفر فيفعل انيميشن الركض run ويتوقف تفعيل انيميش Stop وكذلك isRunningFast


    والله ما ادري شقوول لك الله يعينك على هذا السكربت سيكون اصلاحة والتعديل عليه عملية شاقة
    واو انا كنت مش عارف افسر السكربت هههههههه
    بس كل شيء صحيح 100% سأحاول اجرب التعديل الذي اعطيتني اياه ثم سأحاول اختصار كل شيء ليس له داعي في السركبت مثل movingBack و ومن الوضعيات _isRolling لم استخدمها بعد وسأجعلها تتفعل اذا تم الضغط على اسف فبدلا من المشي يصبح يدور


    لكن اريده ان يكون بسرعة المشي في البداية ثم يتناقص مثلا في 3 ثواني إلا ان يقف تماما ( طبع في ال _isRolling )
    سأحاول البحث في المراجع للسكربتات على اي حال


    المشاركة الأصلية بواسطة omarzonex مشاهدة المشاركة
    بالمناسبة لماذا لم تستخدم لغة الجافا سكريبت


    يكون أسهل الك وادق تفصيلا

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


    وبخصوص استخدام اكثر من شيء في اماكن متفرقة هذا كانن بسبب ان اشياء لم تنجح فغيرت مكانها ثم نسيت ان امسح ما كتبته ^_^
    UDK-Team

    UNREAL ENGINE 4

    تعليق


    • #77
      عدلت كثير اشياء وكل الأخطاء انحلت بقي شيء واحد وهو الدحرجة عند ضغط السهم الأسفل او حرف S
      ها هو الفيديو

      اسف جدا على التقطيع لكن كما ذكرت سابقا التسجيل يرهق جهازي

      UDK-Team

      UNREAL ENGINE 4

      تعليق


      • #78
        اخي لا اعلم اشكرك كثيرا على المساعدات لكن سأطلب منك طلب واحد ان كنت تعرف كيف تعمله طبعا

        اذا وافقت سأعطيك الشخصية مع السكربتات والمطلوب هو عمل سونيك يمشي على المنخفضات او المرتفعات على حسب الروتيشن تبعت الأرض

        مثل هذا الفيديو يعني


        وطبعا اذا كنت حابب تعمل السكربت من اول وجديد ما عندي مشكلة حتى لو بالجافا سكربت
        عشان في سكربتي الخاص سيصعب عليك هذا
        UDK-Team

        UNREAL ENGINE 4

        تعليق


        • #79
          ما شاء الله عليك تطورات رائعة ... مازلت متابعا
          القوانين وضعت لكي تخرق

          تعليق


          • #80
            المشاركة الأصلية بواسطة tetra مشاهدة المشاركة
            ما شاء الله عليك تطورات رائعة ... مازلت متابعا
            شكرا لك على المتابعة
            UDK-Team

            UNREAL ENGINE 4

            تعليق


            • #81
              ارى انك انهيت حل مشكلة السقوط بالفيدو تقدم ممتاز

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

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

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

              عند القفز مثل لعبة ماريو واضافة على ذلك انا لست مقتنع بان من الضروري ان كتب كود كبييييير لمجرد حركة تشابة حركة ماريوو


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


              من ناحيتي سابحث عن السكربت ان شاء الله اجد فالشخصية سونك ليست مهمه هنااا بل الحركة الجيم اوجيكيت وتاثرة بالتضاريس


              الاخ علي نجح في ذلك ببرنامج اليوديكي في فعل هذاا فعل اليوديكي اسهل من اليونتي !!!!!!!
              اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
              وتفتك باعدائك اعداء الدين


              تعليق


              • #82
                اه والله صحيح اليوديكيه اسهل يمكن من هاي الناحية

                المرجع الوحيد لي هو الكراكتر كونترولر الموجود باليونتي رح احاول تقليده عشان اعرف كيف بشتغل
                UDK-Team

                UNREAL ENGINE 4

                تعليق


                • #83
                  هذا الكود تحريك كتبتة لك ويعتمد على التحريك عن طريقة استخدام الرجد بودي ........

                  اولا ابيك تجرب الحركة.......

                  افتح مشروع جديد وضع ارضيىة Terrain وضع الجبال شرط ان تكون الجبال ناعمة smooth مثل فيدو اللذي عرضته

                  ضع Capsule واضف اليه Rigidbody في داخل Rigidbody ستجد Constraints افتحة وضع علامة صح في كلن من Freeze Rotation xyz

                  ثم اضف هذا السكربتين في Capsule وانظر الي التحريك

                  المسؤول عن الحركة للامام وللخلف والقفز فقط والجاذبية باتجاه الاسفل جلوبل والجاذبية باتجاه الاسفل بالنسبة للCapsule المحلي

                  كود:
                  private var moveDirection : Vector3 = Vector3.zero;
                  
                  var speed = 1.5 ;
                  
                  private var okjump = true ;
                  
                  private var Hofjump = -100 ;
                  
                  
                  
                  function FixedUpdate () {
                  
                  var hit : RaycastHit;
                  
                  movedown = Vector3(0, Hofjump ,0);
                  
                  movedown = transform.TransformDirection(movedown);
                  
                  if(Input.GetAxis("Vertical"))
                  
                  moveDirection = Vector3( 0, 0,Input.GetAxis("Vertical"));
                  
                  
                  
                  
                  
                  if (Input.GetButton ("Jump") && okjump==true && Physics.Raycast (transform.position, transform.TransformDirection(-Vector3.up), hit,2) )
                  
                  jump ();
                  
                  
                  
                  
                  
                  
                  
                  if(Input.GetAxis("Vertical")== 0)
                  
                  moveDirection = Vector3( 0, 0,0);
                  
                  
                  
                  
                  
                  moveDirection = transform.TransformDirection(moveDirection);
                  
                  moveDirection *= speed;
                  
                  rigidbody.velocity = moveDirection*5;
                  
                  rigidbody.AddForce (movedown*5);
                  
                  rigidbody.AddForce (-Vector3.up * 7);
                  
                  }
                  
                  
                  
                  
                  
                  function jump () {
                  
                  okjump = false ; 
                  
                  Hofjump = 88 ;
                  
                  yield WaitForSeconds(0.5);
                  
                  okjump = true ;  
                  
                  Hofjump = -100 ;
                  
                  }


                  السكربت الثاني المسوؤل عن الالتصاق بالمنحنيات والاسطح وتعديل الاتجاه الي الارض عند القفز من اوجه المسطحات التي اللتصق بها


                  كود:
                  private var roteoo :int  ;
                  
                  function Update () {
                  
                      var hit : RaycastHit;
                  
                      if (Physics.Raycast (transform.position, transform.TransformDirection(-Vector3.up), hit,3))
                  
                       {
                  
                        var vectore = hit.normal;      
                  
                         print (vectore);
                  
                         transform.rotation = Quaternion.FromToRotation (Vector3.up, hit.normal);
                  
                         if( Input.GetAxis ("Horizontal")>0.1)
                  
                         {
                  
                         roteoo++;
                  
                         }
                  
                         if( Input.GetAxis ("Horizontal")<-0.1)
                  
                         {
                  
                         roteoo--;
                  
                         }
                  
                       }
                  
                       else
                  
                   transform.rotation = Quaternion(0,0, 0,0);
                  
                   transform.Rotate(0, 0 + roteoo, 0);
                  
                  }

                  ( تقد تدخل سونك في Capsule دون حركة لمجرد النظر الي وتلغي المش ريندرير لــCapsule )



                  وتحياتي
                  اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                  وتفتك باعدائك اعداء الدين


                  تعليق


                  • #84
                    ستجد عند نسخ السكربت نقاط بهذا الشكل
                    v
                    v
                    ...

                    امسحها وضع مكانها قوس واحد فقط بهذا الشكل
                    v
                    v
                    (
                    اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                    وتفتك باعدائك اعداء الدين


                    تعليق


                    • #85
                      شكككررررررررررررررررررااااااااااااااااااااااااااااا
                      قلبي الصغير لا يتحمل

                      بجربه وبرد لك خبر
                      انا كنت موتقع انه الريجيد بودي افضل لتحريك الشخصيات

                      بالمناسبة بعد ما اعدل السكربت بدي ابدأ في الأعداء واذا بقي معي وقت سأعمل شخصية اخرى كي اكون باستعداد تام للمسابقة
                      UDK-Team

                      UNREAL ENGINE 4

                      تعليق


                      • #86
                        الحمد لله اشتغل سكربتك الآن سأقع في مشكلة استطيع حلها وهي ان احول نظام التحريك من كاركتر كونترولر الى ريجد بودي
                        UDK-Team

                        UNREAL ENGINE 4

                        تعليق


                        • #87
                          قولي اشلون التحريك على المجسم هل السكربت يفي بالغرض حاولنت اني اقلد حركة سونك كثر ما اقدر
                          حتى عندما يكون ملتصق بالسطح وتقفز فانه يعود الي وضع الطبيعي الفيتكل
                          اهم شي ان تجعل الارضية والجبال تكون ناعمة
                          كنت اتمنى تجرب الحركوة على مستوى لولبي او دائري يقلب الشخصية راسا على عقب لتقوم بتجربة التحريك والقفز


                          ..................
                          بالنسبة للانيميشن استخدم قياس السرعة مع استخدام اللير للانيميشن
                          بحيث عند زيادة السرعة يعمل انيميشن المشي لير 1
                          وعند زيادة السرعة اكثر يعمل انيميشن الجري لير 2
                          وعند زيادة السرعة اكثر واكثر يعملي انيميشن الجري السريع لير3
                          والقفز يكون لير 4 اعلى لير
                          والوقوف يكون اقل
                          اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                          وتفتك باعدائك اعداء الدين


                          تعليق


                          • #88
                            قصدك enum
                            انا اواجه صعوبة في التعامل معها في السي شارب
                            على كل الحال اليوم رح احاول انتهي من سونيك تماما لآلآن اسلوب الريجيد بودي حل معظم المشاكل
                            UDK-Team

                            UNREAL ENGINE 4

                            تعليق


                            • #89
                              لا مو هذا قصدي

                              اللير لتنظيم اي انيميشن له الاحقيه في العمل

                              عطني اسم سنونك واسم الانيميشن الوقوف والمشي والركض والركض السريع والقفز وراح اكتبت لك سكربت الانيميشن وراح تفهم فائدة اللير
                              اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                              وتفتك باعدائك اعداء الدين


                              تعليق


                              • #90
                                اسم سونيك Sonic
                                المشي walk
                                الركض run
                                الركض السريع runFast
                                القفز roll
                                الوقوف idle
                                UDK-Team

                                UNREAL ENGINE 4

                                تعليق

                                يعمل...
                                X