Tut - Tool [PC|Android|iOS] Hướng Dẫn Việt Hóa Game Unity ( Cơ Bản đến Nâng Cao )_Hoàn thành 1/9/20

Flash Deal 50%, Hoàn Tiền 50%

_Cloud_

Hope for the Future
Kỹ Thuật Viên
16/8/18
121
94
28
The Moon



[PC|Android|iOS]
HƯỚNG DẪN VIỆT HÓA GAME UNITY
( Cơ Bản đến Nâng Cao )
_Hoàn Thành: 01/09/2020


Lời nói đầu:
Nếu bạn quan tâm đến tut này và muốn việt hóa game Unity thì hãy cố gắng đọc hết bài viết.
Game Unity rất nhiều từ PC cho đến android, iOS,… các hệ máy console cũng có nhưng do túi tiền có điều kiện nên mình không nghiên cứu Unity trên console.

Mình sẽ hướng dẫn gần như toàn bộ những tinh túy, kỹ thuật để việt hóa game Unity mà mình đã nghiên cứu và đúc kết được trong suốt 1 năm.

Mục đích của tut: (như tiêu đề)

Để bài viết không quá dài dòng thì mình sẽ tích hợp cả PC, Android, iOS vô chung luôn nhưng mình sẽ đề cập từng phần 1 riêng lẻ trong 1 mục chung.


UPDATE:
23/07/2019:
Bài hướng dẫn được release, phần cơ bản đủ để việt hóa series WitchSpring, …
27/07/2019:
- Cập nhật phần 2. Text trong dll trong mục VI. Xử lý Text Game
- Cập nhật mục VIII. Xử Lý Textures Game
- Cập nhật mục X. Q&A
04/03/2020:
- Cập nhật mục II. Tool
- Cập nhật phần 3. Text trong global-metadata.dat trong mục VI. Xử lý Text game
01/09/2020:
- Hoàn thành bài hướng dẫn
- Cập nhật phần 0. Hướng dẫn tìm text, 4. Text trong Monobehaviour, 5. Text trong những file khác trong mục VI. Xử lý Text game
- Cập nhật phần 2. Font ảnh/Font bitmap trong mục VII. Xử lý Font game


p.s: NGHIÊM CẤM MỌI HÀNH VI DÙNG PHẦN HƯỚNG DẪN NÀY NHẰM MỤC ĐÍCH LẤY CẮP BẢN QUYỀN GAME, BẢN VIỆT HÓA CỦA NGƯỜI KHÁC !

I. Kiểm tra xem game có thuộc engine Unity
Để việt hóa game Unity thì tất nhiên game phải dùng engine Unity.
PC: Dùng khung search có sẵn của windows như ảnh tìm “1 trong các file” như globalgamemanagers, resources.assets hoặc sharedassets0.assets, data.unity3d, Assembly-CSharp.dll… nếu có thì chúc mừng bạn đã hoàn thành bước 1.


Android: đổi tên tệp .apk -> .zip dùng winrar giải nén và tìm như PC.
iOS: đổi tên tệp .ipa -> .zip dùng winrar giải nén và tìm như PC.

II. Tool:

AssetBundleExtractor ( viết tắt: ABE) ( tải bản 2.2 beta 4 ) ( Credit trong link tải )
AssetStudio ( viết tắt: AS ) ( Credit: Perfare )
UnityEX ( Credit: DragonZH )
UnityText ( Credit: StiGMaT )
FontLab
XSearch
dnSpy ( Credit: 0xd4d )
HxD ( Credit: mh-nexus )
Unity ( chỉ download khi nào cần sử dụng ) ( Credit: Unity ? )
BMFont ( Credit trong link tải )
Notepad++ ( nhiều tính năng hơn notepad ) ( Credit trong link tải )
Global-metadata.dat text tool ( Credit: _Cloud_ )
Tool chỉnh sửa ảnh bất kỳ: PTS, GIMP,…

Trình duyệt web bất kỳ: Chrome, FireFox, IE, …

**Ngoài ra còn có 1 số tool đặc thù phải có dành riêng cho Android/iOS:
Winrar/ 7-zip ( Credit trong link tải)
apkstudio ( android ) ( Credit: Vaibhav Pandey )
Cydia Impactor ( iOS ) ( Credit trong link tải )


Liệt kê nhiều vậy nhưng tùy game, có game phải dùng hết có game dùng 1, 2 tool là xong.

III. BACKUP

Mục này thì rất đơn giản nhưng rất hữu ích nên mình lập thành 1 mục luôn để nhắc các bạn:

PHẢI LUÔN LUÔN BACKUP GAME GỐC TRƯỚC KHI CHỈNH SỬA.


IV. Unpack/repack cho file .apk /.obb và .ipa ( Android/ iOS )
1. Android:

+ Hướng dẫn cài đặt apkstudio:
Sau khi tải về và giải nén, nhấn vào biểu tượng bánh răng bên trái, sẽ hiện 1 cái bảng như hình, bạn cần trỏ đường dẫn đúng đến những file này. Những file này ở đâu thì bạn cứ nhấn “get it here” và tải về. Riêng Java sau khi cài xong bạn phải kiểm tra xem file java.exe ở đâu, thường nó sẽ theo đường dẫn
C:/Program File/Java/.../java.exe


+ Xử lý file .apk:

Decompile
Nhấn vào biểu tượng android, chọn file .apk và thiết lập như hình, nhấn decompile

Sau khi decompile sẽ có 1 folder “tên file”.apk-decompiled

Compile
- Nhấn vào biểu tượng folder, tìm folder “tên file”.apk-decompiled mở file apktool.yml


- Biểu tượng búa từ trắng đen sẽ có màu -> nhấn vào đó


- Đợi 1 tí, trên tab project sẽ tự động xuất hiện 1 file .apk


- Chuột phải file đó chọn sign/export


- Done
File apk đã edit sẽ theo đường dẫn “tên file”.apk-decompiled/dist

+ Xử lý file .obb: dùng winrar để giải nén, đồng thời phải đọc thêm bài viết này của mình. HERE
*Lưu ý: giải nén được file nào thì nén lại file đó chứ không phải nén folder chứa file đó.
2. iOS:
+ Unpack: đổi tên tệp .ipa -> .zip, dùng winrar để giải nén
+ Repack: nén .zip đổi tên tệp .zip -> .ipa
*Lưu ý: giải nén được file nào thì nén lại file đó chứ không phải nén folder chứa file đó.

V. Folder Game
2 vấn đề quan trọng nhất để việt hóa 1 tựa game là text game và font game.
Text game + font game đều nằm ở folder game ( viết tắt FG )
PC: FG theo đường dẫn “tên game” / “tên game”_Data , nói chung là chỗ có mấy file sharedassets.
Android: FG theo đường dẫn assets/bin/Data sau khi decompile apk và giải nén obb.
iOS: FG theo đường dẫn Payload/”tên game”.app/Data sau khi giải nén ipa.

VI. Xử lý Text Game
0. Hướng dẫn tìm text

Công cụ 010 editor hỗ trợ tìm text/hex/giá trị... trong nhiều file:
- Mở 010 -> Search -> Find in Files...

- Find Text: text cần tìm
- in Files: là FG
- Options (C)

- Math Case để phân biệt chữ hoa/thường, Include Subdirectories sẽ search thêm folder con...
- Sau khi tìm được:

+ Nếu file là global-metadata.dat xem mục 3.Text trong global-metadata
+ Nếu file có đuôi .dll xem mục 2.Text trong dll
+ Với những đuôi khác thử mở = ABE/HxD/notepad++ và xem mục 1, 4, 5
*Lưu ý:
- một số game có file *.unity3d nén cần unpack = ABE trước
- một số game text trong file nén trong FG/StreamingAssets
- một số game có file nén cần unpack toàn bộ trước khi tìm
- một số game có file mã hóa cần giải mã trước khi tìm
- có thể search bằng unicode, hex, để search hex cần gõ text cần tìm vào notepad++ -> Encoding -> Convert to UTF-8/Convert to UCS-2 LE BOM -> lưu file -> mở file vừa lưu bằng HxD -> copy phần hex -> Search bằng 010
1. Cơ bản
- Sử dụng ABE -> open FG -> chọn hết file trong FG ( Ctrl + A ) (Nếu đã biết được text trong file nào thì chỉ cần chọn file đó)
*Lưu ý: Nếu máy yếu không chọn hết được thì mình sẽ chọn lần lượt một vài file và lặp lại bước này cho đến hết file trong FG. Ngoài ra, với PC thì text thường trong file resources.assets đến sharedassets3.assets. Chọn luôn file .resS .resource (nếu có) đi kèm như hình.


- Nhấn vào Type để sắp xếp lại thứ tự


- Kéo lên kéo xuống tìm type TextAsset
- Để chọn nhanh hết textasset, chọn file thuộc type TextAsset đầu tiên -> giữ Ctrl+Shift -> chọn file cuối cùng
- Nhấn vào Plugins -> chọn export… -> OK -> chọn folder để export



- Chỉnh sửa/ việt hóa file text trong folder đó
*Lưu ý: chỉ việt hóa những đoạn text, file chứa text trong game, những đoạn/ file khác có thể là code game,…
- Để import, cũng chọn hết file thuộc type TextAsset -> Plugins -> import… -> chọn folder đã export ở trên
- Nhấn OK ( ở dưới cùng ) -> YES -> chọn chỗ để lưu những file mới
- Replace file mới vào FG
- Done
2. Text trong dll

File thuộc type TextAsset không đủ text hoặc không có text trong game. Mình sẽ tìm text trong dll.
DLL không mã hóa:
File dll mẫu được sử dụng trong bài viết: Download Here (game: Starbound Drifters)

- Mở dnSpy.exe -> File -> Open -> chọn file Assembly-CSharp.dll trong FG/Managed

*Lưu ý: những file dll khác cũng có thể có text.
- Dùng khung search ở dưới cùng. Chỉnh Search For: Number/String và Selected Files như ảnh

- Gõ từ/đoạn cần tìm vào ô search

- Nhấp đúp vào kết quả tìm được ( nếu nhiều kết quả thì lặp lại những bước từ chỗ này trở đi )
- Khung Assembly Explorer bên trái sẽ tự động chọn file có từ đó như ảnh

Trong ảnh là file: openingCutscene
- “Chuột phải” file đó -> Edit Class (C#)…

- Kéo chuột lên xuống để tìm từ đã search hoặc dùng Ctrl+F search từ đó

- Việt hóa đoạn/câu đó ( Nếu có nhiều câu là text trong game thì việt hóa luôn, như trong hình, ngoài “you’re still alive” còn có câu “ you were laying…”)
- Compile ( góc dưới bên phải )
- File -> Save Module -> OK

*Lưu ý: tool sẽ tự động replace file Assembly-CSharp.dll gốc.

DLL mã hóa:
Cách nhận biết: Dùng dnSpy nhưng không thấy gì hoặc mở bằng hxd có phần header không phải là MZÉ.

File mẫu: Download here (game: Mystic Messenger)

Trước giờ mình chỉ gặp 1 game duy nhất có dll mã hóa (Mystic Messenger) nhưng lại ở android, để giải mã cần android dưới 6.0 theo bài viết này hoặc dùng phần mềm thứ 3 là GameGuardian theo bài viết này. Vì là game online, ngoài mã hóa dll game còn dùng G-Presto để chặn phần mềm thứ 3 can thiệp và mình đang dùng android 8.1 nên bó tay. Tuy nhiên mình sẽ nêu ý tưởng để xử lý Dll mã hóa, dành cho bạn nào muốn đọc giải trí.
- Tìm dll đã giải mã:
PC: chạy game -> mở task manager -> “chuột phải” vào processes game đang chạy -> Create dump file. Mở file sau khi dump bằng HxD -> ( vì chỉ mã hóa phần header nên những phần còn lại sẽ giống nhau ) -> search những phần không phải header
Android: theo 2 bài viết trên
iOS: ???
- Từ dll giải mã và mã hóa tìm hiểu cách thức mã hóa, với PC thì có thể dùng thêm các phần mềm debug như x64dbg. Sau đó viết tool để mã hóa nó lại.


Phần này là phần nói dễ như ăn bánh, nhưng muốn làm được thì…
3. Text trong global-metadata.dat
Đôi khi trong folder Managed không có dll (trong android, iOS, Switch...), bạn vào folder Metadata sẽ có 1 file là global-metadata.dat. Mở tool global-metadata.dat (tải ở mục II) rồi nhấn export -> text.bin.txt -> dịch -> import (chọn file global-metadata gốc rồi chọn file text.bin.txt) -> NEW_global-metadata.dat

Tool này dùng khá đơn giản, tuy nhiên text xuất ra sẽ bao gồm code engine, code game,... dịch nhầm thì game sẽ crash. Cách xử lý:
- Trước khi dịch nên xóa bớt những thứ khác không phải text game:
Ví dụ:
1=Code game
2=Text game1
3=Code engine
4=Text game2

sau khi xóa
2=Text game1
4=Text game2

- Sau khi dịch toàn bộ, 90% game sẽ crash vì xóa không hết dẫn đến dịch nhầm,... để tìm lỗi: dùng notepad++ so sánh file gốc và file việt, ghi chú dòng đầu tiên khác nhau của 2 file -> xóa hết toàn bộ text từ dòng đó trở đi -> thêm khoảng 100(số tùy ý) dòng text từ file việt vào -> import, bỏ vào game chạy -> 1: crash, lỗi sẽ nằm trong 100 dòng này, 2: chạy được -> thêm tiếp 100 dòng text vào -> lại import, bỏ vào game chạy ( lập lại cho đến khi tìm được lỗi). Nếu 100 nhiều hoặc ít quá thì bạn có thể chỉnh sửa cho hợp lý, vd lúc đầu là 1000, tìm được lỗi trong 1000 dòng này thì sửa thành 100,50,... để kiểm tra tiếp trong 1000 dòng đó. Chọn con số phù hợp thì sẽ đỡ mất thời gian ngồi test.
4. Text trong Monobehaviour ( *.dat/*."số" )
Tương tự như mục "1. Cơ bản" nhưng chọn những file thuộc type Monobehaviour
Cách 1:
- Chọn Export Dump, nếu yêu cầu file dll thử tìm trong FG/Managed, tìm không thấy thì nhấn cancel
- Sẽ ra nhiều file .txt để tìm được những file text cần muốn có thể sort theo kích thước/ dùng 010 editor để search
- Chuyển ngữ text
- Để import, chọn file chứa text thuộc type Monobehaviour (hoặc chọn hết type Mono) -> Import Dump -> chọn folder đã Export Dump

Cách 2:
Một số game sẽ không Dump được, ta dùng cách 2
- Chọn Export Raw
- Sẽ ra nhiều file .dat để tìm được những file có text cần muốn có thể sort theo kích thước/ dùng 010 editor để search (nếu text nằm rất nhiều file có thể dùng luôn UnityText)
- Dùng UnityText để xuất/nhập text (một số game cần thiết lập lại các thông số cho đúng thì mới dùng được) -> các bạn chịu khó mò vì lâu quá mình không đụng đến facepalm~~

- Chuyển ngữ text
- Để import, chọn file chứa text thuộc type Monobehaviour (hoặc chọn hết type Mono)-> Import Raw -> chọn folder đã Export Raw

Cách 3:
Text trong nhiều file .dat để tìm hết rất khó, thiết lập các thông số cho UnityText phức tạp, text xuất bằng UnityText bị thiếu text hoặc chứa nhiều ngôn ngữ khác, file txt xuất = Export Dump có nhiều code lẫn lộn... ta dùng cách 3
- Export Raw

- Sẽ ra nhiều file .dat -> Viết công cụ xuất/nhập/tìm text cho những file .dat
- Chuyển ngữ
- Import Raw
*Để viết công cụ bạn cần: 1 ngôn ngữ lập trình, làm việc với binary file, nắm được cấu trúc của file (thường thì size text sẽ nằm trước text đối với engine Unity)
5. Text trong những file khác
Tự lực cánh sinh :phuphang:

VII. Xử lý Font Game
1.Cơ bản ( font .ttf/.otf )
- Cũng dùng ABE như xử lý text cơ bản, tới bước tìm type TextAssets mình sẽ tìm type Font.
- Chọn hết file thuộc type Font -> Nhấn vào Export Raw -> Chọn folder để export.
- Với dạng font.dat này sẽ không việt hóa được, nhưng mình sẽ tìm được tên file trong FG chứa font này.

Vd: Với ảnh trên thì có tất cả 6 font, nhìn tên file mình sẽ biết được 5 font ở file sharedassets0 và 1 font ở file unity default resources

- Sau khi xác định được những file nào chứa font, tắt ABE, mở UnityEX. (với ảnh ví dụ ở trên thì mình sẽ mở file sharredassets0.assets, không phải là file unamed asset-...)
- Open archive -> chọn Files of type là ALL.
( nếu có nhiều file chứa font thì phải lặp lại những bước từ chỗ này trở đi )


- Mở file chứa font
- Nhấn vào type để sắp xếp lại thứ tự tìm type 128 (Font)
- Chọn những file thuộc type đó -> “chuột phải” -> export selected



- Lúc này trong FG sẽ xuất hiện 1 folder mới là Unity_Assets_Files, mở folder đó lên.
- Font trong Unity_Assets_Files ở dạng .ttf/.otf -> kiểm tra xem font đã có tiếng việt chưa ( cài vào máy rồi dùng word ) -> nếu chưa, tìm font việt hóa trên mạng hoặc dùng FontLab để việt hóa ( tùy ý thích mỗi người )
- Xóa font gốc -> đổi tên font việt hóa như font gốc.
- Trong UnityEX, nhấn vào Import files.


- Tắt UnityEX
- Done

p.s: nếu đã xử lý các font ttf/otf nhưng vào game vẫn bị lỗi font, phần hướng dẫn xử lý font game nâng cao sẽ giải quyết vấn đề này (hiện tại mình chưa có thời gian).
2. Font ảnh/Font bitmap
  • Tìm ảnh font: như mục VIII, có thể tìm nhanh ảnh font với những từ khóa "tên font" (nếu biết game dùng font gì), "SDF", "Distance Map",...
  • Tìm map font: map font sẽ chứa tọa độ/vị trí... của từng ký tự, các thông số của font... (xem thêm) với ảnh trên ký tự Y sẽ có thông số: x = 79; y =256; width = 75; heigth = 96. Map font thường sẽ có định dạng binary. Để tìm map font: Export Raw/Dump Monobehaviour -> dùng 010 tìm tên font trong folder Monobehaviour. File Dump map font sẽ cho biết cấu trúc của font.
Cách 1: photoshop ảnh font, replace ký tự, không cần tìm/edit map font
Như xử lý textures game, vẽ những ký tự nước khác thành ký tự việt: vd vẽ chữ "û" trong ảnh thành "ừ" -> Replace ký tự "ừ" trong text thành "û" (có thể dùng Tool Replace ký tự trong bài viết này, here)

Cách 2: Tạo font bằng engine Unity, cần biết 1 phần cấu trúc của map font
Để tạo font bằng engine Unity xác định game dùng plugin tạo font nào (bằng cách xem font map hoặc tìm trong dll của game) ví dụ
Blasphemous dùng plugin mặc định của Unity, series Ori dùng CCFont, Hollow Knight dùng TextMesh Pro...

Dùng engine Unity, tạo font với plugin giống của game (mỗi plugin cách tạo khác nhau cần đọc thêm hướng dẫn của plugin) -> build -> tìm ảnh font và map font trong chương trình vừa build -> replace ảnh font, map font của game (trong map font chỉ replace những phần liên quan đến ký tự)

Cách 3: Dùng BMFont
Để tạo font bằng BMFont cần hiểu rõ gần như toàn bộ cấu trúc của map font (có thể dùng file dump map font, phần xác định tọa độ ký tự x,y,w,h hoặc UV mapping)
Sau khi tạo font bằng BMFont sẽ có:

- 1 file .fnt là map font ở dạng text -> viết công cụ chuyển đổi map font của BMFont sang map font của game và replace
- 1 file ảnh .png để replace vào ảnh font của game.

Xem thêm hướng dẫn dùng BMFont và công cụ Font Research của
matran999: herehere

VIII. Xử lý Textures Game
Textures Game nôm na là ảnh trong game. Để “việt hóa” ảnh ở trên, bạn dùng phần mềm chỉnh sửa ảnh edit lại. Mình sẽ không hướng dẫn photoshop, các bạn lên mạng tìm nguồn tài liệu nào đó để học cái này.

Hướng dẫn:
- Cũng dùng ABE như xử lý text cơ bản -> tới bước tìm type TextAssets mình sẽ tìm type Texture2D
- Chọn hết file thuộc Texture2D -> Plugins -> Export to .png hoặc .tga -> chọn Folder để export
- Edit ảnh trong folder đó ( có thể xóa bớt ảnh không cần thiết )
- Để import, cũng chọn hết file thuộc type Texture2D -> Plugins -> Batch import -> chọn folder đã export ở trên -> OK
- Nhấn OK ( ở dưới cùng ) -> YES -> chọn chỗ để lưu những file mới
- Replace file mới vào FG
- Done
IX. ???

X. Q&A

Q: Mấy file *.split0, *.split1,..... thì làm sao?
A:
Những file split là file chia nhỏ từ file gốc.
Nếu dùng ABE hoặc AssetStudio thì phải chọn hết những file * cùng tên để mở.
Riêng UnityEx thì chỉ cần chọn 1 file *.split0
Import, export như bình thường.
vd:
sharedassets1.assets.split0,
....,
sharedassets1.assets.split10
sharedassets1.resS (nếu có )
sharedassets1.resource ( nếu có )
Với ABE hoặc AssetStudio, chọn hết những file này để mở.
Với UnityEx chỉ mở 1 file là sharedassets1.assets.split0

Lưu ý: Đôi khi dùng tool sẽ sinh ra 1 file temp (file gộp từ những file split) là sharedassets1.assets có dung lượng = những file split nhỏ cộng lại. Nên xóa file này để giảm dung lượng game.

Hoặc gộp những file split này lại.
Hướng dẫn:
- Dùng AS để gộp split -> open folder -> FG hoặc open file -> chọn hết file split.
- Tắt AS
- Xóa hết file split, để xóa nhanh search chữ split rồi xóa.
- Xử lý như bình thường
- Build/Sign bằng apkstudio
- Done

Nếu không gộp được hoặc bị lỗi, hãy thử cách của bạn Hoangluongluat:
Tool:
AAPT - Android Asset Packaging Tool
Hướng dẫn:
- Chép mấy split ra 1 thư mục riêng
- Sau đó tool cũng để ở thư mục đó
- Ở thư mục đó tạo thư mục: assets rồi trong asset là bin trong bin là Data
assets\bin\Data
- Dùng unity ex để gộp các file lại
- Chép file vừa gộp qua thư mục mới
- Ở thanh địa chỉ gõ cmd
Nhập code
aapt remove -f -v tên apk file muốn xóa
Vd:
aapt remove -f -v thejusou.apk assets/bin/Data/shareasset.split0 assets/bin/Data/shareasset.spit1....
Để thêm
appt add -f -v tên apk file muốn thêm
Vd:
aapt add -f -v thejusou assets/bin/Data/shareassets.assets
- Sign apk lại là xong

Cái này yêu cầu kiên nhẫn và chuẩn xác. Nhưng lúc dịch sẽ nhàn hơn. Vì chỉ sửa file assets như pc. Chỉ áp dụng cho game chỉ có apk. Không có obb.

NOTE
23/07/2019:
Tut này mình hướng dẫn rất chi tiết, những cập nhật/phần nâng cao sau sẽ khó hơn nên các bạn hãy tập làm quen với những tool này, với các thao tác cơ bản để xử lý file. Bài viết này mình chỉ sử dụng 2 tool chính là AssetBundleExtractor và UnityEX. Giờ bạn hãy thử dùng AssetStudio và mở những file game đó. Vậy là được 3 tool, các bạn thử vọc hết từng tool xem nó làm được gì, các bạn phải biết được công dụng, ưu điểm, khuyết điểm của từng tool và giữ cái đầu lạnh của mình để xác định thời điểm nào, trường hợp nào sử dụng tool gì một cách logic. Bài này mình có thể sử dụng 1 tool duy nhất là AssetBundleExtractor hoặc UnityEX đều được, nhưng, như mình đã nói, tool đã có sẵn thì mình cứ sử dụng, việc các bạn cần làm là xử lý mọi thứ một cách khoa học, logic.
27/07/2019:
Với UnityEx bất kỳ file nào sau khi export, muốn import chỉ cần nhấn vào Import files.
Hãy thử:
- Dùng xsearch tìm text ( có thể tìm được luôn trong dll ).
- Dùng UnityEx -> chọn file thuộc type texture2D -> export with convert. ( ảnh .dds )
- Dùng UnityEx -> chọn file thuộc type TextAsset -> export selected.
- Dùng AS -> Load folder/load file trong FG -> Asset List -> Filter Type -> Texture2D/Font/TextAsset.
04/03/2020:
- ...

01/09/2020:
Hơn 1 năm cuối cùng bài hướng dẫn này đã hoàn thành, bài hướng dẫn còn nhiều thiếu sót và nhiều chỗ không chi tiết. Đặc biệt là phần font ảnh, vì phần này không dễ dàng gì cho những người mới bắt đầu. Các bạn thực hành những phần kia trước rồi cố gắng tìm hiểu thêm thì mới làm được.

Một số game mình không update được/một số dự án tạm dừng vô thời hạn mong dịch giả cùng mọi người bỏ qua.

Tiệc nào rồi cũng tàn.
Đam mê rồi cũng đến lúc dừng.
Mình sẽ dõi theo các bạn từ phía sau.

Chúc cộng đồng Game Tiếng Việt nói riêng cũng như cộng đồng những người đam mê, yêu mến ngôn ngữ Việt Nam trong những trò chơi ngày càng lớn mạnh hơn.
 
Chỉnh sửa cuối:

DaDra

Thành viên mới
10/7/17
1
0
1
Hau Giang
Game android mà text không nằm trong các file thuộc type TextAsset mà mình chỉ tìm thấy file global-metadata.dat thì xử lý sao vậy bác.
 

_Cloud_

Hope for the Future
Kỹ Thuật Viên
16/8/18
121
94
28
The Moon
Game android mà text không nằm trong các file thuộc type TextAsset mà mình chỉ tìm thấy file global-metadata.dat thì xử lý sao vậy bác.
File .dat thì mình chưa gặp, thử dùng UnityText. Hoặc làm theo bài này. Nếu không được nữa, thì phải nghiên cứu cấu trúc file để viết tool.
 
Chỉnh sửa cuối:

akirakazuo

Thành viên mới
5/6/16
9
4
3
23
nowhere
Cho mình hỏi chút là:
  1. Nếu mà phần text nằm trong MonoBehaviour thì sao nhỉ?
  2. Có những game mà mình muốn dịch phần GameUI/Menu của game nhưng mà nó không có trong các file textassets thì nên xử lý như nào?
 

_Cloud_

Hope for the Future
Kỹ Thuật Viên
16/8/18
121
94
28
The Moon
Cho mình hỏi chút là:

  1. Nếu mà phần text nằm trong MonoBehaviour thì sao nhỉ?
    Có những game mà mình muốn dịch phần GameUI/Menu của game nhưng mà nó không có trong các file textassets thì nên xử lý như nào?
1. Phần sau mới có
2. Dùng xsearch tìm text. Phần sau sẽ hướng dẫn. Bạn có thể tự mò trước.
 

DCCM

Thành viên mới
12/9/19
2
0
1
18
Hà Nội
Em làm đến phần import sau khi bấm OK thì nó chạy luôn không hiện ra bảng YES và chỗ chọn lưu file mới thì phải làm sao ?
 

_Cloud_

Hope for the Future
Kỹ Thuật Viên
16/8/18
121
94
28
The Moon
Em làm đến phần import sau khi bấm OK thì nó chạy luôn không hiện ra bảng YES và chỗ chọn lưu file mới thì phải làm sao ?
E dùng ABE à ? Import ảnh hay font ?
 
  • Like
Reactions: DCCM

Ron

Thành viên mới
20/10/16
6
4
3
31
Quảng Ngãi
Bài viết rất bổ ích, hiện tại mình đang tự học rất mong có thể hiểu hết được để chung vui với cả nhà
 
  • Like
Reactions: _Cloud_
Chào mừng bạn đến với Cộng Đồng Game Tiếng Việt
Hãy đăng ký thành viên để đễ dàng theo dõi các chủ đề và các bản Việt Ngữ mà bạn đang quan tâm! Hoàn toàn miễn phí!.
Đăng ký ngay