Posted May 31, 2024 by techcast
เรื่องราวมันเป็นแบบนี้ทุกคน มีบางคน เจอปัญหา text ไม่ขึ้นตอนเล่นเกม (ส่วนเสียงพากย์ไม่ขึ้น เพราะ มันไม่มีเสียง! แฮร่!!)
แต่ทำไม text ไม่ขึ้น บางคนขึ้น!? แล้วเปิดปิดใหม่มันหาย!?
สรุป
สั้นๆ คือ มันมี 3 camera ที่ render ต่างระดับกัน แต่เกม ได้ set ค่าผิดทำให้การ render มันเลือกไม่ถูกว่าจะ render อันไหนก่อน
เราเลยเพิ่ม option ให้ เพิ่ม/ลด ระดับของ Text ได้เอง โดยกดตัว M เพื่อดัน Text มาอยู่บน Layer บนๆ โดยปกติ text level ที่ 3 เพียงพอจะให้เกมเห็น text แล้ว แต่ถ้าไม่เห็นก็ลองเพิ่มดู
Details
รายละเอียดลึกๆก็คือ Camera มันจะมี Depth ... สั้นๆ คือ ลำดับการ Render เช่น set ไว้ 0, 1, 2
มันจะ render 0 ก่อน 1 ก่อน 2 หรือก็คือ 0 อยู่หลังสุด 2 อยู่บนสุด ทำให้ 2 render ทับ 0 ได้
แต่เกม set ไว้ที่ 0 ทั้งหมด ทำให้ Engine มันเลือกด้วยการบอกว่า Camera ไหนมาก่อน ก็ Render ก่อนไปเลย เหมือนสุ่มว่า thread ไหนมาก่อนนั้นเอง
ทำให้เข้าออกเกมใหม่ มันก็คือ "สุ่มอีกรอบว่า จะ render ได้ไหมน้าาาาาา" ซึ่งรอดบ้างไม่รอดบ้าง
ใน Version 1.5 ก็เลยไปบอก Script ว่าตอนเปิด Text มาอ่ะ Set Depth ให้หน่อย เอาไว้บนสุดอันที่ 3
แล้วหลังจากนั้นก็ไม่สามารถ reproduce bug ตัวนี้ได้อีกเลย ก็คิดว่าหายแล้ว
แต่ก็ยังมีคนรายงานว่า ยังเจออยู่นะ bug อันนี้
และ อย่างที่บอกว่า ทำยังไงมันก็ reproduce bug ตัวนี้ไม่ได้แล้วอย่างน้อยก็ใน 2 machine ที่ทางเราสามารถ test ได้
เลย สันนิษฐานไว้ว่า
เพื่อแก้ 2 ปัญหานี้พร้อมกัน เลยเพิ่ม information text เข้าไปก็คือ เอามาบอกว่า Version เกมอะไร, text level บอกว่า depth อยู่ระดับไหน และในขณะเดียวกันก็ให้ player ดัน text ขึ้นมาเองได้เลย ถ้าดัน depth แล้วไม่ได้ ก็คือ ไม่ใช่ปัญหาที่ depth แล้ว ซึ่งถ้าไม่ใช่ Depth ก็คงหากันยาวเลยแล้วล่ะ 55555