مرحبا بك أخي أوتيم ac3
المشاركة الأصلية كتبت بواسطة اوتيم
شكرا اخي على الترحيب
المشكله لم تحل
انا عرفت متغير باسم a ووضعت line.end_time
الان عملت التاثير
t(%d,%d,\\alpha&Hff) a-20,a
المفروض يكون التاثير مثل الفايد
الصحيح انه زبط
لكن جاء بوقت مش قبل نهايه الجمله
يعني ما بلحق كم مقطع وبتختفي الجمله
قلت ماشي منجرب ومنضرب a
ضربت
وضليتني وراها تنها اجت زي ما بدي
لكن بالجمل الثانيه التاثير مرات بسبق نهايه الجمله بكثير
ومرات ما بظهر حتى
ان شاء الله تكون فهمت علي
وان شاء الله الاقي الحل عندك
المشكلة التقليدية ......
القاعدة التي تتكرر دائماً هي :
" في نظام الأوتوميشن 3 , يحسب وقت بداية ونهاية
السطر ومدته ...ألخ بالأجزاء من المائة من الثانية , أما أوقات
المقاطع الصوتية و وقت الكود t تحسب بالجزء من الألف من الثانية "
على الأقل , هي تطبق في ما كتبته هنا , ما حدث أن الكود t (الذي يهتم بأخذ وقت لبداية التأثير يحسب بالأجزاء من الألف من الثانية بالنسبة لبداية السطر )
هذا الكود أخذ وقت النهاية بقيم صغيرة خطأ (1/100) في حين أنه يجب أن يأخذها وهي مضروبة في عشرة (1/1000) لهذا يبدأ عندك تأثير Fade قبل أن ينتهي وقت الجملة .....
إليك سطر (قد) يعمل عندك(لأني لم أجربه) ((بفرض أن التأثير الذي تريده هو Fade Out فقط
كود:
l.end_time = l.end_time + 20
l.text = string.format("{\\pos(%d,%d)\\an5\\t(%d,%d,\\alpha&HFF&)}%s", x,y, line.duration*10, (line.duration*10)+200, syl.text_stripped)
حسناً هما سطران .....
في السطر الأول , سيتم تمديد وقت نهاية السطر بعشرين جزء من المائة من الثانية (والتي تساوي lمائتين جزء من الألف, تذكر هذا لأنك ستستخدمه مع الكود t )
في السطر الثاني سيبدأ التلاشي في وقت نهاية السطر
لاحظ هنا إستخدام line.duration , وهو يحمل قيمة تساوي طول المقطع الصوتي ... لاحظ عدم إستخدام line.end_time لأن هناك إحتمال كبير ألا ينجح في الأسطر التي تلي أول سطر (أحس أني سمعتك تقول أن المشكلة تبدأ في الجملة الثانية ^^)
كلام طويييل Blaaaaaaaah blaaaaaaaaaah
إن أردت معرفة السبب بالتفصيل فهو كالتالي :
إفرض أن بداية أول سطر هي 0 ونهايته هي 50 , ستكون مدته هي خمسين , لهذا يضبط ذلك السطر ...
لكن السطر الثاني الذي يبدأ بعد الأول 50 وأفرض أنه ينتهي في 120 سيحسب الكود t الوقت من 120 وهذا لا يعد وقت نهاية السطر بالنسبة للكود t بل وقت النهاية بالنسبة له سيكون 70 (مضروباً في عشرة طبعاً) للسبب الذي ذكرته , فهذا الكود يحسب وقت النهاية والبداية بشكل نسبي(بالنسبة للسطر الذي كتب فيه)
لهذا إستخدم line.duration في مثل هذه الحالات , فهو سيعطيك القيم المناسبة ...
بلات بلاب لبا بلابلابلبابابللباغبالارل , طولت في كلامي شوية ><
إذن إستخدمنا Line.duration ثم ضربناه في عشرة ليتوافق مع الكود t
وأخيراً , وقت نهاية تأثير التلاشي هو وقت بدايته line.duration زائد 200 , وهذا الرقم ليس إعتباطي يمكنك تبديله أو ضربة وقص رقبته ^^
بل هو موجود لأننا إخترنا أن نمد وقت نهاية السطر 20 جزء من المائة من الثانية (20*10=200 ليتوافق مع الكود t)
اقول أخي أوتيم , إذا لم ترد أي وجع رأس (وهذا من حسن حظكم يا من تعلمتم الكاريوكي بعد إيجي 2.0 ) عليك بإستخدام Auto 4 في أعمالك , فهو يعامل وقت الأسطر ووقت المقاطع جميعاً بالأجزاء من الألف من الثانية , لهذا فهي متوافقة من أصلها مع الكود t ...
عذراً على الإطالة
المفضلات