所以,我想創建在線團結遊戲的測試應用程序,但做什麼,我需要做的,我必須從十六進制偏移位於.prefab文件中讀取DATAS。 然後,我將從數據加載服務器端的預製件。對於來自客戶端的反對撞機。如何從Unity3D的預製文件讀取數據?
我必須念想unityVer,localScale,localPosition,localSize,對撞機大小...等
編輯DATAS:我必須說一個簡單的控制檯應用程序,而不是統一。
我不工作代碼:
try {
string[] prefabFiles = Directory.GetFiles(Path.Combine(Environment.CurrentDirectory, "data\\prefabs\\"));
foreach (var prefab in prefabFiles) {
if (prefab != null && prefab.Split('.')[1] == "prefab") {
try {
using (var reader = new BinaryReader(new FileStream(prefab, FileMode.Open, FileAccess.Read))) {
FileInfo info = new FileInfo(prefab);
Console.WriteLine("Analyzing File : " + info.Name);
reader.BaseStream.Position = 0xA;
//string unityVer = reader...
//float localPositionX = reader...
//float localPositionY = reader...
//float localPositionZ = reader...
//float localScaleX = reader...
//float localScaleY = reader...
//float localScaleZ = reader...
//float colliderRadius = reader...
}
Console.WriteLine("File parse success.");
} catch { Console.WriteLine("Parse error in the data file."); }
}
}
} catch (Exception e_Ex) {
Console.WriteLine(e_Ex.ToString());
}
我預製的十六進制樹:
我是新來的位於十六進制數據位置讀取和寫入數據,因此任何幫助將是真棒!
恐怕沒有文件,解釋預製二進制文件的結構,你將不能夠做到這一點,除非你是很好的裂解裝置。出於這個世界的解決方案是獲得unity3d源文件,並檢查C++文件repsonsible解析prefabs,或只是要求團結給你的文件。但我可能會錯,也許有人會幫助你。 –