[UNITY][NGUI]ปัญหาที่พบบ่อย, สาเหตุ และวิธีแก้ by

28
Jul
0

ปัญหา – สร้างปุ่มขึ้นมาปุ่มหนึ่ง พอกด Play ทีไร ปุ่มนี้ก็กลายเป็น Disable ไปซะทุกที??
สาเหตุ – Script UIButton ของ NGUI นั้น จะเช็คเสมอว่า Object ที่เรา AddComponent UIButton เข้าไปนั้น มี Collider อยู่รึเปล่า ถ้าไม่มี Script UIButton ก็จะ Disable ปุ่มนั้นอัตโนมัติเลยล่ะ
วิธีแก้ – ก็แค่ Add Collider ให้ปุ่มซะก็จบแล้วครัช

ปัญหา – อยากเรียงลำดับ Panel ที่จะ Instantiate ขึ้นมาใหม่แต่ ตอนรับข้อมูลมานั้น มันมาแบบ ไม่เรียงมาให้ แล้วแต่อารมณ์
วิธีแก้ – ให้ตั้งค่า depth ของ Panel ที่อยากให้แสดงก่อนมีค่ามากกว่า แล้ว Instantiate ขึ้นมาพร้อมๆกันไปแล้ว ทีนี้ จะสร้างอันไหนก่อนหลังก็ไม่สำคัญ เพราะว่าอันที่มี depth มากกว่า จะอยู่ข้างบนเสมอ แล้วพอเรา Hide หรือ Destroy อันที่อยู่ข้างบน เราก็จะเห็นอันถัดมาเรื่อยๆๆๆ นั้นเอง

ปัญหา – เขียน Method Awake หรือ Start ขึ้นมา Method พวกนี้ดันไม่ทำงานตอนเริ่มแรก แต่ดันมาทำงานตอนกลางๆ หรือตอนที่เรา Enable มันขึ้นมาซะงั้น (นี่ Method Awake นะว้อยไม่ใช่ OnEnable)
สาเหตุ – ที่ Method Awake หรือ Start มันไม่ทำงานตอนเรื่มแรกนั้นก็เพราะว่า เรา Disable มันไว้ตั้งแต่แรกกกก ก่อนที่จะ Play ซะอีกน่ะสิ
วิธีแก้ – ก็ให้ Enable มันไว้ซะ แต่ถ้าหากเริ่มมาอยากให้มัน Disable ไว้แล้วค่อยไปเรียกใช้ทีหลังล่ะก็ ก่อนไปเขียน Code ให้มัน Disable เอาตอนท้ายของ Method Start เอาละกัน มันจะได้ทำ Awake และ Start ให้เสร็จก่อนนะจ้าา

การเขียนแบบห้องจาก2Dเป็น3Dเบื้องต้น by

28
Jul
0

การเขียนแบบจากแปลน2Dเป็น3D เช่นเบื้องต้นสมมุติว่าในแบบบ้านมีพื้นกระเบื้อง4×4 เราต้องนำมันมาวาดเป็น3Dที่มี perspective 

01

กำหนดเส้นขอบฟ้าและจุดรวมสายตาเหมือนภาพเปอร์สเป็คทีพทั่วไป
02

ลากเส้นจากจุดรวมสายตาผ่านเส้นขอบฟ้าและเส้นขอบด้านหน้าสุดก็จะได้พื้นที่4เหลี่ยมทั้งหมดซึ่งเราจะต้องใส่กระเบื้อ4×4เข้าไป กระเบื้องแต่ละแผ่นมีขนาดเท่าๆกัน

03

04

ตีเส้นทแยงมุมจะได้จุดตัดตรงกลาง

05

 

06

ลากเส้นขนานกับเส้นขอบฟ้าและเส้นขอบล่างผ่านจุดตัดตรงกลางเราก็จะได้เส้นแบ่งครึ่ง (หากเป็นภาพเปอร์สเป็คทีพ2จุดก็ลากไปหาจุดรวมสายตาที่2) 
07

ทำแบบเดียวกันกับพื้นที่ด้านบนและล่าง
08

ก็จะได้พื้นที่แบ่ง4ส่วนที่เท่ากัน
09

วัดครึ่งพื้นที่ด้านบนและล่าง ลากเส้นแบ่ง
10

11

และแบ่งครึ่งด้านซ้าย-ขวาแล้วลากเส้นเชื่อมก็จะได้พื้นที่4เหลี่ยม 4×4ที่เท่าๆกันทุกช่อง
12

13

 

texture ใน SAI by

27
Jul
0

ใน SAI นั้น มีการใส่ texture ที่ layer ได้
เรามาลองทำกันดู
สมมติเราจะใส่ texture ผ้าลงที่ ส่วน พท. สี แดงในรูปด้านล่าง นี้
b01

 

ลงสีแดงแล้ว เลือกที่ layer ที่สีแดงนี้อยู่
จากนั้นตรง หน้าต่าง ด้านบน layer จะมี ช่องให้เลือก texture

โดยใน SAI จะมี texture ติดมาให้พร้อมโปรแกรม 5-6 อย่าง
( texture อื่น ถ้าอยากได้ก็สามารถหาดาวน์โหลดเพิ่มเติมได้ตาม internet)

ลองเลือกซักอย่าง ในที่นี้เลือก fabric
b02

จากนั้นปรับขนาดของ textrue อยากให้เห็นชัด อยากได้ใหญ่แค่ไหน

b02_1

 

กด enter ทา ดานนน แค่นี้ texture ก็ปรากฎบนส่วน พท สีแดง แล้วล่ะ

b03

หน้าต่าง+ผ้าม่าน ที่มีแสงลอด by

27
Jul
0

บลอคนี้จะมาแนะนำส่วนต่างๆที่ควรจะมีในภาพที่เป็น หน้าต่าง+ผ้าม่านที่มีแสงลอด นะครับ จะไม่ได้สอนวิธีวาดทั้งหมดซะทีเดียว

เริ่มจากวาดกรอบหน้าต่างและผ้าม่านในเรียบร้อยก่อนนะครับ

ใส่ทิศทางแสงจากหน้าต่าง

ใส่แสงที่ตกบนพื้น

ใส่แสงที่หน้าต่าง นอกจากจะเป็นแสงที่อยู่หลังบานหน้าต่างแล้ว ใส่ให้มันฟุ้งๆออกมาด้วยครับ

เพิ่มแสงที่ลอดออกมาจากผ้าม่านแต่ไม่ผ่านกรอบหน้าต่าง เนื่องจากผ้าไม่ใช่วัตถุทึบแสง วิธีการง่ายๆคือปรับความสว่างบริเวณผ้าที่อยู่ภายในหน้าต่างครับ

การวางเสาที่มีระยะห่างเท่าๆกันด้วยเปอร์สเป็กทีฟ 1 จุด by

26
Jul
0

sample16a

1. สมมติให้เราอยากวาดเสาที่มีระยะห่างเท่าๆกัน โดยจากภาพคือ เราต้องการวาด pole 3 โดยมีระยะห่างจาก pole2 เท่ากับระยะห่างระหว่าง pole1 และ pole2 (เส้นสีแดง)

 

sample16b

2. เราสามารถทำได้โดยลากเส้นตัดจากจุดกึ่งกลางความสูงของ pole 1 และ 2 ไปสู่จุดรวมสายตา ตามเปอร์สเป็กทีฟ (เส้นสีเขียว)

 

sample16c

3. เมื่อเรามีเส้นกึ่งกลางจากข้อสองแล้ว เมื่อเราขีดเส้นตรงจากฐาน pole1 สู่จุดสูงสุดของ pole2 (เส้นสีน้ำเงิน) จุดที่เส้นสีน้ำเงินตัดกับเส้นสีเขียว จะเป็นระยะกึ่งกลางระหว่าง pole1 และ pole2 และเป็นจุดกึ่งกลางความสูงของ pole 1.5 ด้วย(เส้นสีฟ้า) นี่คือวิธีหาจุดกึ่งกลางระหว่างสองจุดบนภาพเปอร์สเป็กทีฟ

 

sample16d

4. ด้วยหลักการตามข้อ 3 เมื่อเราลากเส้นตรงจากฐาน pole1 ตัดจุดกึ่งกลางความสูงของ pole2 (เส้นสีชมพู)

 

sample16e

5. เราจะได้ pole3 ที่ระยะห่างเท่าๆกับ pole1 และ 2 นั่นเอง โอ้ มหัศจรรย์จริงๆเลย

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน