เมนูเพิ่มเติม
เข้าชม: 1775|ตอบกลับ: 0

[Adminstrator]


เหงาจุง

อาสึนะ คิริโตะ HBD Tz Azusa Yui Mikasa Ackerman Hatsune Miku Tokisaki Kurumi 2Y Yatogami Tohka Itsuka Shido Tobiichi Origami Itsuka Kotori Yoshino Tokisaki Kurumi Kuriyama Mirai Yaya Mio Yukina Tsumugi HBD Miku 7Y Halloween 2014 Sinon  Christmas ! 2014 Happy new year 2015 Saitama Inori วันแม่ 2559

  • โมเอะ: 47529
  • Money: 5462138
  • Tz: 51246
  • Posts: 5429
  • Donate: 970 THB
  • Joined: 11-11-2011
พลังน้ำใจ: 196545
   Pet:
Rem V.1
หัวฟ้านางเอก

โพสต์เมื่อ 10-12-2011 22:05:43 |แสดงโพสต์ทั้งหมด
เจาะรายละเอียดjumping blob effect ของai-chan
เป็นAutomation 4 ที่เขียนด้วยภาษาlua เพื่อให้สะดวกต่อการใช้งาน
และเพราะว่ามันเป็นของที่ผู้ใช้อย่างเราๆเขียนขึ้นมาเอง อาจจะมีบั๊กบ้าง

สิ่งที่อธิบายไป อาจจะไม่มีให้ใช้ในอนาคต หรือ มีอะไรเพิ่มขึ้นมาอีกเรื่อยๆ
ทั้งนี้ทั้งนั้นขึ้นกับว่าคนเขียนพัฒนามันไปในแนวทางใด

รูปแบบeffect jumping blob นั้น
พัฒนามาหลายเวอร์ชั่นในที่นี้ ผมจะกล่าวถึงเวอร์ชั่น2.04a
ซึ่งเป็นเวอร์ชั่นที่อัพเดตล่าสุด ขณะผมเขียนบทความนี้

สิ่งที่เอฟเฟคนี้จะทำก็คือสร้างบรรทัดใหม่ แล้วใส่โค้ดตัวกระโดดเพิ่มเท่านั้น
ไม่มายุ่ง เซ็ตหรือปรับเอฟเฟคส่วนข้อความปกติของเรา แต่จะสร้างบรรทัดและโค้ดเพิ่มขึ้นมา
โดยมีตัวกระโดดในที่นี้ผมขอเรียกว่า "ลูกบอล"  ออกมาเด้งไปมาเท่านั้น ไม่ไปยุ่งกับของเดิม
ถ้าเราไม่ชอบก็ลบบรรทัดที่เพิ่มขึ้นมาออกได้ ก็จะกลับเป็นปกติเหมือนเดิม


โดยหลักๆมีลักษณะหน้าตาดังนี้



เราจะเห็นเลขเวอร์ชั่นอยู่ด้านบน ตรวจสอบเวอร์ชั่นกันให้ดีๆ

มาดูเอฟเฟคของJumping Blob กันก่อน


จากภาพ
บรรทัดแรก คือ การเล่นเอฟเฟคแบบธรรมดาครับ Force to top
บรรทัดที่2 คือการเล่นเอฟเฟคแบบคลื่น Wave movement
บรรทัดที่3 เป็นการเล่นเอฟเฟคแบบForce to top โดยใส่ delay เพิ่มจากปกติอีก2ตัว
โดยใช้สีต่างกัน พูดง่ายๆจริงๆมีลูกบอล3ลูก ตัวเวลาปกติ1ลูก และตัวเวลาดีเลย์อีก2
ส่วนทางด้านขวา จะเห็นว่าเล่นเอฟเฟคแบบแนวตั้งสำหรับคันจิได้ด้วย


mode เอาไว้เลือกโหมด ในที่นี้มี3แบบ




-Auto
  เลือกอัตโนมัติ โปรแกรมจะปรับแต่งให้เอง อัตโนมัติ
โดยขึ้นอยู่กับตำแหน่งที่วางข้อความ เช่นถ้าวางที่ตำแหน่ง\an8 ลูกบอลจะอยู่ด้านล่าง
ถ้าวางตำแหน่งที่\an2 ลูกบอลจะอยู่ด้านบน เป็นต้น

-Force to top เป็นการกระโดดเหมือนบรรทัดแรกของภาพตัวอย่างข้างบน

-Wave movement เป็นการกระโดดแบบบรรทัดที่2ของภาพบนหรือเป็นคลื่นไปมา


Apply effect to ไว้เลือกว่าใช้กับบรรทัดไหนบ้าง ตรงนี้จะมีบรรทัดขึ้นเองโดยอัตโนมัติขึ้นอยู่กับว่า
เรามีstyle และactor อะไรบ้าง



- All lines แอดใส่ทุกบรรทัด
- Selected lines แอดใส่บรรทัดที่เลือก โดยตัวที่มีstyleเหมือนกันจะถูกadd ใส่ด้วย
- linesต่างๆ อันนี้จะขึ้นมาเองตามสไตล์ที่เรามีอยู่ทั้งหมด สไตล์ที่ถูกเลือกในช่องนี้จะถูกใส่เอฟเฟค
- actorต่างๆ อันนี้จะขึ้นมาเองตามactorที่เรามีอยู่ทั้งหมด actorที่ถูกเลือกในช่องนี้จะถูกใส่เอฟเฟค


Style of the blobs ให้เลือกสไตล์ของลูกบอลครับ ว่าจะมีสไตล์แบบไหน สีอะไร
โดยสไตล์เหล่านี้มาจากที่เราสร้างไว้ในstyles managerครับ


- Same with lines เหมือนบรรทัดที่เราเลือกอยู่ในปัจจุบัน
- สไตล์ต่างๆ เกิดขึ้นตามสไตล์ที่เรามีอยู่ทั้งหมด



The blob  เอาไว้ใส่สิ่งต่างๆไม่ว่าจะ ตัวอักษร หรือ รูปที่วาดด้วยaccDraw
เป็นตัวที่ไว้กระโดดหรือในที่นี้ผมเรียกว่า "ลูกบอล" ตลอดจนtagต่างๆ เพื่อให้เกิดเอฟเฟคกับลูกบอล



นอกจากนี้ยังมีความพิเศษที่มีตัวแปรเฉพาะที่ผู้สร้าง สร้างมาให้เราใช้ในนี้เท่านั้น ได้แก่
    * $syl$ ข้อความตัวอักษร โดยจะถอดออกมาจากบรรทัดต้นแบบ
    * $start$ เวลาเริ่มต้นของคำหรือข้อความต้นแบบ
    * $end$ เวลาสิ้นสุดของคำหรือข้อความต้นแบบ
    * $mid$ เวลาระหว่างจุดเริ่มต้นกับจุดสิ้นสุด
    * $kdur$ ช่วงเวลาของ \kdur
    * $halfdur$ ครึ่งนึงของช่วงเวลาdur
    * $dur$ ช่วงเวลา dur




Lead in ความเร่งขาเข้า ตอนเริ่มต้นของแต่ละบรรทัด เราอาจจะอยากให้มันช้าหรือเร็ว ยิ่งใส่ค่าเยอะยิ่งช้าลง
Lead out ความเร่งขาออก ตอนจะสิ้นสุดของแต่ละบรรทัด ปรับให้มันช้าหรือเร็วได้ ยิ่งใส่ค่าเยอะยิ่งช้าลง

เวลาตรงนี้จะไปใส่ใน\tครับ
ทบทวน  \t(เวลาเริ่มต้น,เวลาสิ้นสุด)
เอฟเฟคจะไปใส่ประมาณดังนี้\t(0,Lead in) หรือ \t(0,Lead out)
แปลว่าจากระยะเริ่มต้นปกติ จนถึงเวลาlead in มีการเล่นเอฟเฟคนี้
หรือจากระยะเริ่มต้นปกติ จนถึงเวลาlead out มีการเล่นเอฟเฟคนี้



Fade in เวลาเอฟเฟค\fad ตอนเข้า ยิ่งค่ามากยิ่งชัดขึ้นช้าลง
Fade out เวลาเอฟเฟค\fad ตอนออก ค่ายิ่งมากยิ่งค่อยๆหายไปเร็วขึ้น
เอฟเฟคใน tags \fadนั่นเอง คงจำการใช้งานกันได้

เอฟเฟคจะใส่ที่บรรทัดแรกดังนี้ \fad(Fade in,0)
เอฟเฟคจะใส่ที่บรรทัดสุดท้ายดังนี้ \fad(0,Fade out)

ทบทวน \fad(t1,t2) เกิดเอฟเฟค
จะทำให้ภาพลูกบอลค่อยๆชัดขึ้นจนถึงเวลาที่t1 จะชัดขึ้น100%
และจะทำให้ภาพลูกบอลค่อยๆหายไปตั้งแต่เวลาที่t2 จนถึงเวลาสิ้นสุด




Lines label ไว้ใส่ชื่อactorเอฟเฟคที่ออกมา ปกติจะแรนด้อมเลขมาให้
มีประโยชน์ให้เราดูได้ว่าอะไรเก่าใหม่ และเลือกลบ ปรับปรุงเปลี่ยนแปลงได้
ปกติผมใช้เวลาที่จะลบเมื่อเอฟเฟคกระโดดนั้นๆไม่ถูกใจ


วิธีการลบเวลาเกิดได้ลูกบอลที่ไม่ถูกใจ
ที่ผมใช้ปกติ  คือ select line  พิมพ์ชื่อactor แล้วเลือกactor
จากนั้นกดปุ่มโอเค โปรแกรมจะเลือกActorนั้นๆทั้งหมดให้ เราก็สามารถลบได้




Insert blob lines ให้เลือกว่าใส่บรรทัดของเอฟเฟคไว้ที่บรรทัดไหน


- After original line หลังบรรทัดต้นแบบ
- Before original line ก่อนบรรทัดต้นแบบ
- At the end (after all lines) ที่บรรทัดสุดท้ายหลังบรรทัดทั้งหมด



Advanced settings


delay  ตามชื่อเลย ทำให้เกิดการดีเลย์ หน่วยเป็นmilliseconds ทำให้ลูกบอลช้ากว่าเวลาปกติ

acc  ย่อมาจาก acceleration เป็นค่าความเร่งที่จะใช้\t
ทบทวน\t(เวลาเริ่มต้น,เวลาสิ้นสุด ,ความเร่ง) มีผลต่อการกระโดดของลูกบอล

xmod ถ้าไม่เป็นค่า 0 จะทำให้ตัวกระโดดห่างจากเป็นระยะปกติ เป็นระยะแนวแกนxหรือแนวนอนของตัวอักษร
             เป็นการกำหนด\org(จุดxปกติ+xmod,y)

ymod แบ่งเป็น2กรณี
- สำหรับwave movement
จุดyปกติจะอยู่ในตำแหน่งกึ่งกลางตัวอักษร
จะเป็นการเซ็ต \org(x,จุดyปกติ+ymod) ทำให้ลูกบอลอยู่ต่ำกว่าปกติ
            
- สำหรับjumping mode  
ตำแหน่งyปกติอยู่ที่ระดับความสูงของตัวอักษร
จะเป็นการเซ็ต \org(x,จุดyปกติ-ymod) ทำให้ลูกบอลอยู่สูงกว่าปกติ


wave_ccw  ค่าที่เซ็ตมีเพียงtrue กับ false ครับ เป็นการกลับด้านของเอฟเฟค  
- เซ็ต true เมื่อต้องการให้มีการกลับด้าน เช่น ปกติอยู่บนก็จะกลายเป็นอยู่ด้านล่าง
- เซ็ต false เมื่อต้องการให้เป็นปกติ เอฟเฟครูปแบบเดิม

wave_angle องศาการหมุนมีค่าตั้งแต่ 0 ถึง 360 เป็นการหมุนของคลื่น




First and last blob ตำแหน่งแรกและตำแหน่งสุดท้ายของลูกบอลครับ
ไว้เซ็ตว่าจะให้เริ่มต้นตรงไหนและสิ้นสุดที่ใด ในแต่ละบรรทัด
ซึ่งโดยปกติจะเซ็ตไว้ที่ความสูงของบรรทัดนั้นๆ(line.height)



รูปแบบ  first = {x, y, sw}
โค้ดปกติ first = { -line.height * 2, 0, 0.5 };
    * x : ตำแหน่ง x ของลูกบอลก่อนที่จะเริ่มต้นกระโดด (line.hieght คือ karaskel หมายถึงความสูงของบรรทัด)
           ในที่นี้ -line.height * 2 ก็คือ ตำแหน่งลบความสูงของบรรทัด คูณ2
            \pos(ค่าปกติ-x,ค่าปกติ)

    * y:  ตำแหน่งแกน y เริ่มต้นของลูกบอลก่อนที่จะกระโดด ในที่นี้ก็คือ  0
           \pos(ค่าปกติ,ค่าปกติ+y)

    * sw: มาจากคำว่าswing ยอมรับค่าตั้งแต่ระหว่าง 0 กับ 1 สามารถใส่เป็นจุดทศนิยมได้
          1 หมายถึง สวิงได้เต็มที่180องศา หรือตาม wave_angle ที่เราเซ็ต
                          ในตำแหน่งแรกของข้อความ
          0 หมายถึง ไม่หมุนเลย 0 องศา เริ่มมาลูกบอลจะหยุดอยู่กับที่
                          ที่ตำแหน่งแรกของข้อความ


รูปแบบ last = {x, y, sw}
โค้ดปกติ last = { line.height * 2, 0, 0.5 };

    * x : ตำแหน่ง x ของลูกบอลก่อนที่จะสิ้นสุดการกระโดด (line.hieght คือ karaskel หมายถึงความสูงของบรรทัด)
                          ในที่นี้ line.height * 2 ก็คือ ตำแหน่งความสูงของบรรทัด คูณ2

    * y:  ตำแหน่ง y เริ่มต้นของลูกบอลหลังที่จะสิ้นสุดกระโดด ในที่นี้ก็คือ  0

    * sw: มาจากคำว่าswing ยอมรับค่าตั้งแต่ระหว่าง 0 กับ 1 สามารถใส่เป็นจุดทศนิยมได้
          1 หมายถึง สวิงได้เต็มที่180องศา หรือตาม wave_angle ที่เราเซ็ต
                          ในตำแหน่งสุดท้ายของข้อความ
          0 หมายถึง ไม่หมุนเลย 0 องศา ลูกบอลจะหยุดอยู่กับที่
                           ที่ตำแหน่งสุดท้ายของข้อความ


---------------------------------------------
เอาล่ะครับจะเห็นกันได้ว่า ความพิเศษกันจริงๆนั้นคือส่วนthe blob

ซึ่งสามารถผสมผสานtags ต่างๆได้นั่นเอง ดังนั้นตรงส่วนนี้เราสามารถเล่นเอฟเฟค
กับลูกบอลของเราได้เต็มที่ เช่น

{\t(0,$halfdur$,\fscx50\fscy50)\t($halfdur$,$dur$,\fscx100\fscy100)\p2\shad0}m 23 0 l 15 12 l 0 16 l 10 27 l 9 42 l 23 36 l 37 42 l 36 27 l 46 16 l 31 12{\p0}
นำไปใส่ในthe blob

อธิบาย
\t(0,$halfdur$,\fscx50\fscy50)
เป็นการย่อขนาด 50%  ของช่วงเวลาครึ่งแรก ของตัวคาราโอเกะ
\t($halfdur$,$dur$,\fscx100\fscy100)
เปลี่ยนเป็นขนาด 100% ของช่วงเวลาครึ่งหลัง ของตัวคาราโอเกะ

-------------------------------
คราวนี้เราอาจจะเล่นเปลี่ยนสี หรืออื่นๆได้ครับ
เราอาจจะใส่2เอฟเฟคJumping ก็ได้
ครั้งแรกใส่ {\t(0,$halfdur$,\1c&HFF88CC&)\t($halfdur$,$dur$,\1c&HFFCC00&)\p2\shad0}m 23 0 l 15 12 l 0 16 l 10 27 l 9 42 l 23 36 l 37 42 l 36 27 l 46 16 l 31 12{\p0}
ครั้งที่2ใส่ {\t(0,$halfdur$,\1c&HFF88CC&)\t($halfdur$,$dur$,\1c&HFFCC00&\fscx20\fscy20)\p2\shad0}m 23 0 l 15 12 l 0 16 l 10 27 l 9 42 l 23 36 l 37 42 l 36 27 l 46 16 l 31 12{\p0}

อธิบาย
ครั้งแรก
         - \t(0,$halfdur$,\1c&HFF88CC&)  เซ็ตสีครึ่งแรกเป็นสีม่วง
         - \t($halfdur$,$dur$,\1c&HFFCC00&) เซ็ตสีครึ่งหลังเป็นสีฟ้า

ครั้งที่2 เปลี่ยนแปลงแค่
         - \t($halfdur$,$dur$,\1c&HFFCC00&\fscx20\fscy20) ขนาดครึ่งหลังค่อยๆลดเหลือ20%

เมื่อทำแล้วจะเห็นเอฟเฟครูปดาวซ้อนกันครับ


ปิด

ประกาศจาก Admin

ช่วยบริจาคค่า VPS หน่อยจ้า
ช่วยบริจาคค่า VPS หน่อยจ้า
ช่วยหน่อยเนอะ ไม่ได้บังคับนะเออ เเต่สักหน่อยก๊ยังดี ^^

ดู »

ThaiZeed

|ดูการ์ตูนออนไลน์|โหลดการ์ตูน|Doujin|ดูการ์ตูนซับไทย|ดูการ์ตูนพากย์ไทย|อ่านการ์ตูน|

GMT+7, 11-12-2016 11:03 , Processed in 0.033709 second(s), 16 queries , Xcache On.

Powered by Discuz!

© 2001-2012  Template BY: GDC & 2th