Unconfigured Ad Widget

تقليص

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

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

كيفية تغيير ألوان الأجسام في برنامج Unity أثناء تشغيل اللعبة

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

  • كيفية تغيير ألوان الأجسام في برنامج Unity أثناء تشغيل اللعبة

    ------السلام عليكم...
    شاهدت الفلم التالي
    Real Time Architecture Visualization unity3d

    http://vimeo.com/34073227

    و أعجبتني الأمور التالية
    - إمكانية تغيير ألوان الجدران والأرضية بالضغط على الأرقام من 1 الى 7 ... و إمكانية تغيير ألوان الأثاث بالنقر بالماوس

    ثم شاهدت الفلم التالي
    Realtime interactive visualisation demo

    http://www.youtube.com/watch?v=Y4t-C0pH1rs

    و أعجبني وجود شريط يحتوي من اليمين على منزلقات لتغيير ألوان الأثاث... ومن اليسار وجود مصغرات لخامات بالنقر عليها تتحقق إمكانية تغيير خامة الأرضية

    سؤالي...
    ماهي أقصر الطرق التي استطيع من خلالها تحقيق ذلك في برنامج Unity3d ؟
    ربما هي سكربتات تكتب بالجافا سكربت...!!؟
    ياترى هل توجد هكذا سكربتات جاهزة...!!؟

    شكرا لكم مقدما وبانتظار نصائحكم...
    أخوكم أبو سعود
    اللهم اغفر لأمي و أبي وارحمهما كما ربياني صغيرا

  • #2
    بامكانك فعل ذلك عبر تغيير مكون "ماتريال" الموجود بالكائن فمثلا لهذا المكون قيم يدخلها المستخدم مثل اللون و قيمة الضوء المنعكس ... فيمكنك تغييرها عن طريق الاكواد (مثلا جافا سكربت) مع اظافة بعض الإبداع كقدرة اللاعب على إختيار اللون المناسب

    تعليق


    • #3
      الأخ الكريم nadiir02
      شكرا لمرورك ولنصيحتك...
      مشكلتي أني لا أعرف شيئا في الجافا سكربت... ويبدو أنه ينوجب علي أن أبدأ بتعلمها...
      اللهم اغفر لأمي و أبي وارحمهما كما ربياني صغيرا

      تعليق


      • #4
        مرحبا
        و لله نفس السؤال

        تعليق


        • #5
          اذن ابحث عن كتاب باسم مدخلك لتعلم الجافا سكربت ستجده في موضوع تجمعات دروس اليونتي

          تعليق


          • #8
            المشاركة الأصلية بواسطة omarzonex مشاهدة المشاركة
            الكتاب يشرح لغة جافا سكريبت بطريقة مبسطة جداً
            للأستاذ / محمد الجبوري

            هذا الموضوع

            http://www.maxforums.net/showthread.php?t=180472
            وهذه شرحي للعمل خريطة او رادار بطريقة الكاميرا التارجت

            http://www.maxforums.net/showthread....6&daysprune=60
            ---

            شكرا لمرورك أخي الكريم
            بالأمس حملت الكتاب وإن شاء الله أصل الى نتيجة
            اللهم اغفر لأمي و أبي وارحمهما كما ربياني صغيرا

            تعليق


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

              حاولت ان اكتب لك هذا الكود لعله يفيدك

              كود الزلاقات او المنزلقات او المزلاقات - لا اعرف لها جمعًا -
              الفكرة : وضع ثلاثة منزلقات على يسار الشاشة للتحكم في ألوان الخامة ( للمجسم ) RGB
              مزلاق للون الاحمر R
              مزلاق للون الاخضر G
              وثالث للون الازرق B

              كل مزلاق بيتغيير قيمه هيديك بعض الالون و بالتحكم في الثلاثة يمكنك الدمج بين الالوان فيخرج لك الوان اخرى.

              أولاً سنقوم بتعريف قيم المزلاق للالوان الثلاثة على انها متغير من النوع float الذي يقبل الكسور .

              كود:
              var colour : float;
              var colour1 : float;
              var colour2 : float;
              بعد ذلك نستخدم دالة تمكننا من رسم المزلاق وهي غنية عن التعريف

              كود:
              function OnGUI () {
              ثم نضع كود رسم المزلاق

              كود:
               colour = GUI.VerticalSlider( Rect(60,200,20,100),colour, 0, 10.0);
              يمكنك ايجاد معلومات اكثر عن الـ GUI وأوامرها في كتاب الاستاذ محمد الجبوري

              بعدين نخلي المزلاق يتحكم بقيمة تغير اللون الاحمر
              كود:
              renderer.material.color.r = colour;
              نكرر رسم مزلاق اخر للون الاخضر

              كود:
                 colour1 = GUI.VerticalSlider( Rect(40,200,20,100),colour1, 0, 10.0);
              
                 renderer.material.color.g= colour1;
              وثالث للون الازرق

              كود:
                 colour2 = GUI.VerticalSlider( Rect(20,200,20,100),colour2, 0, 10.0);
              
                 renderer.material.color.b = colour2;
              ومن ثم نغلق الدالة بهذا الرمز

              كود:
              }

              الكود كاملًا

              كود:
              var colour : float;
              var colour1 : float;
              var colour2 : float;
              function OnGUI () {
                 colour = GUI.VerticalSlider( Rect(60,200,20,100),colour, 0, 10.0);
                 renderer.material.color.r = colour;   
                 colour1 = GUI.VerticalSlider( Rect(40,200,20,100),colour1, 0, 10.0);
                 renderer.material.color.g= colour1;
                 colour2 = GUI.VerticalSlider( Rect(20,200,20,100),colour2, 0, 10.0);
                 [SIZE=2][COLOR="#FFFFFF"][FONT=Arial][/FONT][/COLOR][/SIZE]renderer.material.color.b = colour2;
              }
              قم اولاً بانشاء اسكربت جافا
              Create >> Javascript

              والصق الكود به وضعه على المجسم المطلوب
              Insanity: doing the same thing over and over again and expecting different results
              Albert Einstein -


              تعليق


              • #10
                أما بالنسبة لتغيير الخامة أو الاكساء عند الضغط على زر موضح عليه خامة مصغرة او شكل مصغر.
                فمثلاً معنا مجسم له 3 خامات ونريد التغيير بينهم
                اولا نحتاج الثلاث خامات المطلوبة
                ثانيا نحتاج ثلاث صور مصغرة لوضعها على الثلاثة ازرار

                نبدأ اولا بعمل متغيرات للصور المصغرة اللى هتوضع على الازرار كل زر له متغير نضع فيه الصورة اللى هتظهر على الزر اثناء تشغيل اللعبة

                كود:
                var button1_tex : Texture;
                var button2_tex : Texture;
                var button3_tex : Texture;
                -- لاحظ الاسماء فنحتاج لاسماء منسقة عشان ما نتوهش في الزحمة.

                بعد كدا نبدأ بتعريف الخامات للمجسم - مثلا انا عندي صندوق Crate -

                كود:
                var crate_tex1 : Texture;
                var crate_tex2 : Texture;
                var crate_tex3 : Texture;
                نفتح دالة رسم الازرار
                كود:
                function OnGUI ( ) {
                ثم نرسم الزر الاول ولكن يجب وضع جملة الشرط If للتحقق من الضغط على الزر من عدمه.
                كود:
                if ( GUI.Button (Rect (400,300,80,40),button1_tex) )
                ونضع كود لتغيير الخامة للصندوق عن الضغط على الزر حيث ستظهر الخامة اللى مرسوم صورتها على الزر

                كود:
                 
                renderer.material.mainTexture = crate_tex1;
                ونكمل الكود للازرار الثلاثة

                كود:
                else
                 if ( GUI.Button (Rect (300,300,80,40), button2_tex) ) 
                 renderer.material.mainTexture = crate_tex2;
                else
                 if ( GUI.Button (Rect (200,300,80,40), button3_tex) ) 
                  renderer.material.mainTexture = crate_tex3;
                  
                }
                الكود كاملًا

                كود:
                var button1_tex : Texture;
                var button2_tex : Texture;
                var button3_tex : Texture;
                var crate_tex1 : Texture;
                var crate_tex2 : Texture;
                var crate_tex3 : Texture;
                
                
                function OnGUI ( ) {
                if ( GUI.Button (Rect (400,300,80,40),button1_tex) ) 
                 renderer.material.mainTexture = crate_tex1;
                 else
                 if ( GUI.Button (Rect (300,300,80,40), button2_tex) ) 
                 renderer.material.mainTexture = crate_tex2;
                else
                 if ( GUI.Button (Rect (200,300,80,40), button3_tex) ) 
                  renderer.material.mainTexture = crate_tex3;
                }
                قم بوضع الاسكرب على المجسم المطلوب وروح على نافذة الـ Inspector بعد تحديد المجسم لتظهر خصائصه ستجد 6 متغيرات
                -- ثلاثة منهم للصور المصغرة اللى هتظهر على الازرار
                -- والثلاثة الاُخَر للخامات المراد استبدالها
                -- عشان تنطبق الصورة الموجود على الزر مع الخامة التي سيتم تغييرها او وضعها حاول تستخدم اسماء
                فمثلا
                الصورة اللى ع الزر الاول تسميها Button Tex1
                ونفس الصورة اللى هتظهر خامة للصندوق تسميها Crate Tex1.







                ان شاء الله ساضع درس قريبا لكيفية التغير عند الاشارة بالماوس ومن ثم ضغط رقم معين

                الاكواد ليست منقولة
                Insanity: doing the same thing over and over again and expecting different results
                Albert Einstein -


                تعليق


                • #11
                  لا ادري عن الجافا
                  لكن الاساسيات سهلة

                  بضغطة على المجسم الف مثلا ياتي المجسم ب في محله ونفس مكان وحجمه ولكن باختلاف الماتيريال
                  وايضا المجسم ب اذا ضغط عليه ياتي المجسم ج

                  تعليق


                  • #13
                    المشاركة الأصلية بواسطة Unity3D مشاهدة المشاركة
                    بسم الله الرحمن الرحيم
                    أبو سعود! تعودت ان اي حد بيسأل عن شىء في البرمجة بنوجهه الى مصادر التعلم ولكن وجدت من طلبك فكرة جيدة فقررت ان احاول ان اخرج بنتيجة لعلها ترضيك ومخافة ان يتهمنا البعض باننا بنريح دماغنا وبنوجه السائل الى كتاب يقرأه او موقع بالانجليزي و قد نتهم بعدم القدرة على الاجابة ..

                    حاولت ان اكتب لك هذا الكود لعله يفيدك

                    كود الزلاقات او المنزلقات او المزلاقات - لا اعرف لها جمعًا -
                    الفكرة : وضع ثلاثة منزلقات على يسار الشاشة للتحكم في ألوان الخامة ( للمجسم ) RGB
                    مزلاق للون الاحمر R
                    مزلاق للون الاخضر G
                    وثالث للون الازرق B

                    كل مزلاق بيتغيير قيمه هيديك بعض الالون و بالتحكم في الثلاثة يمكنك الدمج بين الالوان فيخرج لك الوان اخرى.

                    أولاً سنقوم بتعريف قيم المزلاق للالوان الثلاثة على انها متغير من النوع float الذي يقبل الكسور .

                    كود:
                    var colour : float;
                    var colour1 : float;
                    var colour2 : float;
                    بعد ذلك نستخدم دالة تمكننا من رسم المزلاق وهي غنية عن التعريف

                    كود:
                    function OnGUI () {
                    ثم نضع كود رسم المزلاق

                    كود:
                     colour = GUI.VerticalSlider( Rect(60,200,20,100),colour, 0, 10.0);
                    يمكنك ايجاد معلومات اكثر عن الـ GUI وأوامرها في كتاب الاستاذ محمد الجبوري

                    بعدين نخلي المزلاق يتحكم بقيمة تغير اللون الاحمر
                    كود:
                    renderer.material.color.r = colour;
                    نكرر رسم مزلاق اخر للون الاخضر

                    كود:
                       colour1 = GUI.VerticalSlider( Rect(40,200,20,100),colour1, 0, 10.0);
                    
                       renderer.material.color.g= colour1;
                    وثالث للون الازرق

                    كود:
                       colour2 = GUI.VerticalSlider( Rect(20,200,20,100),colour2, 0, 10.0);
                    
                       renderer.material.color.b = colour2;
                    ومن ثم نغلق الدالة بهذا الرمز

                    كود:
                    }

                    الكود كاملًا

                    كود:
                    var colour : float;
                    var colour1 : float;
                    var colour2 : float;
                    function OnGUI () {
                       colour = GUI.VerticalSlider( Rect(60,200,20,100),colour, 0, 10.0);
                       renderer.material.color.r = colour;   
                       colour1 = GUI.VerticalSlider( Rect(40,200,20,100),colour1, 0, 10.0);
                       renderer.material.color.g= colour1;
                       colour2 = GUI.VerticalSlider( Rect(20,200,20,100),colour2, 0, 10.0);
                       renderer.material.color.b = colour2;
                    }
                    قم اولاً بانشاء اسكربت جافا
                    Create >> Javascript

                    والصق الكود به وضعه على المجسم المطلوب
                    ------------

                    أخي الكريم Unity3D
                    سلام عليكم
                    أشكرك جزيل الشكر على اسهابك في الشرح والتوضيح
                    إن شاء الله سأجرب كل ما ورد في ردك... وسأبلغك النتيجة
                    أرجو منك في حال أكملت الدرس أن لا تنس أن نبلغني عنه...
                    تقبل دعواتي الصادقة لك بالتوفيق
                    أخوك أبو سعود

                    اللهم اغفر لأمي و أبي وارحمهما كما ربياني صغيرا

                    تعليق


                    • #14

                      أخي الكريم Unity3D
                      سلام عليكم
                      بفضل الله جربت الأكواد... وكانت النتيجة طيبة
                      سلمت يداك وجزاك الله خيرا

                      بانتظار الدرس الذي وعدتنا به

                      شكرا لك... وزادك الله علما

                      أخوك أبو سعود
                      اللهم اغفر لأمي و أبي وارحمهما كما ربياني صغيرا

                      تعليق

                      يعمل...
                      X