[UNITY] [Spine] Separator by tosawat
May0
การใช้ Spine ร่วมกับ UNITY นั้นทำให้การทำงานง่ายขึ้นมาก แต่ก็มีหลายอย่างที่ถูกจำกัดไว้ ถ้าหากเราอยากแบ่ง Order in Layer ของ Spine ให้มีหลายชั้น เพื่อที่จะได้เอา Particle หรือ Object อื่นๆมาสอดไว้ตรงกลางก็จะต้องทำตามขั้นตอนดังนี้
- หลังจากสร้าง Spine GameObject (skeleton) แล้วเราก็จะมี หน้าตาแบบนี้ และประกอบด้วย Script ดังรูปนี้
- หากอยากให้ Spine GameObject นี้มีการแบ่ง Layer ให้คลิ๊กขวาที่ Skeleton Animation (Script)
- และเลือก Add Skeleton Render Separator
- จะได้ Script ใหม่โผล่ออกมาแบบนี้
- ให้แก้เลข Size ใต้หัวข้อ Separator Slot Names ให้เป็น 1
- จะมี Element0 มาให้เลือก ตัวเลือกจะเรียงจากชั้นล่างสุดไปถึงชั้นบนสุดให้อยู่แล้ว ให้เราเลือกมา 1 อัน
- เมื่อเลือกแล้วให้คลิ๊กที่ Add the missing renderer
- จะได้ผลลัพท์ดังนี้
- จะเห็นว่า Spine GameObject ของเรามี ลูกโผล่ออกมา 2 ตัว และเมื่อลอง Play และ ดูที่ลูกของ Spine GameObject ก็จะเห็นดังนี้
ปอลิง. สำคัญมาก หากอยากแยก Layer ระหว่าง Shadow และส่วนประกอบอื่นๆ ห้ามเลือก Shadow ให้เลือกของที่อยู่เหนือ Shadow ไป 1 ชิ้น จึงจะได้ผลลัพท์แบบที่ต้องการรรรรร
[UNITY] ใช้ AssetBundle ด้วย Resources.Load (ไม่ต้องใช้ Internet) by tosawat
Apr0
หากอยากใช้ AssetBundle ที่เราเตรียมไว้แล้ว แต่ไม่อยากให้โหลดจาก server ของเรา ก็มีวิธีการดังนี้
- ให้เปลี่ยนนามสกุลของไฟล์ AssetBundle ให้เป็นไฟล์ .txt
- จากนั้นนำไฟล์ AssetBubdle.txt ไปใส่ไว้ใส Folder Resources ของ Unity Project
- ใช้ code ชุดนี้ ในการโหลด AssetBundle
fileAsText = Resources.Load("AssetBundle.txt") as TextAsset;
byte[] bundleData = fileAsText.bytes.Clone() as byte[];
AssetBundleCreateRequest bundleRequest = AssetBundle.CreateFromMemory( bundleData ); - เราก็จะได้ bundleRequest.assetBundle เป็น AssetBundle มาให้ใช้ได้ตามอัธยาศัย
[UNITY][Facebook SDK] FB.Apprequest by tosawat
Mar0
วันนี้จะมาสังคายนา parameter ของ method FB.AppRequest นะครับ
หลังจากที่นั่งทำเรื่อง App Request บน UNITY อยู่หลายวัน ประสบปัญหา App Crash เมื่อกด Invite Friends ไปแล้ว วันนี้ก็เลยจะมา สังคายนา parameter ที่ถูกต้องของ method FB.AppRequest กันนะครับ
FB.AppRequest(“Message”, Selected, null, null, null, “Data”, “Title”, delegate (IAppRequestResult requestResult){});
- message
type: string
description: ข้อความที่จะส่งหาผู้เล่นคนอื่น - selected
type: null หรือ List<string>
description: List<string> ของ FBUID ของเพื่อน ที่ได้มาจาก me/invitable_friends ถ้าใส่ parameter นี้จะไม่มี UI Multi Friends Selector ของ Facebook ขึ้นมา แต่ถ้าใส่เป็น null จะมี UI Multi Friends Selector ของ Facebook ขึ้นมา ให้เลือกเพื่อนเพื่อส่ง Invite - filter
ใส่ null ไปซะ - excludeIds
ใส่ null ไปซะ - maxRecipients
ใส่ null ไปซะ - data
type: string
description: ข้อมูลที่จะได้กลับมากับ callback - title
type: string
description: หัวข้อที่จะขึ้นในหน้าเลือกเพือ่นของ Facebook Multi Friends Selector - callback
type: IAppRequestResult
description: method ที่จะถูกเรียกเมือทำงานเสร็จ
[Unity] วิธี เปลี่ยน/ปิด Sky Box ใน Unity 5 by tosawat
Feb0
ใน Unity 5 นั้น เวลาเราสร้าง Scene ใหม่ จะมี Skybox ติดมาให้โดยอัตโนมัตินะครับซึ่งเรามีวิธีปิดหรือเปลี่ยน Sky box ดังนี้ครับ
- คลิกที่ Window -> Lighting ครับ
- Tap Scene ครับ
- คลิ๊กที่จุดทางขวาของหัวข้อ Sky Box จะมีหน้าต่าง Material มาให้เลือก
- ถ้าเราอยากปิดก็ให้เลือก None นะครับ ถ้าอยากเปลี่ยน Sky Box ก็เลือก Material ใหม่ได้เลยครับ
[TortoiseHg] วิธีแก้ปัญหาเมื่อ rename ชื่อไฟล์แล้วมีปัญหา push-pull ไม่ได้ by tosawat
Jan0
เคย rename ไฟล์ใน project แล้วมีปัญหากับ tortoiseHg ไหม
วิธีแก้ก็คือ ให้ pull project ลงใน OS ที่ case sensitive หลังจากนั้น merge ให้เรียบร้อยแล้วให้ push กลับขึ้นมาครับ
ต่อมาหากเราสั่ง Commit ใน TortoiseHg แล้ว ต้องรอนานมาก แล้วมันก็ฟ้องเรามาว่า
waiting for lock on repository YOUR_PROJECT_PATH held by ‘YOUR_NAME’
ทำยังไงล่ะทีนี้ วันนี้เรามาเสนอวิธีแก้กันนะครับ
- ขั้นแรกให้ลบไฟล์ที่ชื่อ wlock ที่อยู่ใน folder .hg ใน Root ของ Project เรานะครับ งงไหม เอาง่ายๆมันคือ .hg/wlock อ่ะครับ
- ขั้นต่อไป ก็ใช้ tortoiseHg กันได้ตามปกติเลยครับ
จบบ