能兼容unity 3d 教程3d的可存取复杂游戏数据的数据库有哪些

只需一步,快速开始
查看: 2552|回复: 44
UID12学历博士听众数收听数帖子好友精华7主题鲜花304 积分597QQ在线时间7 小时最后登录个人主页注册时间
TA的其他好贴
共享资源获取更多积分!share your resources get more credits!
Unity的脚本是基于开源的.net框架'Mono', 因此它带给我们很大的扩展空间!!
& && & 到这里根据需要下载对应的Dll文件。
& && & 以MySql为例,我们可以进入根据说明下载对应文件,将“mysql.data.dll”拷到脚本对应的目录下。
& && & 参考网页中的示例代码我们得改改才能正确在Unity中运行:(更新:其实不用改也行,当初没添加System.Data.dll&必须从这目录拷:..\Unity\Editor\Data\MonoCompiler.framework&到Assets目录下)
& && & 去掉“using System.Data” 否则报错“The type or namespace name `Data' does not exist in the namespace `System'. Are you missing an assembly reference?”,没引用它了接口自然是用不了了,没关系不用接口照样实现它:using UnityE
using System.C
using S
using MySql.Data.MySqlC
public class databaseOp : MonoBehaviour
{
& & void Start()
& & {
& && &&&pu
& && &&&string connectionString =
& && &&&&Server=& +
& && &&&&Database=**;& +
& && &&&&User ID=**;& +
& && &&&&Password=**;& +
& && &&&&Pooling=false&;//连接字符串根据自己的数据库情况填了
& && &&&MySqlC
& && &&&try
& && &&&{
& && && && &dbcon = new MySqlConnection(connectionString);
& && && && &dbcon.Open();
& && && && &MySqlCommand dbcmd = dbcon.CreateCommand();
& && && && &//以下根据自己的需要写吧!
& && && && &string sql = &SELECT datavalue FROM datatable&;
& && && && &mandText =
& && && && &MySqlDataReader reader = dbcmd.ExecuteReader();
& && && && &while (reader.Read())
& && && && &{
& && && && && & mystring += (string)reader[&datavalue&] + &\n&;
& && && && &}
& && && && &// clean up
& && && && &reader.Close();
& && && && &reader =
& && && && &dbcmd.Dispose();
& && && && &dbcmd =
& && && && &dbcon.Close();
& && &&&}
& && &&&catch (Exception ex)
& && &&&{
& && && && &mystring = ex.ToString();
& && &&&}
& & }
}[cz]回复有真相[/cz]
游客,如果您要查看本帖隐藏内容请
上一篇:下一篇:
UID232听众数收听数帖子好友精华0主题鲜花14 积分20QQ在线时间0 小时最后登录个人主页注册时间
问题学生, 积分 20, 距离下一级还需 180 积分
当前用户组为 问题学生当前积分为 20, 升到下一级还需要 180 点。
听说回复有真相???。。。。我想问一下楼主,,,,我在写Unity连MySql数据库的时候,写好过后在Unity里面能过访问,但是在导出工程后就不能访问数据库了。这是怎么个情况??????。。。。。。。。。求大神指点。。。。
UID12学历博士听众数收听数帖子好友精华7主题鲜花304 积分597QQ在线时间7 小时最后登录个人主页注册时间
栩栩 发表于
听说回复有真相???。。。。我想问一下楼主,,,,我在写Unity连MySql数据库的时候,写好过后在Unity里面 ...
去年做过测试 跟你也是一样的问题 后来改了思路&&unity用www访问 web,也就是将值传给web后再&&由web端来操作数据库
UID204听众数收听数帖子好友精华0主题鲜花13 积分19QQ在线时间0 小时最后登录个人主页注册时间
问题学生, 积分 19, 距离下一级还需 181 积分
当前用户组为 问题学生当前积分为 19, 升到下一级还需要 181 点。
用&&WWW 的&&form 来跟WEB 访问么? 挺好的思路啊!学习下。。
UID266学历博士交友目的学习自我介绍活泼听众数收听数帖子好友精华0主题鲜花104 积分204居住地广东省 广州市兴趣爱好游戏在线时间0 小时最后登录注册时间
小学生, 积分 204, 距离下一级还需 296 积分
当前用户组为 小学生当前积分为 204, 升到下一级还需要 296 点。
回复有真相
UID973听众数收听数帖子好友精华0主题鲜花104 积分203QQ在线时间0 小时最后登录个人主页注册时间
小学生, 积分 203, 距离下一级还需 297 积分
当前用户组为 小学生当前积分为 203, 升到下一级还需要 297 点。
恢复有惊喜???????????
UID7160听众数收听数帖子好友精华0主题鲜花104 积分204QQ在线时间0 小时最后登录个人主页注册时间
小学生, 积分 204, 距离下一级还需 296 积分
当前用户组为 小学生当前积分为 204, 升到下一级还需要 296 点。
真心求真相
UID7160听众数收听数帖子好友精华0主题鲜花104 积分204QQ在线时间0 小时最后登录个人主页注册时间
小学生, 积分 204, 距离下一级还需 296 积分
当前用户组为 小学生当前积分为 204, 升到下一级还需要 296 点。
I18N.CJK.dll、 I18N.dll 、I18N.West.dll拷到脚本目录下就行了。
请教下 这个考到脚本目录 具体指?&&我生成web&&没地方放啊&&求解答
UID7160听众数收听数帖子好友精华0主题鲜花104 积分204QQ在线时间0 小时最后登录个人主页注册时间
小学生, 积分 204, 距离下一级还需 296 积分
当前用户组为 小学生当前积分为 204, 升到下一级还需要 296 点。
UID6641听众数收听数帖子好友精华0主题鲜花386 积分410QQ在线时间0 小时最后登录个人主页注册时间
小学生, 积分 410, 距离下一级还需 90 积分
当前用户组为 小学生当前积分为 410, 升到下一级还需要 90 点。
回复有真相
点击随机调到资源区或教程区!Unity3D游戏开发之网络游戏服务器架构设计(如何做一名好主程)51
上亿文档资料,等你来发现
Unity3D游戏开发之网络游戏服务器架构设计(如何做一名好主程)51
骑士团Unity3D系列教程培训群号:19352;Unity3D游戏开发之网络游戏服务器架构设计培;今天给大家讲一下如何做一个好的主程;入手;假如,我现在接手一个新项目,我的身份还是主程序;除了技术背景之外,考虑这些问题的时候一定要充分考;ProgrammingLanguage:传统来说;至于选择什么样的脚本语言,以及脚本在你的游戏中究;骑士团Unity3D
骑士团Unity3D系列教程培训
Unity3D游戏开发之网络游戏服务器架构设计培训(如何做一名好主程) 今天给大家讲一下如何做一个好的主程 入手 假如,我现在接手一个新项目,我的身份还是主程序。在下属人员一一到位之前,在和制作人以及主策划充分沟通后,我需要先独自思考以下问题: 1、服务器跑在什么样的操作系统环境下? 2、采用哪几种语言开发?主要是什么? 3、服务器和客户端以什么样的接口通讯? 4、采用哪些第三方的类库? 除了技术背景之外,考虑这些问题的时候一定要充分考虑项目需求和所能拥有的资源。 我觉得,先不要想一组需要几台机器各有什么功能这样的问题,也不要想需要多少个daemon进程。假设就一台服务器,就一个进程,把所需要的资源往最小了考虑,把架构往最简单的方向想,直到发现,“哦,这么做无法满足策划要求的并发量”,再去修改设计方案。 操作系统:越单一越好。虽然FreeBSD的网络性能更好、虽然Solaris非常稳定,但选什么就是什么,最好别混着来。前端是FreeBSD,后端是Solaris,运营的人会苦死。也不要瞧不起用Windows的人,用Windows照样也能支持一组一万人在线,总之,能满足策划需求,好招程序员,运营成本低是要点。不同的操作系统有不同的特性,如果你真的对它们都很熟悉,那么必定能找到一个理由,一个足够充分的理由让你选择A而不是B而不是C。但做决策的时候要注意不要因小失大。 Programming Language:传统来说,基本都是C/C++。但是你也知道,这东西门槛很高,好的C/C++程序员很难招。用Perl/Python/Lua行不行?当然可以。但是纯脚本也不好,通常来说是混合着来。你要明白哪些是关键部分,我是说执行次数最多的地方而不是说元宝,这些必须用性能高的语言实现(比如C/C++比如Java),其它像节日活动这样很久才执行一次的,随便吧。脚本的好处是,可以快速搭原型。所以,尽早的,在你做完基本的地图和战斗模块之后,立马跑机器人测试吞吐量。这时候项目开发进度还不到10%,不行就赶紧改。 此处特别举个例子就是Java GC的问题。既然你要用java,而jvm需要通过执行garbage collection来回收内存,而garbage collection会使整个应用停顿,那你不妨试一试,内存在达到峰值的时候会停多久?策划可以接受吗?如果不可以,你可以采用其它的GC策略再试一试。这个问题应该不是Java独有的。网游和网站应用相比它很注重流畅性。这是你务必需要考虑的。 至于选择什么样的脚本语言,以及脚本在你的游戏中究竟是占80%还是20%?需要根据需求来看。有没有游戏完全不用脚本?有。有没有游戏滥用脚本?也有。如果你引入脚本的目的是因为策划不会C/C++而你希望策划能自己独立实现更多的游戏功能。你希望策划去写脚本?脚本也是程序,策划写的脚本难道就比程序员写脚本好?还是因为策划工资便宜?策划骑士团Unity3D系列教程培训
因为脚本写错了导致大故障还少吗(此处特别以网易的产品举例)?综合权衡下,还是算了吧。问问你一起工作的程序员哥们儿,他们最喜欢什么语言,什么用起来最顺手,就用什么当脚本。注意不光要考虑开发速度快,还要考虑调试方便。 总体来说,操作系统和编程语言的选择,随大流即可。标新立异没什么好处。小地方的实现你可以玩玩,整体还是要越保守越好。 通信 然后说通讯的问题。服务器和客户端怎么连接上的? 往最下面看,物理和链路层。有可能是以太网,有可能是ADSL,在北京还有很多像歌华宽带这样的采用75欧同轴电缆或者电力线上网的。你不要企图在这一层做什么优化,你要充分考虑的是不同的网络传输媒质网络延迟不一样。更恶心的是你正常的数据包可能会被某些网吧的SB路由器当做P2P数据包给封掉,或是甚至被解析成Wake-On-Lan这样的含义。杨建还会给你讲,什么是MTU,把数据包限制在多大才能尽量让请求在一个包内发完。是的,这些很精细的东西,等咱游戏做的差不多了再慢慢研究。先略过。 往上看,IP层。再往上,你要考虑用TCP还是UDP或是二者混合。UDP的优势是overhead小、延迟低,典型的用例就是《天下贰》,据说是纯UDP。再比如《龙之谷》,据说是有小部分是UDP。负面的一点呢,就是它太过于简单所以用起来太过于复杂。你要是对自己没信心,TCP吧,随大流就好。 往上,采用什么样的应用协议。大多数rpc协议都是既支持TCP又支持UDP的。我所用过的有sun rpc、corba、webservice、json、java RMI以及一些专有协议。如果你有精力,还是自己搞一套吧,网游所用的东西,还是越专有越好,给抓包做外挂的人加一点门槛。这里非常强调的一点,你采用什么样的序列化方式与你采用什么样的网络协议是无关的,你的应用协议和你传输协议应该也是无关的(既支持TCP又支持UDP的)。如果做框架的人把自己限制的太死或者耦合太紧,那么用框架的人会非常痛苦。所以,没必要在此为了性能做过多优化。结构简单清晰是王道。 很多人对网络开发的认识还停留在定义一个struct、memcpy到socket buffer、send,然后一个劲的给别人强调遇到指针怎么办、数组的长度不能超过多少、整个包的长度不能超过多少等等。序列化其实是面向对象程序设计的一个很核心的要素。连glib/gtk/Berkeley DB这些纯C的框架都是基于OOP设计的,所以我觉得您就算是C程序员也没必要排斥它。我讲这个是说,你应当做应用的人尽可能的避免用memcpy/memset这样的方式初始化数据、传送数据。如果你是C程序员,你多提供一些g_object_new这样的函数;如果你是C++程序员,写好你的构造和析构函数;如果你是JAVA程序员还死活不懂OOP,那算了吧,改行吧。 网络这一层有些很精妙的东西,尤其是当你规模扩大需要分布式扩展的时候。你想想看为什么sun rpc需要先去rpcbind询问一次然后才连真正的进程呢?RMI返回的时候为什么需要同时返回IP和端口号呢?web service那么通用,大部分浏览器都支持直接从浏览器调用web service那么为什么主流的方式却是json呢? sun rpc是所有RPC机制中历史最久的吧?它在设计第一版的时候,每个rpc调用都是由一问一答来组成,称为two-way messaging。客户端在发出请求之后,一直等服务器的答复,骑士团Unity3D系列教程培训
如果一直到指定时间后依然没收到答复,那么执行timeout逻辑。在第一个请求收到答复(或者timeout)之前,无法发起第二个答复。直到某一天,Sun的程序发现他们需要异步处理一些事情,于是设计了one-way messaging,客户端在发起请求的时候,只要把这个东西塞到本地的IO队列里,就返回。但是如果socket buffer满了怎么办?还是会等在那里。于是觉得这个还不彻底,于是又做了Non-Blocking Messaging,在kernel的socket buffer前面加了一个用户态的rpc buffer,大多数时候它都是空的,当socket buffer堆满了的时候,再往这里面塞。如果这个buffer也满了怎么办?我觉得无非就三种处理手段: 1、阻塞。如果这么做,就是说本来是套非阻塞的设计但是某些情况下还是会阻塞?那么给用的人解释起来太麻烦用起来也太麻烦。算了。
2、悄然丢弃。 不是所有的数据都可以丢。聊天的无所谓,但是交易的就不行。所以需要在消息类型上加判断。
3、关闭连接。 最简单粗暴,却也最有效。 在使用two-way messaging的时候,一定要记住设置超时,省得像某些傻瓜一样因为一个请求把整个server堵死。但是我觉得timeout设多久完全是个经验值,太大了没作用,太小了失败的太多。 至少在有一点我们可以大松一口气,就是不用担心数据量大到需要多网卡同时分担中断。通常来说网络游戏的流量都是很小的,对玩家来说一个56K的猫或者128K的DSL就够了。如果你的策划给你提了一个很BT的需求导致要耗费大量带宽,那么你最好把这个应用分到单独的tcp 连接上,省得因为它阻塞而导致关键的业务(比如地图消息)停滞。 我一直想把rpc的部分实现塞到kernel里。对客户端的好处是增加了逆向工程的成本,对服务器的好处是网关可以很高效。就像LVS那样,前端收完包之后在kernel里处理完然后立刻转出去,不用切换到用户态。而GameServer处理完之后,甚至不用经过网关,直接回复。目的不在于分担网关的压力,而是说降低响应延迟。就算让GameServer承担部分加密和压缩的计算量,它的CPU也足够用。 不过对于网游,考虑动态扩容为时太早。一般都是新开几组服务器。
数据 我在做服务器安装包的时候,分的很清楚:程序、配置文件、数据库。 程序,就是编译好的二进制文件。最好是全静态编译,因为它简单。动态链接的优点以及其它一些高级话题我后面讲,但是通常来说,动态的复杂的结构得不偿失。 配置文件总体来说可以分为文本文件和二进制文件(废话)。文本文件的好处是开发过程中易于调试和修改,最终发布后也易于追踪问题。二进制文件的好处是小、精巧、不易把信息泄露给外人知道。java的打jar包的技术算是一个折衷的优势吧?我最看重的是易于调试和修改,所以基本都用文本文件。而这其中,表现力最强的就是xml,所以基本都是xml。 骑士团Unity3D系列教程培训
但是xml多了怎么管理就是个问题。我得整理份文档,每个xml都是什么格式,做什么用途的,最好每个xml再写一个xsd。事实是配置文件是随着需求变化最频繁的部分,而换个角度说我之前强调的序列化。所以,正确的思路是这样: 1、程序员分析需求文档,确定需要什么样的对象来表示配置 2、某套序列化框架,它利用某种xml解析库把xml变成内存中的对象 3、策划提供xml 只要这个框架做的好,根本不需要文档或xsd来描述xml。我这里说策划提供xml,那么策划怎么提供xml呢?按照我所看见的策划的习惯,他们最喜欢的是两种方式: 1、对于结构简单的数据,编辑excel表 2、对于结构复杂的(如涉及树、环的),提供专门的编辑工具 对于1,我们可以给excel做plugin,或者做一个工具从excel表导出成xml。对于2,让编辑工具可以导出成xml。但是最终很重要很重要很重要的一点就是要让所有的工具集成在一起,做好版本管理以及跨版本diff和merge。如何管理数据要比如何定义数据如何描述数据更难更重要。 很多同事和我的共识都是:要做一款好游戏,工具很重要。多个项目做完后,外人能看见的最大的积累就是工具和流程。 数据库 数据库在游戏中的重要性,是一个很令人玩味的东西。你可以听见很多人告诉你说,我们做游戏根本不需要数据库。是的,像单机游戏那样,在某个目录下创建一个文件,save/load就行了。这就是我所看到的当今的大型网游的主流做法。 哦,你要反对了。你说你知道某某游戏用的是mysql,某某游戏用的是oracle,等等。是的,你手上的信息可能比我多很多很多倍,但是关键点在于,数据库在整个系统中的角色到底是什么? 典型的场景是这样:启动一个单独的进程称之为DB Gate。当用户登录的时候,逻辑服务器找DB Gate要数据,DB Gate没有于是就去找后面的Mysql要,然后读过来之后就放在这里,DB Gate就是一个类似于memcached的东西。所以后面无论是用mysql还是oracle还是plain text都可以,但实际上会在其它方面有些细微的差别。 它和网站应用相比,数据更容易做cache,把握好上线和下线这两个点即可,cache的命中率很容易达到4个9或者更高。但是从另一个方面,网络游戏的数据关联逻辑远远比网站复杂,而且对原子性、一致性、隔离性要求更高。现在是你自己来管理cache,于是并发控制就没办法交给数据库来做。 问题一:我不自己做cache,我就直接读写数据库。就像php+mysql那样,中间也不套memcache,行不行? 我不知道。你可以试一试。 问题二:SQL or NoSQL ? 我还是回答不了。你做个demo跑机器人试一试。 骑士团Unity3D系列教程培训
总之,东西是活的。没有必要非要怎么着非不能怎么着。检验的标准很简单:1、是否完成了策划提出的功能需求 2、效率是否达到了预期目标 对于第一个,QA和策划都会去检查。对于2,跑机器人以及封测期间调优是王道。 对于数据库开发,我还是很强调面向对象那套观点。把数据库里的表映射到对象,把对象抽象成接口,每个模块以接口对外提供服务,不同模块不要直接通过表共享数据。或者,你可以读我的表,但不要写!因为数据的约束条件未必是可以由DBMS完全保证的,某些约束是难以用数据库本身的语言表述的。 数据是网游的核心,网游基本都是数据驱动的,所以数值策划才会这么吃香。 或者换个角度想,DBMS它是什么? 1、它管理数据。帮助我们高效的读取和修改数据。因为数据的动态性,所以我们需要Btree这样的结构,而不是随便找个TXT追加写。但是换个角度想,网络游戏有什么特点?插入多,但是删除操作极少极少。那么是否可以采用其它的结构呢?顺序重要吗?为什么不用Hash呢? 2、它负责备份和恢复数据。这基本是任何现代的数据库系统必须提供的基本功能。但是网络游戏又特殊一点,它要求能按指定时间“回档”。时间可以有半小时的误差,但是这个功能必须有。于是数据库能支持增量备份,或者它的备份能支持版本很重要。 3、它使用logging system保证在突然宕机的时候数据依然是完整和一致的。可是如果我们要自己做cache,那么就要求我们在应用层面所做的原子性保证必须在cache中也能体现出来。这些cache要么全刷,要么全不刷。 4、它提供并发功能。拿传统的php+mysql架构来说,为什么同一个应用可以被分布式的部署在多台机器上?魔力就在数据库上。 既然有人轻视数据库,那么也可反其道重视数据库。把90%的逻辑都放在数据库里完成。多招一些熟悉SQL熟悉存储过程的,主要的逻辑都由他们完成。 并发 接着说我在并发上的考虑。 一台机器还是多台机器?单进程还是多进程?单线程还是多线程?等等。 我觉得并发问题是最没章法可循的问题。你可以这么做也可以那么做。网络游戏的重点是在逻辑开发上,而做逻辑开发的人不要关心到底是epoll还是select。总之制定框架的时候需要定好一个规矩:单线程还是多线程、访问哪些数据的时候需要加锁(可能还需要跨进程的加锁)、谁来做load balancer、如果有一台机器宕了怎么办、哪些任务必须要以特定的顺序执行,等等。规矩定下来,一切都顺了。可这个规矩要足够的简单。 如果是多线程,我想过两种模式:Thread per Connection和Task based thread pool。现在机器的内存越来越大了,所以前者的开销是可以忍受的,1000人在线,就算每个线程要被系统占去2M,那么也才2G。而一般的3D游戏做个 3-4千人在线就行了,配个大内存的机器,三亿文库包含各类专业文献、幼儿教育、小学教育、高等教育、行业资料、文学作品欣赏、专业论文、中学教育、Unity3D游戏开发之网络游戏服务器架构设计(如何做一名好主程)51等内容。 
 协助完善现有服务器框架 参与游戏各种活动开发. 2011.11 - 2012.09 深圳市 xx 网络科技有限公司 (10个月) 游戏开发部 | 手机游戏服务器端主程 网络游戏 | ...  研发主程 |
元/月 网络游戏 | 企业...游戏设计/开发 |
元/月 网络游戏 | ...具有即时通信软件,流媒体服务器,高性能,高可靠性...  2D 网络游戏美术团队开发与管理; 2.能够根据设计案...游戏客户端主程(Unity 3d)岗位要求: 1、热爱游戏,...服务器架构优化 任职要求: 1 精通常用的算法和数据...  Unity3D游戏开发之项目程序加密_计算机软件及应用_IT/计算机_专业资料。做项目安全...写好之后,在资源管理器里面选择“生成”,那么在项目的 bin/debug 里面就会看到...  ,网络游戏程 序设计分为游戏程序设计、游戏主程。 ...高级策划理论、 数字游戏创意实践―Unity3D 项目开发...算法与数据结构、 Win32 程序设计、 游戏数学和智能...  ,也有了网络游戏,现在的手机游戏完全可以媲美PC游戏...手机游戏程 序设计分为游戏程序设计、游戏主程,由于...策划理论、数字游 戏创意实践―Unity3D 项目开发。 ...能在Unity3D下存取复杂游戏数据的数据库 iBoxDB免费下载
主题帖子积分
阅读权限255
在线时间1294 小时
活力值4548 点
推荐注册人数98 人
推广帖子奖励=推广值=排行榜:
分享有奖:
你好:看看研究研究吧
这个数据库用的 多吗
你好,大神,想学习一下iBoxDB!谢谢
多谢楼主了下来学习下
感谢LZ分享
good。。。。。
社区QQ达人
使用QQ帐号登录论坛的用户
CG侠游戏资源平台简介
CG侠()是专业cg论坛CG资源网平台,CG侠提供大量的免费游戏资源和CG资源下载。包含:unity3d资源、UDK虚幻引擎资源、cocos2d资源、unity3d插件、游戏源码、app源码、html5游戏源码、游戏特效、CG原画插画、CG贴图库、CG模型、游戏模型、成套手游页游美术资源等CG资源以及VR视频、VR游戏等VR资源下载,是国内专业且免费的游戏CG资源平台!
Powered by
&&&&&&青木南天文化传媒&&CG侠 &&ICP证:赣ICP备号-5

我要回帖

更多关于 win10 unity 不兼容 的文章

 

随机推荐