Articles of unity3d

麻烦parsing从Node.js和MySQL生成的JSON

大家好, 我目前遇到麻烦,试图从服务器响应parsingJSON。 在客户端/应用程序端程序员,我们有一个服务器程序员负责创buildJSON。 所以我不太了解JSON以及它们是如何生成它们的。 我使用内置的JSON实用程序parsingUnity(游戏引擎)中的JSON。 我一直在search,可能有一些不同的JSON的变体,所以我不知道如果我需要一个第三方库,可以parsing我具体的JSON。 你是否熟悉下面这种types的JSON? [ { "id": 221, "builder_count": 1, "units": "[{\"count\": 1, \"level\": 1, \"type_id\": 1, \"unit_id\": \"2359-1\", \"research_time\": 0, \"research_complete\": 1}],[{\"count\": 5, \"level\": 1, \"type_id\": 11, \"unit_id\": \"2359-11\", \"research_time\": 0, \"research_complete\": 1}],[{\"count\": 5, \"level\": 1, \"type_id\": 2, \"unit_id\": \"2359-2\", \"research_time\": 0, \"research_complete\": 1}]" } ] “单位”键似乎有些偏离,即使它们确实是一个对象,它们仍被视为一个string。 我有权访问服务器代码,这是Key:Units如何生成的。 (整个代码块很大,所以我只是select了这个部分作为例子,请让我知道如果我需要发布整个JSON生成的函数) ' (SELECT […]

Socket.IO 1.0与Unity3d不能正常工作

我正在寻找一种方法来创build一个node.js服务器的unity3d游戏。 我熟悉Socket.io所以我想用这个。 我得到了“UnitySocket-IO”,但它不起作用,它说: Error initializing handshake with http://localhost:80/ 我在客户端(Unity)上的代码是: #pragma strict var client:SocketIOClient.Client = new SocketIOClient.Client("http://localhost:80/"); function Start () { //client.Opened += SocketOpened; client.Message += SocketMessage; //client.SocketConnectionClosed += SocketConnectionClosed; client.Error +=SocketError; client.Connect(); } function SocketMessage(sender, e) { client.Send("Pong"); } function SocketError(sender, e:SocketIOClient.ErrorEventArgs) { Debug.Log(e.Message); } 服务器上的代码(Node.JS): var io = require('socket.io')(); io.listen(80); io.on("connection", function (socket) { […]

在Unity3D C#中encryptionstring,通过HTTP GET请求作为URL参数发送,在node.js服务器中解密

我在Unity WebGL中使用了一种非常有效的泡泡糖和胶带解决scheme来处理一个小型街机游戏的在线排行榜。 目前,游戏客户端使用两个参数?name=NAME&score=111111发送HTTP GET请求。 虽然url不会正常显示给普通玩家,但显然通过浏览器开发工具很容易find和利用。 我的解决scheme是以某种方式用游戏客户端和服务器专用的密钥encryption得分string,如果提交的string没有成功解密,服务器将拒绝得分。 然而,我对密码学的理解是绝对零度的,而且我的很多尝试Google解决scheme和从许多结果中调整代码都是徒劳的。 我不知道要使用哪种algorithm,我的密钥是否实际可用,以及为什么每个东西都不起作用。 我不知道如何轻易地阻止这个排行榜提交虚假的分数,这是我能想到的最可行的解决scheme。 我怎样才能解密在Unity端的短string,通过URL传递,然后解密从node.js结束,并根据是否成功解密执行特定的代码?

Unity3D websocket客户端与Node.js服务器?

我有一个在Node.js中制作的游戏服务器,并且正在为它build立一个Unity3D客户端。 我已经为同一个服务器构build了一个纯Javascript Web客户端,这非常棒。 我能够使用websocket-sharp创buildUnity3D的客户端,但是速度很慢,想知道是否有更好的库可以使用,比如UNET。

将Unity游戏连接到数字海洋Node.js服务器

开始按照我的统一游戏的networking教程(以前没做过)。 这是迄今为止创build的一些非常简单的脚本,可以连接到。 这是我有: var io = require("socket.io")(process.env.port || 3000); console.log("Server Started"); io.on("connection", function (socket) { console.log("Client Connected"); }); 在Unity中,我有一个带有Socket IO Component(来自商店资产)的gameobject。 从CMD,我运行本地版本的server.js(上面的代码),并看到“服务器启动”出现。 在Unity中,GameObject的URL设置为:ws://127.0.0.1:3000 / socket.io /?EIO = 4&transport = websocket,当我玩Unity的时候,它连接起来。 这是显示在“客户端连接”出现在CMD窗口中。 本教程没有涉及到如何部署这样的东西,所以我只是确保在继续之前它肯定会工作。 我用Node.js打开了一个数字海洋液滴。 我导航到srv / www,并安装express以及socket.io,就像我在本地做的那样。 我上传(通过FTP)server.js的位置,并运行它。 我看到“服务器启动”出现。 当我统一更改URL中的IP地址时,维护端口及其后的所有内容,然后按播放,它不会出现连接。 我从来没有看到任何“客户端连接”消息。 这感觉就像是最后的障碍,但我无法解决它。 我把东西放在错误的目录中吗? 我在做什么错,为什么不能连接?

在Unity中encryption,在Node.js中解密

我试图从Unity发送一些数据到Node.jsexpression服务器,反之亦然。 这是我在C#中的Unity代码: public string Encrypt(string toEncrypt, string key, bool useHashing) { byte[] keyArray; byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt); if (useHashing){ MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key)); } else { keyArray = UTF8Encoding.UTF8.GetBytes(key); } var tdes = new TripleDESCryptoServiceProvider(); tdes.Key = keyArray; //tdes.Mode = CipherMode.CBC; // which is default //tdes.Padding = PaddingMode.PKCS7; // which is […]

Web和移动应用程序的node.js服务器

我正在Unity创build一个游戏,我想把玩家的分数上传到MongoDB。 因此,我已经build立了一个监听端口3000的node.js服务器,分数将被发送到服务器并存储到数据库中。 我的问题是,如果我想创build一个网站来查看/分析玩家的分数,我应该使用哪种方法? 创build两个node.js服务器,一个用于Web,一个用于游戏 一个node.js服务器,但听取端口80和3000(即时通讯不知道是否有可能) 还有什么更好的build议? 谢谢。

在游戏中同步NPC行为。 使用socket.io/node.js。 Unity2D

我正在制作3D元素游戏统一的2D自上而下。 这是一个多人游戏,我设置它的方式是通过一个主客户端(服务器)通过socket.io/ node.js将信息传递到后端服务器。 考虑到这是我第一次尝试这样一个壮举,我已经能够同步玩家,他们的生命线和旋转棋子的移动,以及他们的精灵翻转。 但是现在我冒险在这台服务器上制造怪物,而且我碰到了一个我没有同步玩家的问题。 我做他们的方式是让玩家控制器将信息传递给后端服务器,然后将其传播给其他玩家。 但是对于NPC,我只是简单地把一个控制器连接到产生的怪物上,在“服务器”客户端执行操作,然后转发给所有的客户端,以确保每个人都“同意”正在发生的事情和时间。 如果只有1个怪物,这似乎工作得很好,但是如果第二个我加上2个或更多,他们显然与他们的信息相冲突。 所以我看到我不能和球员做的一样。 为此,如果可能的话,我需要一些反馈。 信号发送如下: 命令产生怪物出于testing目的: void CreateMonster() { var selectedSpawnPoint = spawnPoints[Random.Range(0, spawnPoints.Length)]; var spawnedEnemy = Instantiate(Enemy[Random.Range(0, Enemy.Length)], selectedSpawnPoint.transform.position, selectedSpawnPoint.transform.rotation); Debug.Log("im at " + spawnedEnemy.transform.position); socket.Emit("enemySpawned", Network.VectorToJson(spawnedEnemy.transform.position)); } 服务器收到该信号: socket.on('enemySpawned', function(data){ var thisEnemyId = shortid.generate(); var currentTarget = ''; var Enemy = { id: thisEnemyId, x:0, y:0, target:currentTarget, […]

UnitySocketIO-WebSocketSharp挂在使用Unity webplayer的握手循环上

我正在使用UnitySocketIO-WebSocketSharp连接到一个node.js服务器。 如果我在独立模式下在Unity上运行应用程序,一切顺利; 握手正常发生,websocket运行平稳。 但是,如果我在webplayer模式下运行,套接字只是给我一个永恒的握手循环。 我在Unity上使用的代码就是这个例子中的代码 。 在服务器上,我正在使用crossdomain.xml , 这就是我用作服务器 这是服务器的输出。 蓝色箭头表示我玩Unity场景的时刻:

unity3D:使用socket.io连接到node.js

我正在尝试使用socket.io来连接我的unity3d程序与node.js服务器。 是否有可能?如果可能,请分享这个文件或步骤…. 大多数人使用“unity socket.io”连接unity3d程序和node.js服务器。 我发现一个问题在连接Unity3D与Node.js统一socket.io。 但是我需要socket.io。 如何安装这个模块。 请分享这个……..