怎么使用unity进行缺陷管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用unity进行缺陷管理相关的知识,希望对你有一定的参考价值。
怎么使用unity进行缺陷管理,一、首先从项目配置管理的角度说,Unity工程支持外部版本控制工具,比如Git。需要设置的是开启菜单 Edit > Project Settings > Editor 中 Version Control 中的 Meta Files。
有两种 Meta Files 分别是 Hidden 和 Visible,区别为是否隐藏 .meta 文件。(这两种都可以以)
然后用你们团队选择的版本控制工具如Git 让 Assets、ProjectSettings 目录受版本控制就可以了。
二、其次,从游戏资源的角度说,要在团队内部形成统一的资源命名和格式标准。
以特效为例,通常特效需要外部资源,如贴图、序列图或者模型文件,那么贴图最好采用TIFF、PNG等格式、序列图最好加后缀编号,模型文件最好用标准的3D交换格式FBX或Collada。
将资源文件放到Unity的约定名称文件夹中(对应Unity里的Project窗口),比如 SFX 是声音特效,FX 是特效,Particles 是粒子系统,Shaders 是着色器程序,Textures 是贴图等等。 参考技术A Unity游戏开发平台可以帮助开发者实现缺陷管理,可以将游戏中的缺陷、问题等汇总归类,并实时显示整体进度和状态。要使用Unity进行缺陷管理,首先需要建立缺陷跟踪系统,然后可以通过“外部工具”设置来对缺陷进行管理。
unity3D中使用Socket进行数据通信
公司今年3D产品的工作中心主要集中在提高产品深度上,通过对竞争产品的分析,发现我们的缺陷在于多人在线与后台管理部分,多人在线使用unity自带的Network能够搞定,后台部分前段时间主要研究了下Sqlite。因为sqlite本身不带server,作为数据库仅仅是一个文件,sqlite放在server上与client通信的需求事实上就是多个client訪问同一个文件了。查了一些资料,有非常多方法,个人感觉socket不错。一来应用广泛。自己学习后也是一个充电,而来操作灵活,比作文件共享更自由。所以就学习学习了。
基于TCP协议一个非常重要的概念就是socket(套接字)。记得大学时学的网络七层协议。当时是云里雾里,如今才算有了初步的了解,我们的编程仅仅负责七层协议中的应用层,至于有应用层怎样到传输层一直到最底层临时就不用关心了。仅仅须要知道socket帮我们搞定了底层一些东西。而我们程序相应socket的最重要的两个信息:ip地址和port号。
ip非常easy理解。就相当于你家的门牌号,这是唯一的。port号就相当于你家的窗户,你想出去的话能够走门,也可走窗户,走1号窗户,走2号窗户。。。。
(类似电脑中的数据通信)
好了废话不多说,以下仅仅是一个简单的server与client连接的Demo。兴许会陆续放出数据发送与接收部分。我给出代码与測试部分。至于其它不懂的概念,能够自行百度。
1、Socket服务端
使用VS创建应用太控制程序,创建client。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Net.Sockets; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 }); IPAddress ip = IPAddress.Parse("192.168.0.13"); //IPAddress ip = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0]; TcpListener tlistener = new TcpListener(ip, 10001); tlistener.Start(); Console.WriteLine("server监听启动......"); while (true)//看上去是死循环,因为堵塞方法,大部分时间都在等待 { TcpClient remoteClient = tlistener.AcceptTcpClient();//接收已连接的client,堵塞方法 Console.WriteLine("client已连接!local:{0}<---Client:{1}", remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint); } //ConsoleKey key; //do //{ // key = Console.ReadKey(true).Key; //} //while (key != ConsoleKey.Q); } } }
2、Socketclient
在Unity3D中建立client。
创建脚本。将该脚本挂载到空场景的不论什么一个游戏物体上。
using UnityEngine; using System.Collections; using System.Net; using System.Net.Sockets; using System; public class SocketClient : MonoBehaviour { void Start() { } void Update() { if(Input.GetKeyDown(KeyCode.Alpha1)) { Client(); } if(Input.GetKeyDown(KeyCode.Alpha2)) { SimulateMultiUserClient(); } } private void Client() { TcpClient client = new TcpClient(); try { client.Connect(IPAddress.Parse("192.168.0.13"), 10001);//同步方法,连接成功、抛出异常、server不存在等之前程序会被堵塞 } catch (Exception ex) { Debug.Log("客户端连接异常:"+ex.Message); } Debug.Log("LocalEndPoint = " + client.Client.LocalEndPoint + ". RemoteEndPoint = " + client.Client.RemoteEndPoint); } private void SimulateMultiUserClient() { TcpClient client; for (int i = 0; i < 2; i++) { client = new TcpClient(); try { client.Connect(IPAddress.Parse("192.168.0.13"), 10001); } catch(Exception ex) { Debug.Log("客户端连接异常:"+ex.Message); } Debug.Log("LocalEndPoint = " + client.Client.LocalEndPoint + ". RemoteEndPoint = " + client.Client.RemoteEndPoint); } } }
以上是关于怎么使用unity进行缺陷管理的主要内容,如果未能解决你的问题,请参考以下文章