ปลั๊กอินนี้เพิ่มการรองรับภาษาจากขวาไปซ้ายให้กับปลั๊กอิน Unity "TextMeshPro" คุณต้องมีปลั๊กอิน TextMeshPro
ในโครงการของคุณ คุณสามารถติดตั้ง TMPro ผ่าน Package Manager
ปัจจุบันรองรับภาษาอาหรับ ฟาร์ซี และฮีบรู หากคุณพบปัญหากับภาษาใดภาษาหนึ่งเหล่านี้หรือต้องการการสนับสนุนสำหรับภาษา RTL อื่น ให้เปิดปัญหา
คุณไม่จำเป็นต้องแปลง คัดลอก และวางข้อความ เริ่มเขียนและข้อความจะถูกแปลงทันที
แท็กของ Text Mesh Pro
ทั้งหมดมีอยู่ใน RTL Text Mesh Pro
รองรับช่องป้อนข้อมูลแบบเรียลไทม์
ใช่ ปลั๊กอินนี้ไม่มีปัญหากับข้อความ RTL แบบหลายบรรทัด
ขนาดตัวอักษรอัตโนมัติได้รับการสนับสนุนอย่างสมบูรณ์
รองรับ Tashkeel ภาษาอาหรับ
คุณสามารถแทรกอักขระ Zero-Width No-Joiner ด้วยปุ่มลัด Ctrl+Shift+2
คุณต้องมีปลั๊กอิน
TextMeshPro
ในโครงการของคุณ คุณสามารถติดตั้ง TMPro ผ่านPackage Manager
อย่าติดตั้ง Text Mesh Pro จาก Asset Store
ดาวน์โหลดไฟล์ unitypackage ล่าสุดจากส่วนการเผยแพร่และนำเข้าไปยังโปรเจ็กต์ของคุณจากเมนู "สินทรัพย์ -> นำเข้าแพ็คเกจ -> แพ็คเกจแบบกำหนดเอง ... " ใน Unity
hk1ll3r รักษาเวอร์ชันตัวจัดการแพ็คเกจของ repo นี้บน OpenUPM
ในหน้าต่างการตั้งค่าโครงการ ให้เพิ่ม OpenUPM เป็นรีจิสทรีที่กำหนดขอบเขต หรือหากคุณได้เพิ่มไว้แล้ว ให้เพิ่มขอบเขตใหม่ลงไป
จากนั้นในหน้าต่าง Package Manager ให้เปลี่ยนขอบเขตเป็น My Registries เลือกแพ็คเกจ "RTL Text Mesh Pro" แล้วกด ติดตั้ง
ฉากตัวอย่างและทรัพยากรสาธิต (แบบอักษร เชเดอร์ ฯลฯ) จะรวมอยู่ในแพ็คเกจเป็นไฟล์ .unitypackage คุณต้องนำเข้าสิ่งเหล่านั้นไปยังโฟลเดอร์สินทรัพย์ของคุณเพื่อใช้งาน จากหน้าต่างโปรเจ็กต์ ให้นำทางไปยังโฟลเดอร์แพ็คเกจแล้วดับเบิลคลิกไฟล์ "RTLTMPRo-demo-resources" เพื่อนำเข้าแอสเซทเหล่านี้ไปยังโปรเจ็กต์ของคุณ
คุณต้องสร้างเนื้อหาแบบอักษรจากไฟล์แบบอักษรเพื่อใช้กับ TextMeshPro คำแนะนำพื้นฐานเพื่อความสะดวกมีดังนี้ คุณสามารถตรวจสอบเอกสารอย่างเป็นทางการของ TextMeshPro เพื่อเรียนรู้เพิ่มเติม
เปิด Window/TextMeshPro/Font Asset Creator
Font Source
(แบบอักษรของคุณต้องมีอักขระของคุณ)Character Set
เป็น Unicode Range
Assets/RTLTMPro/Ranges
ลงใน Character Sequence (Hex)
ArabicLetters.txt
ArabicDigits.txt
ArabicTashkeel.txt
ArabicAll.txt
โดยปกติคุณจะใช้สิ่งนี้เพื่อสร้างเนื้อหาแบบอักษรของคุณHebrewLetters.txt
Generate Font Atlas
และรอให้สร้าง AtlasSave TextMeshPro Font Asset
และบันทึกเนื้อหาแบบอักษร GameObject/UI/* - RTLTMP
เพื่อสร้างองค์ประกอบ RTL UI (หรืออีกวิธีหนึ่งคุณสามารถแทนที่ส่วนประกอบ Text Mesh Pro UGUI
ด้วย RTL Text Mesh Pro
)Font Asset
ในองค์ประกอบ RTL Text Mesh Pro
RTL TEXT INPUT BOX
เมื่อเลือกตัวเลือกนี้ ตัวเลขภาษาอังกฤษจะถูกแปลงเป็นตัวเลขฟาร์ซี เมื่อยกเลิกการเลือก ตัวเลขภาษาอังกฤษจะถูกแปลงเป็นตัวเลขอารบิก
เมื่อตรวจสอบแล้ว ตัวเลขจะไม่ถูกแปลง
RTL Text Mesh Pro ไม่สามารถแก้ไขข้อความที่ขึ้นต้นด้วยอักขระภาษาอังกฤษได้ การเลือกช่องทำเครื่องหมายนี้บังคับให้ RTL TextMeshPro แก้ไขข้อความแม้ว่าจะขึ้นต้นด้วยอักขระภาษาอังกฤษก็ตาม ข้อความภาษาอังกฤษหลายบรรทัดจะมีปัญหากับส่วนประกอบที่มีการตรวจสอบ ForceFix
เมื่อเลือกตัวเลือกนี้ RTL Text Mesh Pro จะพยายามแก้ไขแท็ก Rich Text
text
ของ TextMeshProUGUI
แต่คุณสมบัติ text
ไม่ได้ถูกกำหนดไว้ virtual
คุณต้องทำให้คุณสมบัติเสมือนด้วยตนเองTMP_Text.cs
จากซอร์สโค้ด TextMeshProRTLTextMeshPro.cs
และไม่ใส่เครื่องหมายข้อคิดเห็นบรรทัดบนสุดที่มีข้อความว่า //#define RTL_OVERRIDE
ยินดีต้อนรับทุกการมีส่วนร่วม ตรวจสอบให้แน่ใจว่าคุณทำตามรูปแบบโค้ดของโครงการ เราตรวจสอบคำขอดึงข้อมูลอย่างแข็งขัน
ติดต่อ: