问题描述
我正在使用Google Draco解码器对以下内容进行网格划分。
/bin/sh -c #(nop)
当我检查draceGeometrytry的类型时: console.log(typeof dracoGeometry);
我明白了
“对象”类型。
现在我的问题是“如何使这个物体恢复统一”。 C#支持哪种返回类型来接受js对象?
解决方法
您可以发送字符串或数字,所以我要做的是创建一个具有所需数据的js对象,然后在其上调用JSON.stringify
以将其转换为字符串,然后使用{{1} }:
unityInstance.SendMessage
function sendToUnity(obj) {
unityInstance.SendMessage('MyGameObject','MyMethod',JSON.stringify(obj));
}
关于数据以JSON字符串形式处理时的处理方式,一旦将其放入Unity中,便可以使用多种解决方案来解码JSON字符串。有关更多信息,请参见Serialize and Deserialize Json and Json Array in Unity。
因此,如果您的js看起来像这样:
// in a script attached to a gameobject named "MyGameObject"
void MyMethod(string s)
{
Debug.Log(s);
// decode from json,do stuff with result etc
}
您可以在Unity中执行以下操作:
function sendToUnity(obj) {
unityInstance.SendMessage('MyGameObject',JSON.stringify(obj));
}
sendToUnity({
playerId: "8484239823",playerLoc: "Powai",playerNick:"Random Nick"
});
,
有一些可用的方法,但目前尚无法将网格从js发送到unity。如果您使用的是Google draco,建议您遵循this fork