Unconfigured Ad Widget

تقليص

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

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

2d in 3d تجربه جديده لمحبي عالم 2.5

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

  • 2d in 3d تجربه جديده لمحبي عالم 2.5

    بسم الله الرحمن الرحيم


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


    الــــــــــــــــــمــــــــــــــــــوضـــــــــــــــــــوع
    عبارة عن ورشة عمل للعبة بسيطه تكون شبية بألعاب game maker ولكن مــــــــــع الــــفــــارق......

    نظام اللعبة سيكون 2d in 3d
    والبرنامج الذي ساستخدمه هو unity 3d
    ساقوم بوضع شخصية 2d في بيئة 3d واجعلها تتحرك وتتفاعل مع المحيط ........
    وبذلك اكون قد جذبة اصحاب game maker واصحاب 3D .......

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

    اولا كود تحريك الشخصية بجميع الاتجاهات
    المصـــــــــــدر:::::: موقع اليونتي وهو جاهز و موجود بالمراجع
    كود:
    /// and sideways based on the arrow keys.
    /// It also jumps when pressing space.
    /// Make sure to attach a character controller to the same game object.
    /// It is recommended that you make only one call to Move or SimpleMove per frame.    
    
    var speed : float = 6.0;
    var jumpSpeed : float = 8.0;
    var gravity : float = 20.0;
    
    private var moveDirection : Vector3 = Vector3.zero;
    
    function Update() {
        var controller : CharacterController = GetComponent(CharacterController);
        if (controller.isGrounded) {
            // We are grounded, so recalculate
            // move direction directly from axes
            moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
                                    Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            moveDirection *= speed;
            
            if (Input.GetButton ("Jump")) {
                moveDirection.y = jumpSpeed;
            }
        }
    
        // Apply gravity
        moveDirection.y -= gravity * Time.deltaTime;
        
        // Move the controller
        controller.Move(moveDirection * Time.deltaTime);
    }
    ثانيا كود جعل الكاميرا والشخصيه تلف حول نفسها يكي تستطيع رؤية البيئة 3D
    المصـــــــــــدر:::::: كتاب الاخ الاستاذ محمد عيسى عبيد الجبوري مع اشوية تعديل
    كود:
    function Update () {
    if (Input.GetKey("2") ) {
    transform.Rotate(0 , 0.3 , 0 );
            }
    		if (Input.GetKey("1") ) {
    transform.Rotate(0 , -0.3 , 0 );
            }
    الموضوع في مجمله بسيط ولكني اود التركيز على
    sprite 2d
    لعرض صحيح لــsprite 2d يجب ان يكون دائما في مواجهة الكاميرا يدور مع الكاميرا ويبقى على نفس الزاويه دائم

    http://up.arab-x.com/Jan11/dmG89225.jpg صوره للبيئة 3D

    http://up.arab-x.com/Jan11/6uI89225.jpg صورة لعملية وضع sprite 2d

    http://www.mediafire.com/download.php?c9p5cenj2tef784 رابط للبيئة 3D للي حاب يتفرج

    وجاري تحديث الموضوع واكماله..............................

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



  • #2
    شيء جميل وحلوا لا اتمنئ لك التوفيق



    .....متابع لموضوعك


    تعليق


    • #3
      رائع في انتظار الجديد

      تعليق


      • #4
        اشكرك اخي ليون سكوت و broly
        على التشجيع وانشاله انه التجربه تكون بداية للالعاب من عالم 2.5D
        اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
        وتفتك باعدائك اعداء الدين


        تعليق


        • #5
          بسم الله الرحمن الرحيم


          الان انتهيت من عمل اللعبة مع وجود بعض الملاحظات ولكن بشكل عام ارى انها مقبوله................
          اهم مافي الموضوع هو الكود تحريك اللذي يعرضة السبرايت ويجعله يتحرك وهو اهم عنصر بالموضوع اتمنى ان يستخدم مستقبلا في عمل الالعاب 2D وسوفه اضعه لمن يرغب في استخدامه واي سؤال انا حاضر.............


          ولا كود تحريك السبرايت

          المصـــــــــــدر::: من النت بشكل غير مكتمل وتم التعديل عليه لساعات طويله

          كود:
           
          var uvAnimationTileX = 4;
          var uvAnimationTileY = 0;
          var framesPerSecond = 10.0;
           
          function Update () {
           if(Input.GetKey("down") || Input.GetKey("s")) {
          	// Calculate index
          	var index : int = Time.time * framesPerSecond;
          	// repeat when exhausting all frames
          	index = index % (uvAnimationTileX * uvAnimationTileY);
          	
          	// Size of every tile
          	var size = Vector2 (-1.0 / uvAnimationTileX, -0.26 );
          	
          	// split into horizontal and vertical index
          	var uIndex = index % uvAnimationTileX;
          	var vIndex = index / uvAnimationTileX;
           
          	// build offset
          	// v coordinate is the bottom of the image in opengl so we need to invert.
          	var offset = Vector2 (uIndex * size.x, 0);
          	
          	renderer.material.SetTextureOffset ("_MainTex", offset);
          	renderer.material.SetTextureScale ("_MainTex", size);
          }
           if(Input.GetKey("up") || Input.GetKey("w")) {
          	// Calculate index
          	var index1 : int = Time.time * framesPerSecond;
          	// repeat when exhausting all frames
          	index1 = index1 % (uvAnimationTileX * uvAnimationTileY);
          	
          	var size1 = Vector2 (-1.0 / uvAnimationTileX, -0.26 );
          	// split into horizontal and vertical index
          	var uIndex1 = index1 % uvAnimationTileX;
          	var vIndex1 = index1 / uvAnimationTileX;
           
          	// build offset
          	// v coordinate is the bottom of the image in opengl so we need to invert.
          	var offset1 = Vector2 (uIndex1 * size1.x, 0.25);
          	
          	renderer.material.SetTextureOffset ("_MainTex", offset1);
          	renderer.material.SetTextureScale ("_MainTex", size1);
          }
           if(Input.GetKey("right") || Input.GetKey("a")) {
          	// Calculate index
          	var index2 : int = Time.time * framesPerSecond;
          	// repeat when exhausting all frames
          	index2 = index2 % (uvAnimationTileX * uvAnimationTileY);
          	
          	var size2 = Vector2 (-1.0 / uvAnimationTileX, -0.26 );
          	// split into horizontal and vertical index
          	var uIndex2 = index2 % uvAnimationTileX;
          	var vIndex2 = index2 / uvAnimationTileX;
           
          	// build offset
          	// v coordinate is the bottom of the image in opengl so we need to invert.
          	var offset2 = Vector2 (uIndex2 * size2.x, 0.5);
          	
          	renderer.material.SetTextureOffset ("_MainTex", offset2);
          	renderer.material.SetTextureScale ("_MainTex", size2);
          }
           if(Input.GetKey("left") || Input.GetKey("d")) {
          	// Calculate index
          	var index3 : int = Time.time * framesPerSecond;
          	// repeat when exhausting all frames
          	index3 = index3 % (uvAnimationTileX * uvAnimationTileY);
          	
          	var size3 = Vector2 (-1.0 / uvAnimationTileX, -0.26 );
          	// split into horizontal and vertical index
          	var uIndex3 = index3 % uvAnimationTileX;
          	var vIndex3 = index3 / uvAnimationTileX;
           
          	// build offset
          	// v coordinate is the bottom of the image in opengl so we need to invert.
          	var offset3 = Vector2 (uIndex3 * size3.x, 0.75);
          	
          	renderer.material.SetTextureOffset ("_MainTex", offset3);
          	renderer.material.SetTextureScale ("_MainTex", size3);
          }
          }
          الحقيقه لا يوجد كود بالنت ولا بالمنتديات يتكلم عن تحريك السبرايت بهذي الطريقه حسب بحثي بالنت..........
          كذلك اود القول اني لا اعلم ان كان بالامكان كتابة نفس الكود بطريقه اقل وبشكل مختصر...........





          واخيرااااااااااااااااااااااا

          رابط تحميل التجربه 2D IN 3D واتمنى ان تحوز على اعجابكم ولكم مطلق الحريه باستخدام اكواد المعروضه بالموضوع

          http://up.arab-x.com/Jan11/2zY91869.png صـــــــــــــوره للشخصيه واللعبه

          التحكــــــــــــــــــــــــــم::::: بالاسهم لتحرك الاتجاهات ورقم 1 و 2 لدوران الكامــــيرا

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


          تعليق


          • #6
            شكرا يا صديقي

            تعليق


            • #7
              kaban حياك الله انشاله عجبتك التجربه
              _______________________________________________________________________________________

              الــــــــــي كل المختصين والمبرمجين unity 3d


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


              تعليق


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

                تعليق


                • #9
                  الصراحة تجربة جميلة و معمول فيها جهد تشكر عليه
                  Egypt


                  I Love Direct-X

                  سبحان الله و بحمده سبحان الله العظيم
                  اللهم صلي وسلم و بارك علي سيدنا محمد

                  تعليق


                  • #10
                    تسلم اخوي naoufal انشاله اعجبك موضوعي
                    _____________________________________________________________
                    general1 اشكرك على االمرور وعلى وردك المشجع
                    اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                    وتفتك باعدائك اعداء الدين


                    تعليق

                    يعمل...
                    X