Unconfigured Ad Widget

تقليص

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

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

مثال (1)سكريبت "Ghosting" للتحكم فى الظهور visiblity

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

  • مثال (1)سكريبت "Ghosting" للتحكم فى الظهور visiblity

    ده مثال منبسق من المنتدى الأساسى منتدى ماكس أسكريبت
    http://www.maxforums.net/showthread.php?t=107525

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

    كود:
    f01_val = (currenttime)
    f02_val = (currenttime+5)
    vis01_val = 0
    vis02_val = 1
    
    f03_val = (currenttime+10)
    f04_val = (currenttime+15)
    vis03_val = 1
    vis04_val = 0
    
    f05_val = 0
    f06_val = 100
    spn_val = 1
    vis05_val = 0
    vis06_val = 1
    
    spn01_val = 1
    spn02_val = 1
    
    spn_key01_val = 0.0
    spn_key02_val = 0.5
    spn_key03_val = 1.0
    
    spn_x_val = 10
    spn_y_val = 0
    spn_z_val = 0
    
        rollout keyer "Visibility Keyer" width:216 height:160
        (
            spinner spn_f01 "Frm" pos:[25,24] width:55 height:16 range:[0,6000,currenttime] type:#integer scale:1 
            spinner spn_f02 "Frm" pos:[25,48] width:55 height:16 range:[0,6000,currenttime+5] type:#integer scale:1 
            GroupBox grp_firstdone "First Done" pos:[8,8] width:200 height:64
            spinner spn_vis01 "Vis" pos:[96,24] width:48 height:16 range:[0,1,0] type:#float scale:0.1 
            spinner spn_vis02 "Vis" pos:[96,48] width:48 height:16 range:[0,1,1] type:#float scale:0.1 
            button key01 "Key" pos:[152,24] width:48 height:40 toolTip:"Make two keys"
            GroupBox grp_secounddone "Secound Done" pos:[8,80] width:200 height:64
            spinner spn_f03 "Frm" pos:[25,96] width:55 height:16 range:[0,6000,currenttime+10] type:#integer scale:1
            spinner spn_f04 "Frm" pos:[25,120] width:55 height:16 range:[0,6000,currenttime+15] type:#integer scale:1
            spinner spn_vis03 "Vis" pos:[96,96] width:48 height:16 range:[0,1,1] type:#float scale:0.1
            spinner spn_vis04 "Vis" pos:[96,120] width:48 height:16 range:[0,1,0] type:#float scale:0.1
            button Key02 "Key" pos:[152,96] width:48 height:40 toolTip:"Make two keys"
            on spn_f01 changed val do
                f01_val = val
            on spn_f02 changed val do
                f02_val = val
            on spn_vis01 changed val do
                vis01_val = val
            on spn_vis02 changed val do
                vis02_val = val
            on key01 pressed do
            (
                undo on
                    for i in selection do
                    (
                                                    
                            i.visibility = true
                            (addnewKey i.visibility.controller f01_val).value = vis01_val
                            (addnewKey i.visibility.controller f02_val).value = vis02_val
            
                    )
            )
            on spn_f03 changed val do
                f03_val = val
            on spn_f04 changed val do
                f04_val = val
            on spn_vis03 changed val do
                vis03_val = val
            on spn_vis04 changed val do
                vis04_val = val
            on Key02 pressed do
            (        
            
                undo on
                    for i in selection do
                    (
                            
                        if i.visibility == undefined then
                            (
                                i.visibility = true
                                (addnewKey i.visibility.controller f03_val).value = vis03_val
                                (addnewKey i.visibility.controller f04_val).value = vis04_val
                            )
            
                            else
                            (
                                (addnewKey i.visibility.controller f03_val).value = vis03_val
                                (addnewKey i.visibility.controller f04_val).value = vis04_val
                            )
            
                        
                    )
            )
        )
    
        rollout Flash "Flash All" width:222 height:120
        (
            spinner spn_f05 "from" pos:[24,32] width:56 height:16 range:[0,1000,0] type:#integer scale:1
                
            spinner spn_f06 "to" pos:[88,32] width:48 height:16 range:[0,1000,100] type:#integer scale:1
            spinner spn_mid "Step" pos:[48,56] width:56 height:16 range:[1,50,1] type:#integer scale:1 
            spinner spn_vis05 "Vis" pos:[32,80] width:48 height:16 range:[0,1,0]
            spinner spn_vis06 "Vis" pos:[96,80] width:48 height:16 range:[0,1,1]
            button Play "Play" pos:[160,32] width:40 height:56 toolTip:"Select more to get Fun"
            GroupBox grp10 "Flash Control" pos:[8,8] width:202 height:96
            on spn_f05 changed val do
                f05_val = val
            on spn_f06 changed val do
                f06_val = val
            on spn_mid changed val do
                spn_val = val
            on spn_vis05 changed val do
                vis05_val = val
            on spn_vis06 changed val do
                vis06_val = val
            on Play pressed do
            undo on
                
                for i in selection do
                (
                        i.visibility = true
                      for t in f05_val to f06_val by spn_val do
                        at time t
                        ( 
                        (addnewKey i.visibility.controller t).value = random (vis05_val) (vis06_val)
                        )
                )
        )
    
        rollout grow "Grow All" width:216 height:216
        (
            spinner spn1 "Numb." pos:[40,32] width:56 height:16 range:[1,500,1] type:#integer scale:1
            spinner spn2 "X" pos:[24,64] width:48 height:16 range:[-1000,1000,10] type:#float scale:0.01
            spinner spn4 "start" pos:[24,120] width:48 height:16 range:[0,1,0] type:#float scale:0.01
            spinner spn5 "mid" pos:[88,120] width:48 height:16 range:[0,1,0.5] type:#float scale:0.01
            spinner spn6 "end" pos:[152,120] width:48 height:16 range:[0,1,1] type:#float scale:0.01
            spinner spn7 "Y" pos:[88,64] width:48 height:16 range:[-1000,1000,0] type:#float scale:0.01
            spinner spn8 "Z" pos:[152,64] width:48 height:16 range:[-1000,1000,0] type:#float scale:0.01
            button btn1 "Grow" pos:[16,152] width:48 height:40 toolTip:"Something grow"
            spinner spn9 "Step" pos:[136,32] width:56 height:16 range:[1,100,1] type:#integer scale:1
            button btn4 "G < > D" pos:[80,152] width:56 height:40 toolTip:"Frome nothing to nothing"
            button btn5 "Die" pos:[152,152] width:48 height:40 toolTip:"Everyone Die"
            GroupBox grp2 "Transform" pos:[8,8] width:200 height:80
            GroupBox grp3 "Keys Control" pos:[8,96] width:200 height:112
            on spn1 changed val do
                spn01_val = val
            on spn2 changed val do
                spn_X_val = val
            on spn4 changed val do
                spn_key01_val = val
            on spn5 changed val do
                spn_key02_val = val
            on spn6 changed val do
                spn_key03_val = val
            on spn7 changed val do
                spn_Y_val = val
            on spn8 changed val do
                spn_Z_val = val
            on btn1 pressed do
        
            for i in selection do
            (
            undo on
                i.visibility = true
                for c = 1 to spn01_val do
                (
            
                ob_ins = instance i
                ob_ins.pos = [c*spn_x_val+i.pos.x,c*spn_y_val+i.pos.y,c*spn_z_val+i.pos.z]
                (addnewKey ob_ins.visibility.controller (c+1*spn02_val)).value = spn_key01_val
                (addnewKey ob_ins.visibility.controller (c+2*spn02_val)).value = spn_key02_val
                (addnewKey ob_ins.visibility.controller (c+3*spn02_val)).value = spn_key03_val
                )
                )
            on spn9 changed val do
                spn02_val = val
            on btn4 pressed do
            
            for i in selection do
            (
                undo on
                i.visibility = true
                for c = 1 to spn01_val do
                (
            
                ob_ins = instance i
                ob_ins.pos = [c*spn_x_val+i.pos.x,c*spn_y_val+i.pos.y,c*spn_z_val+i.pos.z]
                (addnewKey ob_ins.visibility.controller (c+1*spn02_val)).value = spn_key01_val
                (addnewKey ob_ins.visibility.controller (c+2*spn02_val)).value = spn_key02_val
                (addnewKey ob_ins.visibility.controller (c+3*spn02_val)).value = spn_key03_val
                (addnewKey ob_ins.visibility.controller (c+4*spn02_val)).value = spn_key03_val
                (addnewKey ob_ins.visibility.controller (c+5*spn02_val)).value = spn_key02_val
                (addnewKey ob_ins.visibility.controller (c+6*spn02_val)).value = spn_key01_val
                )
                )
            on btn5 pressed do
            
            for i in selection do
            (
                undo on
                i.visibility = true
                for c = 1 to spn01_val do
                (
            
                ob_ins = instance i
                ob_ins.pos = [c*spn_x_val+i.pos.x,c*spn_y_val+i.pos.y,c*spn_z_val+i.pos.z]
                (addnewKey ob_ins.visibility.controller (c+1*spn02_val)).value = spn_key03_val
                (addnewKey ob_ins.visibility.controller (c+2*spn02_val)).value = spn_key02_val
                (addnewKey ob_ins.visibility.controller (c+3*spn02_val)).value = spn_key01_val
                )
                )
        )
        
        rollout Aboutme "About" width:192 height:160
            (
            label lbl26 "Ghosting v1.4" align:#center
            label lbl27 "by" align:#center
            label lbl28 "Abdelsalam Ahmed" align:#center
            HyperLink lbl29 "hogo_bingo@hotmail.com" align:#center address:"mailto:hogo_bingo@hotmail.com" color:(color 10 90 200) hovercolor:(color 255 0 0)
            label lbl30 "Zewe" align:#center
            label lbl31 "Copyright© 2004 FOX Studio" align:#center
            )
    -- create the rollout window and add the  rollout
    if GhostingFloater != undefined do
                    (
                    closerolloutfloater GhostingFloater
                    )    
                    
        
    GhostingFloater = newRolloutFloater "Ghosting 1.4" 228 250 
    addRollout keyer GhostingFloater
    addRollout Flash GhostingFloater rolledUp:true
    addRollout grow GhostingFloater rolledUp:true
    addRollout Aboutme GhostingFloater rolledUp:true
    طبعا الأسئله العامه هتكون فى النتدى سابق الذكر الخاص بالماكس أسكربت عامه اما الأسئله الخاصه بهذا الأسكربت هتكون هنا

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

  • #2
    السلام عليكم ورحمه الله وبركاته
    جزاك الله خيرا اخى hogobingo
    وان شاء الله يكون فائده لاخواننا فى العالم العربى حيث يرتقى بنا الى التقدم فى عالم الماكس
    واسال الله ان يغفر لك ماتقدم من ذنبك ويرزقك من حيث لاتحتسب .
    بجد انت حببتنى فى الماكس اوى مع ان الموضوع محتاج فهم شويه لكن ان شاء الله انا متوكل على الله
    واصل اخى الكريم .. فانا متابع معاك .
    سبحان الله وبحمده سبحان الله العظيم

    ***************

    Me With Michael Johnson " Moving Pictures Group Lead " P I X A R Animation Studios


    تعليق


    • #3
      وعليكم السلام ورحمه الله وبركاته واتمنى فعلا ان يأتى عليك بالخير

      تعليق


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

        تعليق


        • #5
          السلام عليكم ورحمه الله وبركاته

          المشاركة الأصلية بواسطة shady sobhy مشاهدة المشاركة
          طيب تمام جدا بس المشكلة اني مش فاهم أستخدمه أزاي أو ليه
          ياعني انا لما بعمل حركة واجي أعمل play مش بيشتغل ياريت حتى ولو شرح بسيط للفائدة عشان نقدر نفهم الكود
          بس الكلام ده لو أصلا ده في مقرر الشرح لو لسه بدري على الكلام ده
          خلاص يبقى نفهم منه عشان نستخدمة عادي
          وجزاك الله خيرا

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

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

          الشرح
          ===
          فى ال rollout الأول visibility keyer هتلاقى عندك اتنين جروب first done و secound done فى الجروب الأول ستحدد بدايه الفريم ونهايته 0 و 5 ثم تضغط key هتلاقيه عملك اتنين key اتوماتك لظهور المجسم وده طبعا وانت مختار المجسم ثم أضغط على ال key اللى تحته هتفهم عمل ايه

          فى الrollout (flash all) s هتجيب عده مجسمات وتختارهم وتحدد بدايه الأنيمشن ونهايته وتضغط الزر ستفهم ماذا حدث وحدك

          فى تالت واحد grow all أختار مجسم واحد وغير العدد الخاص بالنسخ الى numb وجرب التالت زراير اللى تحت كلا على حده وسوف ترى النتيجه التى تحدث عنها فى الماضى

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

          تعليق


          • #6
            سكربت جميل
            عندي إقتراح إنك تعمل لكل مجموعة إتضيف زر Track View به منيو Linear , loop , والمجموعة كامل
            ولو كان التحديد لفريم معين
            لأنو الكل مرا بيحتاج الإختفاء متقطع ومرات بيحتاج الإختفاء فيه نعومة

            تعليق


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

              منهم أثنين بالفعل يمكنك فيهم عمل ما تقول ولكن بشكل غير متخصص فيمنك فى أحدهم فعلا عمل ذلك عن طريق ضبط ال key الأول على 0 واللى فى المنتصف على 0.8 والأخير على 1 وبذلك تحصل على نعومه كاللتى تقصدها

              تعليق


              • #8
                انا جربت سكربتك وفي امكانية أعمل النعومة والتقطيقع مثل ما حكيت انت
                بس أنا قصدي ليس فقط على هذين الأمرين ووإنما باقي المجموعة مثل الصورة المرفقة

                تعليق


                • #9
                  هذا والله مجهود جميل ومبارك باذن الله
                  ابو محمد
                  قال غاندي:
                  سيستهزؤون بك ثم يحاربونك ثم يقاومونك ثم يؤمنوا بك ثم يتبعوك ، النجاح ببساطة قضية إيمان ينبت ، يكبر في الاعماق و لا يكثرت بالمتهكمين و الناقمين و المستهزئين، النجاح انتظار للحظة التتويج، النجاح استصغار للحظات الاستعداد و المواجهة ، النجاح يقين بان ما تفعله يناسبك.

                  اخرالاعمال :
                  http://www.maxforums.net/showthread.php?t=212605

                  تعليق


                  • #10
                    السلام عليكم ورحمه الله وبركاته

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

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

                    جزاكم الله خير الجزاء لمروركم الكريم

                    تعليق


                    • #11
                      هو بس انا هستفسر منك علي شويه حاجات
                      في الحته

                      if i.visibility == undefined then
                      (
                      i.visibility = true
                      (addnewKey i.visibility.controller f03_val).value = vis03_val
                      (addnewKey i.visibility.controller f04_val).value = vis04_val
                      )

                      else
                      (
                      (addnewKey i.visibility.controller f03_val).value = vis03_val
                      (addnewKey i.visibility.controller f04_val).value = vis04_val

                      هو انت ليه هنا حاطط if visibility undefined ومحطتهاشي في الكود اللي قبله مع انها ممكن تمسي برضه
                      ,وليه هنا مستخدم ؟else
                      ومستخدمتوش في اللي قبلها.؟ هو ده ايرور ماسك؟ ولا ايه ؟
                      اسف ان كان السؤال ينم عن جهل لكن معلشي استحملني
                      Rigging reel 2012

                      character Tools reel 2012




                      تعليق


                      • #12
                        اولا أحب أقولك ان سؤالك ينم على ملاحظه قويه مش جهل ولولا انك مصدقك فى كونك لسه بتتعلم لكنت قولت انك فاهم كل شئ وتبغى امتحانى...
                        اما عن اجابه سؤالك فأنا مش متذكر جدا ليه انا عملت كده لأنه كان من زمان... بس على ما أتذكر فأن خاصيه الظهور دى لا تظهر الا اذا عملتلها اينابلد وهذا ما يحدث عندما يكون المجسم أستخدم عليه الأسكربت لأول مرة ولكنى أعتقد ان هذا الأمر تحسن فى الأصدارات الأخيره أما بالنسبه لل key الثانى فأنا أختبرت فيه كون المجسم به خاصيه الظهور ام لا وخاصيه if...then......else دى عمليه شرطيه تكلمت عليها أكثر فى منتدى الأسكربت وهى كأنك تقول للكومبيوتر اذا وجدت كذا أفعل كذا وان لم يكن else أفعل كذا... وفى مثالى هنا قلت له ان لم يكن المجسم به خاصيه الظهور أجعل له خاصيه ظهور وضع له أنيمشن اما كان به else أفعل الأنيمشن فقط

                        وده فعلا زى ما أنت بتقول أيرور ماسك وعلى فكرة انا اول مره اسمع التعبير ده بس فعلا انا كده أستفدت منك العباره دى

                        دى حاجه الحاجه التانيه اما بصيت دلوقت للأسكربت لقيت فيه عيوب تقنيه وده للأمانه بس كان ساعتها جميل جدا وطبعا انا مش قصدى ان اللى هيستعمله هيلاقى مشاكل لأ طبعا بس انا بتكلم من الناحيه التقنيه فأنا ارى الأن انه كان يمكن الأستغناء عن بعض الأمور والسطور وكتابه أدوات أخرى أقوى وأكثر تحديدا وهذا ما اريد ان تعلموه فدائما يمكنك كتابه او تعديل اى اسكربت حسب مطتلباتك فطالما اجد من يكتبون اسكربتات وهم أقوى منى ولكن أسكربتاتهم أجدها اما كانت على ماكس 2 او 3 مثلا او قد تكون غير مناسبه لى فأجدنى اما اعدل فيها او أخذ منها فى أسكربت أخر اكبر وهكذا يمكنك دائما التعديل فى الأسكربت حسب متطلباتك وحسب إحتياجاتك ... القاعده الذهبيه لا يوجد كبير فى الأسكربت وكلنا نحتاج الأسكربت سواء ان نكتب واحد او نعدل فى أخر او ندمج ثلاث أخرين وهكذا

                        اما عن كثره الأسئله فو الله يا أخى انى للأفضلها عن السكوت او الشكر وخلاص ... فأتمنى ان يسألنى كل الناس طوال الوقت

                        جزاك الله خيرا على أسئلتك

                        تعليق


                        • #13
                          السلام عليكم والله العظيم مابختبر ولا حاجه انا فعلا بسال السؤال ده لاني عاوز اساله انا قعدت امبارح طول العصريه مبحلق في الاسكريبت بتاعك لغايه مصدعت وقعدت اغير حاجات واجرب ماشاء الله تسلم ايدك هو يتوه بس من كتر المتغيرات اللي فيه لكن ياعم انا عمري معرف اكتب سكريبت كده من دماغي لسه الا الحاجات الصغيره المعروفه وبالنسبه للايرور ماسك ده مش من عندي ده باين كانت في الاسطوانات بتاعه الاسكريبت اعتقد الاولي لما كان بيتكلم عن الامر catch او لما كان بيقول انك لما تضغط علي الزرار ومتكونشي مختار مش فبتعمل ماسك للايرور ده بحيث انه ميهنجشي الدنيا عموما انا كنت ملخص الكلام ده وممكن ابقي اشوفها هي في انهو حته
                          لكن ان انا بختبرك لا ياعم انا غلبان عالاخر في الاسكريبت
                          مره تانيه بحييك علي وقتك ومجهودك وجزاك الله خير
                          Rigging reel 2012

                          character Tools reel 2012




                          تعليق


                          • #14
                            اه صحيح حته الشرطيه ديه انا فاهمها بس انا قصدي ليه استخدمت الشرطيه هنا بس ومستخدمتهاشي في الحته اللي قبلها خصوصا اني مش حاسس انها مهمه قوي ولا ايه ؟
                            Rigging reel 2012

                            character Tools reel 2012




                            تعليق


                            • #15
                              كده انا فهمت تمام وأسكريب فعلا مفيد جدا جدا
                              جزاك الله خيرا

                              تعليق

                              يعمل...
                              X