Last visit was: It is currently Sun May 27, 2018 6:50 pm


All times are UTC + 7 hours




Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: HeroMaster: the Making of
PostPosted: Tue Mar 25, 2008 6:07 am 
แมลงยักษ์
User avatar

Joined: Sat Feb 16, 2008 8:51 am
Posts: 6873
Location: หางงอก!
ว่าจะทำเบื้องหลังการทำเกมส์มานานแล้ว จุดประกายความรู้สำหรับผู้ที่สนใจครับ
(และเผื่อจะเอาไปลงหนังสือช่วยโปรโมทน่ะ :lol: )

Image

จะเขียนอธิบาย ขั้นตอนทั้งหมดการทำของตัวฉากสุดท้าย
ตัวอย่างการขึ้นโมเดลบอสใหญ่ การ Texture+UV
การ setUp การ Animate การทำ FX รวมไปถึงรายละเอียดปลีกย่อยอื่นๆ
เป็น How to แบบค่อนข้างไปเร็วมากๆ สำหรับคนที่พอรู้เรื่อง 2D-3D อยู่แล้ว

น้องๆหลายคนอยากทำงานแนวนี้ จริงๆงานอะไรก็สนุกและมีความหมายทั้งนั้นถ้าเราตั้งใจทำ
งานเกมส์ดูเหมือนยาก จริงๆทุกงานมีความยากง่ายและปํญหาของมันเองเหมือนกันทุกอย่างอยู่แล้ว
ยังไงถ้าอยากรู้ว่าไอ้เกมส์นี่เค้าทำกันยังไง ลองติดตามกันดูครับ :geek:


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: Behind the Scene
PostPosted: Tue Mar 25, 2008 6:08 am 
แมลงยักษ์
User avatar

Joined: Sat Feb 16, 2008 8:51 am
Posts: 6873
Location: หางงอก!
--- Model& Texture ---

1. ก่อนอื่นเลยเราจะต้องมีแบบตัวโมเดลที่เราจะทำและวิธีการเคลื่อนไหวของมันอยู่ในหัว[และในกระดาษ]ครับ
วิธีการขึ้นก็เหมือนกับโมเดลทั่วๆไป เพียงแต่ว่าเราต้องจำกัดจำนวนโพลีกอนของเราให้น้อยที่สุด
และพยายามทำให้ลายโพลีกอนให้มันวิ่งตามเส้นโค้งเว้าของกล้ามเนื้อและรอยต่อ
วิธีนี้นอกจากจะทำให้เซ็ทกระดูกง่ายแล้ว ยังจะทำให้สะดวกต่อการทำ texture ด้วย

2. พอเราได้ตัวโมเดลใกล้เคียงกับที่ต้องการแล้ว เราก็จะมาดูว่าพื้นที่ตรงไหนใช้ texture ซ้ำกันบ้าง
แล้วลบพื้นที่นั้นๆออกไป อย่างตัวหัวหน้าใหญ่นี่พื้นผิวซ้ายขวามันเหมือนกันเราก็จะลบวีกขวาออกไปซีกนึงเลยครับ
พอเราส่งไปทำ UV เสร็จแล้วเราจะก็อบปี้ซีกซ้ายที่เหลืออยู่มากลับด้านเป็นด้านขวา
แค่นี้เราก็จะได้โมเดลที่ใช้ texture ซ้อนกัน เป็นการประหยัดพื้นที่ทำให้เราสามารถเพนท์
ซีกที่เหลืออยู่ให้ใหญ่และชัดขึ้น จริงๆตรงนี้สำคัญมากครับ เพราะวีดีโอการ์ดมีเนื้อที่ความจำจำกัด
ดังนั้นเราจึงต้องให้ประโยชน์จากเนื้อที่นี้ให้มากที่สุด ขนาดของ Texture ส่วนใหญ่จะเป็น
เลขฐาน 2 เพราะง่ายต่อการคำนวนย่อขยายของคอมพิวเตอร์ ขนาดปกติที่ใช้กันก็มีตั้งแต่
32x32 ถึง 1024x1024 ซึ่งก็แล้วแต่ขนาดของตัวโมเดล

3. UV เนี่ยตัดยังไงก็ได้ให้ระบายสีง่ายที่สุดครับ โดยปกติแล้วเราตัดตรงที่เป็นจุดเชื่อมต่อ
และแยกเป็นส่วนๆ เช่น ลำตัว แขน ขา อะไรอย่างนี้ ที่ต้องระวังก็คือเราต้องพยายามทำให้
texture ทั้งหมดมีขนาดใกล้เคียงกันตามขนาดพื้นที่ เวลาระบายสีออกมาจะได้ความละเอียด
ใกล้เคียงกันทุกส่วน (ยกเว้นแต่ตรงไหนที่ต้องการความละเอียดเป็นพิเศษครับ เช่น ส่วนหัว)


ภาพตัวโมเดลที่เสร็จแล้ว ตัวนี้ตกอยู่ที่ประมาณ 1500 โพลิกอน หรือ 3000 tri ครับ

Image


4. มาถึงตรงนี้ถ้าใครมีโอกาส L.O.D. ก็ทำเถอะครับ เพราะจะช่วยให้เกมส์ประหยัด CPU ไปได้โข
(Level of Detail เป็นนำเอาโมเดลตัวเดิมมาลดโพลีกอนลง เพื่อใช้เวลาโมเดลนั้นอยู่ไกลๆและไม่ต้อง
การรายละเอียดมาก)


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: Behind the Scene
PostPosted: Tue Mar 25, 2008 6:09 am 
แมลงยักษ์
User avatar

Joined: Sat Feb 16, 2008 8:51 am
Posts: 6873
Location: หางงอก!
--- Animation ---

จะขอข้ามหลักการอนิเมทเบื้องต้นไปเลยนะครับ เพราะมีคนเก่งๆเขียนตรงนี้เยอะแล้ว
จะไปที่ขั้นตอนการทำงานเลยครับ

1. ก่อนอื่นเลยเราต้องรู้ก่อนว่าเราต้องการจะสื่ออะไรจากอนิเมชั่นของเรา
99% จะเป็นการอนิเมทตัวละครที่มีลักษณะและอุปนิสัยแตกต่างกัน (อีก 1% เป็นการอนิเมทของหล่น :lol: )
ดังนั้นเราต้องคิดตรงนี้ให้เคลียร์ก่อน ยิ่งลักษณะตัวละครแต่ละตัวแตกต่างกันเท่าไหร่
ความแตกต่างนั้นจะยิ่งส่งเสริมกันและกัน ทำให้อุปนิสัยของแต่ละตัวเด่นขึ้นมาครับ

2. พอเราได้ลักษณะท่าทางอุปนิสัยของตัวละครแล้วเราก็มาเริ่มอนิเมทกัน
ก่อนอื่นเลยเราจะต้องหา Base Pose หรือ ท่าทาง frame แรกของตัวละครของเรา
ท่านี้สำคัญมาก เพราะโดยปกติแล้วอนิเมชั่นสำหรับเกมส์จะเป็นอนิเมชั่นแบบลูป(วน)
เมื่อตัวละครเราเล่นอนิเมชั่นใดๆก็แล้วแต่ เมื่อเล่นจบแล้วโดยปกติมันจะวนกลับมาที่ท่านี้แหละ
ดังนั้นท่านี้จึงเป็นทั้งท่าต้นและท่าจบของทุกท่าทางครับ

3. จาก Base Pose เราก็จะมาอนิเมทท่าทางที่ต้องการ ตอนนี้เราไม่ต้องสนใจเรื่อง timing เลยครับ
ทำ Pose หลักๆ ที่คิดว่าตรงกับลักษณะอุปนิสัยของตัวละคร ไปจนจบท่าทางที่ต้องการ
ตรงนี้นี่มีทริคนิดหนึ่ง คือแนะนำว่าอย่าไป Pose ตรงที่เป็น Extreme(หรือจุดสูงสุดของอนิเมชั่น)
แต่ให้ไป Pose ตรงช่วงต่อเข้าออกจากท่าหนึ่งไปอีกท่าหนึ่งจะทำงานได้ง่ายและเร็วกว่าครับ
โดยปกติโปรแกรม 3Dจะคำนวนหา Extreme ให้เองอยู่แล้ว ซึ่งเราสามารถมาปรับแต่งได้ทีหลัง
(วิธีนี้เหมาะสำหรับการอนิเมทท่าทางที่มี การเคลื่อนไหวเร็วและค้างค่อนข้างเยอะนะครับ
ท่าทางไหนที่มันไม่มีเข้าและออกให้ Pose ที่ Extreme เลย)

ตัวอย่างหน้าอนิเมทและเส้นกราฟ
Image

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

5. เสร็จแล้วเราก็มาเก็บลายละเอียดเส้นกัน วิธีทำก็ถึก |=| นั่งเลื่อนจุดเพิ่มจุดและปรับค่าให้เส้นกราฟมันวิ่งได้อย่างที่ต้องการ
อันนี้แล้วแต่ความละเอียดของแต่ละคนแล้วครับ หลักๆแล้วของหนักจะหนืดและเคลื่อนที่ออกตัวช้ากว่าของที่เบา
แต่ถ้าไม่มี Friction (หรือเคลื่อนที่อยู่กับพื้น) แล้วจะหยุดยากและใช้เวลาในการหยุดนานกว่า

6. เมื่อเก็บเส้นกราฟเสร็จแล้ว เราก็จะมาเลื่อนกราฟของแต่ละกระดูกให้เคลื่อนไหวไม่พร้อมกัน
โดยปกติแล้วกระดูกที่เคลื่อนที่โดยแรงส่งของกระดูกตัวอื่นจะเคลื่อนที่ช้ากว่า
(เช่นหางของตัวนี้จะขยับด้วยแรงส่งจากการขมิบก้นของมัน :x)
เราก็จะจัดการเลื่อนเวลาเส้นกราฟของกระดูกพวกนี้ไปข้างหลัง สัก 1-10 frame ตามแต่ความเหมาะสม
แต่ระวังทำพวกนี้นี่ อย่าให้ Base Frame ขยับเดี๋ยวท่าทางจะไม่ต่อกันครับ

7. จริงๆเสร็จแล้วครับ อนิเมชั่นของเรา แต่เพื่อความชัวร์ให้เรียกคนอื่นช่วยมาดู
เอาคนที่ไม่รู้เรื่องอนิเมชั่นได้ยิ่งดี เพราะพวกนี้จะดูภาพรวมมากกว่ารายละเอียดปลีกย่อย
ถ้าอนิเมชั่นดูเป็นธรรมชาติไม่โดนติอะไรและสื่อถึงสิ่งที่เราต้องการได้ก็ถือว่าสำเร็จครับ :D

8. ทีนี้เราก็จะมาแปะ Node (หรือจุดเปล่า) ซึ่งเป็นจุดที่เอาไว้ล่อหาค่าตำแหน่งสำหรับ ทำ SpecialFX
บางทีอาจจะต้องอนิเมท Node พวกนี้ด้วย แล้วแต่ไอเดียสิ่งที่จะทำแล้วครับ


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: Behind the Scene
PostPosted: Tue Mar 25, 2008 6:10 am 
แมลงยักษ์
User avatar

Joined: Sat Feb 16, 2008 8:51 am
Posts: 6873
Location: หางงอก!
Post&Final -->

1. ทีนี้เราลอง Export ตัวโมเดล, textute, อนิเมชั่น รวมถึง node ไปตัวเกมส์เราเลยครับ
จากนั้นก็ลองใช้ดู เพื่อตรวจดูครั้งสุดท้ายว่ามีอะไรผิดพลาดมั้ย จริงๆแนะนำให้พยายามแตกทุกอย่าง
เป็นหลายๆไฟล์แยกๆ กันเพื่อกันเหนียว เผื่อว่าเวลาแก้ส่วนนึงจะได้ไม่ไปเผลอโดน
ส่วนอื่นไปด้วย

2. ทีนี้เราก็มาใส่ Special Effect ตามที่เราคิดไว้ วิธีก็มีหลายอย่าง วิธีปกติที่ผมใช้มีสองวิธี
คือ หนึ่ง. ใช้โปรแกรมคำสั่งสั่งให้ตัว Effect เกิดขึ้นมาที่ Node ที่เคลื่อนที่ในอนิเมชั่น (เช่นแสงที่เป็น
แสงหางดาบ) หรือ สอง. สั่งคำนวนให้ Effect เกิดขึ้นตามจุดที่เราต้องการ (relative จากตำแหน่งของ
ตัวละครและองศาของมัน)

3. ใกล้เสร็จแล้ว แต่อย่าพึ่งใจร้อน ก่อนอื่นเลยเราต้องทำเสียงก่อนครับ ให้ใช้โปรแกรม
อะไรก็ได้ cap หนังออกมาจากเกมส์เราเพื่อนำไปวางไกด์เลเยอร์ในโปรแกรมสำหรับทำเสียง
จากนั้นก็หาลักษณะเสียงที่เราต้องการมาวางให้ตรงกับจังหวะแล้ว save เก็บไว้เพื่อนำไปเล่น
พร้อมกับอนิเมชั่นของเราอีกที

ตัวอย่างหนังเทสบอสตัวสุดท้าย


4. นำทุกอย่างมาวางด้วยกันแล้วก็ตรวจดู จากนั้นก็เขียนโปรแกรมคำสั่ง สำหรับเวลาเอาไปใช้จริง
แค่นี้ก็เสร็จแล้วครับ (วันนี้พอแค่นี้ก่อน เรื่องคำสั่งนี่มันยาวมากวันหลังเขียนอธิบายให้อีกกระทู้นึงครับ 8-) )

งานกราฟฟิคเกมส์สามมิติหลักๆส่วนใหญ่ก็มีแค่นี้ แต่ทำจริงๆก็เหนื่อยเหมือนกัน บางทีโช๊ะเดียวเสร็จก็มี
แต่บางทีเจอปัญหาต้องแก้ซ้ำไปซ้ำมาหลายๆทีก็มีครับ
กว่าจะเป็นเกมส์ๆนึงได้เนี่ยต้องทำทั้งหมดนี่หลายร้อยรอบเลย
จริงๆยังมีรายละเอียดอื่นๆ อีกเช่นการจัดฉากจัดแสงทำบทเขียนสคริป ทำเพลง ฯลฯ อีกจิปาถะ
แต่ถ้าใครสนใจด้านนี้ก็อย่าพึ่งถอดใจนะครับ พยายามหาคนช่วยแล้วก็ฝึกไปเรื่อยๆ
ทำไปบ่อยๆเข้าก็จะชินแล้วก็ทำได้คล่องขึ้นเรื่อยๆเองครับ :mrgreen:

ถ้าใครสนใจเรื่องพวกนี้ อ่านเบื้องหลังการทำได้ที่นี่ครับ :arrow: viewtopic.php?f=9&t=348


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: the Making of
PostPosted: Tue Mar 25, 2008 6:26 pm 
ฮีโร่มาสเตอร์
User avatar

Joined: Tue Mar 18, 2008 8:20 pm
Posts: 1334
Location: บ้านนอกคอกนา
เจ๋ง เลย

_________________
Image
สับสนวุ่นวาย


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: the Making of
PostPosted: Tue Sep 23, 2008 8:01 pm 
กัดกัด
User avatar

Joined: Tue Sep 23, 2008 7:27 pm
Posts: 11
ขอบคุณมาก!!

ชักหลงรักจีเอ็มแล้วซิ *-*

_________________
ดิฉัน .. นานา

ตั้งแต่เกิดอยู่ที่นี้มา .. 14 ปี

หลุมหลบภัย .. ทำไมฉันต้องบอก?

คติประจำใจ .. ไม่พร้อมอย่าเสือx



จบแคระ ..


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: the Making of
PostPosted: Tue Sep 23, 2008 8:44 pm 
จ้าวโจรสลัดเคราทอง cybern!
User avatar

Joined: Fri Feb 22, 2008 11:48 am
Posts: 4361
Location: เมืองท่า Tortuga
อ่า admin รับสนใจเด็กน้อยๆ อายุ 14 ไว้เป็นลูกบุญธรรมป่ะคับ :D

_________________
Image


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: the Making of
PostPosted: Thu Oct 02, 2008 8:09 pm 
กัดกัด
User avatar

Joined: Thu Oct 02, 2008 6:52 pm
Posts: 10
ขี้โกง แง้
...หนุ อยากทำได้ มาสอนหนุด้วย แง้T-T..

..แต่ตอนจบมาน มะสมบูรณ์ น่ามีเล่าเรื่องที่ผ่านมา แล้วเกิดไรขึ้นตอนกลับ จากอวกาศ แง้

อยู่ดีดี จบดื้อๆเลย แง้
...หนุ อยากเห็นตอน ชึ้งๆ แง้

กามลังอินกำเนื้อรื่อง ^^ อยากทำเปง บ้างจัง เกมส์


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: the Making of
PostPosted: Fri Oct 03, 2008 7:32 am 
พิก๊าจุ๊บ ร่าง 27

Joined: Sat Apr 26, 2008 2:58 am
Posts: 3606
Location: อยู่ใกล้ๆยัยจอมจู้จี้
เริ่มเหมือนเนิรสเซอรี่เเฮะ

_________________
Image


Top
Offline Profile  
 
 Post subject: Re: HeroMaster: the Making of
PostPosted: Fri Oct 03, 2008 12:54 pm 
ฮีโร่มาสเตอร์

Joined: Fri Mar 28, 2008 1:31 pm
Posts: 1208
เพิ่งเห็นแฮะ น่าสนใจ แต่ไม่เคยแตะไลท์เวฟเลยให้ตาย

หาได้จากไหนบ้างครับ มี Trial ให้ลองบ้างมั้ยน่อ ?

ปล. เป็นแต่โมเดลลิ่ง อนิเมทกากชิทๆ เลยครับ

_________________
Image
--------------------------------------------------------------------------------------


Top
Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC + 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net & kodeki