วันจันทร์ที่ 21 ธันวาคม พ.ศ. 2552

สร้าง Spray รูปภาพสำหรับเกม Left 4 Dead 2

      ตอนนี้กำลังเล่นเกม Left 4 Dead 2 อยู่ครับสนุกดี ในเกมเราสามารถพ่น Spray รูปภาพตามฝาฝนังได้ ในตัวเกมก็มีให้เลือกใช้เยอะอยู่แต่ว่ามันไม่โดนใจ ต้องทำเองถึงจะเข้าท่า ผมเลยไปค้นวิธีการทำจากหลายที่ลองมาทำดูดีกว่าครับ

เบื้องต้น

     ในเกม Left 4 Dead 2 หรือว่าเกมของ Valve ที่ใช้ Source Engine เราสามารถสร้าง Spray ได้โดยใช้ภาพขนาด 256x256 พิกเซล เป็นไฟล์ประเภท jpg,bmp,tga และ vtf ผมแนะนำให้ใช้ไฟล์ประเภท bmp และ tga ครับ ส่วนไฟล์ jpg มีปัญหาเวลาใช้ ส่วนไฟล์ vtf สร้างยากนิดหนึ่ง แต่จะแนะนำทีหลังครับ

     สร้างไฟล์โดยใช้โปรแกรมตกแต่งภาพทั่วไปตามแต่สะดวก ตัวไฟล์จะเซฟไว้ที่ไหนก็ได้ จากนั้นก็เขาเกม Left 4 Dead 2 ไปที่เมนู Option Multiplayer และก็ Import Spray แล้วก็ไปเลือกหาไฟล์ที่เราสร้างไว้ เสร็จแล้วก็ตอบตกลง อาจจะต้องเปิดเกมใหม่หนึ่งรอบ เข้าไปทดสอบโดยการกดปุ่ม “T” ที่กำแพงหรือพื้นเราก็จะเห็นรูปที่เราสร้างไว้ปรากฏขึ้น

ทำ Spray แบบพื้นใส

      ถ้ายังไม่พอใจอยากจะทำภาพให้เป็นพื้นใสเห็นทะลุด้านหลัง วิธีการก็ไม่ยากครับ ภาพที่จะใช้ต้องเป็นไฟล์ประเภท tga จากนั้นก็เลือกส่วนที่เป็นรูปที่เราต้องการโดยใช้เครื่องมือประเภท Select (อ้างอิงจากโปรแกรม Photoshop )

Spray-L4D2-01
      จากนั้นให้ทำการ Save Selection ถ้าในโปรแกรม Photoshop จะอยู่เมนูด้านบนตรงหัวข้อ Select เสร็จแล้วเมื่อเราไปดูที่ Channels เราจะได้ Alpha Channel ชื่อว่า Alpha 1 เท่านี้ก็เรียบร้อยแล้ว ส่วนที่เป็นสีขาวคือส่วนที่จะแสดงให้เห็นในเกม เสร็จแล้วเราก็เซฟเป็นไฟล์ tga แบบ 32 บิต

Spray-L4d2-02

Spray-L4d2-03 
     แล้วเราก็ได้ภาพงามๆเจาะพื้นใสไปพ่นเล่นในเกมเรียบร้อย ยังมีข้อแนะนำอีกนิดคืออย่าทำให้ภาพมันใหญ่ไปชนกับขอบเพราะมันจะทำให้เห็นเป็นกรอบสี่เหลี่ยมสีขาวดูไม่ดี ส่วนพื้นหลังที่เราไม่ได้เลือกควรทำเป็นสีเข้มมันจะได้ไม่เห็นขอบขาว

ทำ Spray ภาพเคลื่อนไหว

     พ่น Spray ภาพธรรมดาแล้วยังไม่ถูกใจ อยากทำเป็นภาพเคลื่อนไหวก็สามารถทำได้เช่นกัน สิ่งที่ต้องรู้ขั้นต้นคือ ไฟล์ที่จะทำต้องขนาดไม่เกิน 128X128 พิกเซล เป็นไฟล์แบบ tga แบบ 32 บิต และเมื่อเอามาสร้างแล้วมันจะกลายเป็นไฟล์แบบ vtf ที่ขนาดต้องไม่เกิน 120 กิโลไบต์

      เริ่มต้อนด้วยการเตรียมภาพให้ได้ขนาดที่กำหนดคือไฟล์แบบ tga ขนาดไม่เกิน 128X128 พิกเซล ทำโฟลเดอร์ไว้แล้วเอาไปเรียงตามจำนวนภาพการเคลื่อนไหวที่เราต้องการ อาจจะตั้งชื่อเป็น spray001-sprayxxx ตามจำนวนภาพที่เราต้องการ

Spray-L4d2-04      เมื่อเตรียมภาพไว้เรียบร้อยแล้วเราก็ต้องไปหาโปรแกรมสำหรับรวมภาพทั้งหมดให้เป็นไฟล์ vtf ชื่อว่า VTFEdit v1.2.5 เพื่อจะใช้งานโปรแกรมนี้เราจะต้องลงโปรแกรม Microsoft .NET Framework เวอร์ชัน 1.1 ด้วย
ดาวน์โหลดได้ที่นี่ครับ

VTFEdit v1.2.5
Microsoft .NET Framework

      เมื่อติดตั้งโปรแกรม Microsoft .NET Framework  แล้วเราก็สามารถที่จะใช้งานโปรแกรม VTFEdit v1.2.5 ได้แล้วซึ่งตัวไฟล์ที่เราดาวน์โหลดมาอาจจะเป็นแบบติดตั้งหรือแบบย่อขนาดก็ได้ เสร็จแล้วก็แตกไฟล์หรือติดตั้งให้เรียบร้อย เปิดตัวโปรแกรมขึ้นมา ไปที่เมนู File และก็ Import ให้เลือกไฟล์ในโฟลเดอร์ที่เราเตรียมไว้ทั้งหมดแล้วก็เลือก Open

Spray-L4d2-05

      จากนั้นโปแกรมจะขึ้นหน้าต่างให้เราเลือกรายละเอียดต่างๆ ที่เมนู General ให้เลือก Normal Format และ Alpha Format เป็น DXT1 Texture Type เป็น Animated Texture ที่เหลือก็ไม่ต้องปรับอะไร ฝั่งขวาไม่ต้องเลือก Mipmaps และ Normal Map

Spray-L4D2-06

      หน้า Advance ตรง Advance Options ให้เลือกเป็น Version 7.2 ที่เหลือก็ไม่ต้องปรับอะไรเพิ่ม (ดูตามรูป) ส่วนหน้า Resources ก็ไม่ต้องเลือกอะไรอีกเช่นกัน จากนั้นก็เลือก OK

Spray-L4d2-07

      โปรแกรมก็จะการรวมภาพเข้าด้วยกัน อาจจะใช้เวลานานแล้วแต่ภาพที่เราทำว่ามากน้อยแค่ไหน

Spray-L4D2-08

      เราก็จะได้เหมือนกับภาพตัวอย่าง กดที่ปุ่ม Play เราก็จะเห็นภาพเคลื่อนไหว ตรวจดูว่าถูกต้องแล้วหรือยัง จากนั้นก็ไปที่เมนู File แล้วก็เลือก Save As แล้วเราก็จะได้ไฟล์ vtf

      จากนั้นก็ตรวจสอบไฟล์ที่ได้มาว่าขนาดต้องไม่เกิน 120 กิโลไบต์ ถ้าเกินก็ต้องแก้ไขเช่น ลดจำนวนภาพลงหรือย่อภาพให้เล็กลอง แล้วก็เข้าเกมแล้วก็ Import Spray ตามปกติแล้วก็ลองพ่นดูว่าเป็นไปตามที่ต้องการหรือเปล่า

      สำหรับคนที่ต้องการจะทำภาพเคลื่อนไหวแบบเจาะพื้นใสก็ทำได้ ไฟล์ที่ใช้ต้องเป็น tga แบบ 32 บิตและทำ Alpha Channel ตามหัวข้อ “ทำ Spray แบบพื้นใส “ ตอน Import ในหัวข้อ General ให้เลือก Alpha Format เป็น DXT5 ที่เหลือก็เหมือนเดิมทุกอย่าง

Spray-L4D2-09

     เท่านี้เราก็ได้รูป Spray มาดีดดิ้นในเกมแล้ว….

3 ความคิดเห็น:

Prophat fapfap กล่าวว่า...

ขอบคุณมากครับ ^ ^

Prophat fapfap กล่าวว่า...
ความคิดเห็นนี้ถูกผู้เขียนนำออก
khan patjaiko กล่าวว่า...

ขอบคุณครับ