
Unity
文章平均质量分 55
懒猫睡大觉
这个作者很懒,什么都没留下…
展开
-
Unity3D-获取物体Inspector面板值
在U3D中给物体旋转进行赋值,或者想要获取物体的旋转值,往往会发现一个问题:物体的属性面板显示值与在程序中获取物体旋转的打印值存在差异。我们对物体进行旋转操作的时候会出现一系列的问题。可以选择利用反射获取到物体属性面板的显示值然后进行操作。//添加引用using System.Reflection;//获取面板原生值 private System.Type transType;private PropertyInfo t_propertyInfo_rotOrder;private ob原创 2021-05-08 11:11:54 · 1701 阅读 · 3 评论 -
Unity链接MySQL数据库读取及保存(工具类)
工具类如下:using System;using MySql.Data.MySqlClient;using System.Data;using UnityEngine;class ConnectionSQLProgram{ //远程连接 // string connectionString= "User ID = ; Password =.; Host =; ...原创 2019-06-24 10:40:24 · 3124 阅读 · 1 评论 -
UGUI跟随鼠标移动
using UnityEngine;using UnityEngine.EventSystems;public class DragUIMove : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler,IEndDragHandler{ public RectTransform canvas; ...原创 2018-10-16 15:21:32 · 1453 阅读 · 0 评论 -
Unity 读取嵌套文件夹工具类(文件夹位置不定)
类似于三级背包效果,顶部标题栏,右侧列表栏,中间显示具体哪个标题下的哪个列表按钮所对应的物品信息。但是所有的数据都是通过读取嵌套文件夹来完成。此时需要一个读取文件夹的工具类。文件夹列表图:运行读取文件夹信息生成UI效果图:注:调用ReadFolderStart(path)时需要传入A文件夹的名字,测试为Assets文件夹下直接传入A,经测试不分大小写,ReadFolderS...原创 2018-10-12 14:35:45 · 1081 阅读 · 3 评论 -
Unity中Awake与Start函数的调用情况总结(转)
在Unity中编写脚本时,有一系列的可重写(override)函数供我们使用,其中的Awake与Start两个函数作为初始化与设置之用,几乎在每个脚本中都要用到。因此,正确的把握这两个函数的调用时机,就能让我们在程序开发过程中避免一些错误,提高开发效率。1、 Awake函数 首先,我们来看unity的参考手册中对Awake函数的一些说明情况: 当脚本实例被加载时会调用...转载 2018-07-05 10:59:33 · 4132 阅读 · 1 评论 -
Unity调用摄像头
1.在unity的场景中新建一个Quad。2.新建一个Material文件夹用来存放Material,在Material里新建一个Material材质,并命名为CamTexture。3.选中CamTexture材质,在Inspector面板中选择shader的模式为Unlit/Texture。4.新建C#脚本,并将其命名为WebCam。using UnityEngine;using System...原创 2018-04-27 10:47:32 · 10900 阅读 · 5 评论 -
Unity 获取当前电脑网络状态
程序自启通过Socket连接服务器,此时服务器未开启时会导致程序崩溃,出现 The game crashed 显示框,可以通过判断当前网络状态,再启动Socket连接。代码如下:if (Application.internetReachability == NetworkReachability.NotReachable) { Debug.Log ("没有联网."); } if (Ap...原创 2018-04-20 10:26:13 · 1331 阅读 · 0 评论 -
使用UDP收发XML格式并解析
一、通过UDP将本地xml文件内容发送1.得到xml所在路径path,注意要以.xml 结尾.就是(文件路径+"/"+文件名+".xml")(不要重复) public string GetXmlPath(string xmlLoadPath, string xmlName) { string xmlname = xmlName; if (!xmlname.C...原创 2018-03-19 10:23:30 · 2489 阅读 · 3 评论 -
加载外部图片的三种方式
一、WWW加载首先,获取当前工程同目录下的“MapImages”文件夹路径,然后获取每张图片的全部路径,并将路径存到列表中。 /// /// 获取当前物体应该读取的地形贴图的文件的路径 /// /// private string GetFilePath() { string[] strTempPath = Applic转载 2017-09-18 15:27:17 · 1593 阅读 · 2 评论 -
UGUI中字体颜色渐变
脚本如下:using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [AddComponentMenu("UI/Effect/Gradient")] public class Gradient : BaseMeshEffect { [SerializeField]转载 2017-09-07 18:40:22 · 812 阅读 · 0 评论 -
Unity读写XML文件
在一位老师的博客里找到的代码,Unity读写文件,文件用xml的时候还挺多的。代码如下:using UnityEngine;using System.Collections;using System.Xml;using System.IO;public class XMLDemo : MonoBehaviour{ private ArrayList Adialogue =转载 2017-08-09 10:56:15 · 1919 阅读 · 0 评论 -
C# 之TcpClient和Socket
OSI七层网络架构OSI中的层 功能 TCP/IP协议族应用层 文件传输,电子邮件,文件服务,虚拟终端; TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层 数据格式化,代码转换,数据加密; 没有协议会话层 解除或建立与别的接点的联系; 没有协议传输层 提供端对端的接口; TCP,UDP网络层 为数据包选择路由; IP,ICMP,RIP,OSPF,B转载 2017-07-25 14:17:03 · 8352 阅读 · 0 评论 -
Unity3d之设计模式(一)单例模式
为什么要使用单例模式在我们的整个游戏生命周期当中,有很多对象从始至终有且只有一个。这个唯一的实例只需要生成一次,并且直到游戏结束才需要销毁。 单例模式一般应用于管理器类,或者是一些需要持久化存在的对象。Unity3d中单例模式的实现方式(一)c#当中实现单例模式的方法因为单例本身的写法不是重点,所以这里就略过,直接上代码。 以下代码来自于MSDN。转载 2017-07-24 16:55:50 · 817 阅读 · 0 评论 -
调用Dll库中的方法(不是Unity自带的Dll库)
如果别人写的程序,做成dll库让你调用方法获取数据,进行下一步操作,这样要引入dll库。而且根据你需要调用的方法传的参数也不同。因为参数是有回调函数,所以我用了一个委托。public class DiaoYongDLLFunction : MonoBehaviour{ public delegate void FCallbackAction(int status_trigger, i原创 2017-07-19 17:12:57 · 557 阅读 · 0 评论 -
用UDP进行广播后绑定发送Json数据进行通讯
用UDP通讯,要绑定服务器的IP以及端口号,同样服务器也要知道它的信息要发给谁,所以客户端要将自己的IP以及端口号发送给服务器,以便服务器直接发送数据到该客户端。我遇到的问题:1.服务器接收到信息后,发送信息,客户端接收不到,用抓包工具进行检测的时候,发现客户端的端口号一直在更改。端口号不断更改是正常的。服务器只需要处理只要是从该客户端IP发从过来的信息就可以,不用原创 2017-07-19 16:28:19 · 4147 阅读 · 3 评论 -
动态更改TerrainDetail的贴图
public class TerrainDetailControl : MonoBehaviour { public GameObject terrain; public Texture2D[] texx;//要更换为的贴图 private List detailsGameobject = new List(); private DetailPrototype[] newProtot原创 2017-07-19 15:38:52 · 1320 阅读 · 0 评论 -
动态更换地形纹理图
更改terrain地形中的纹理贴图,代码如下:public class TerrainTextureAssigner : MonoBehaviour{ public Texture2D[] TerrainTextures;//更换的纹理贴图 public Texture2D[] PingChangTerrainTextures;//原纹理图 private SplatProtot原创 2017-07-19 15:25:33 · 2489 阅读 · 0 评论 -
U3D-实时PVP小地图实现
前言在很多实时PVP对战游戏(如:英雄联盟、王者荣耀等)的战斗场景中,都会有一个小地图,用于实时地显示一些比较重要因素,例如:队友和对手位置、存活炮塔位置、Boss出生死亡情况等。一、方案分析:实现小地图的方案一般可以分成两种:直接加一个子相机,映射当前场景中所有的物体,简单粗暴; 用UI创建一个假地图,然后将需要显示在小地图上的物体,经过位置换算得到的小地图坐标,然后在小地图中...转载 2017-07-11 17:58:33 · 1105 阅读 · 1 评论 -
Unity初始化函数以及退出函数的执行顺序
打印结果:红色 启动Unity 蓝色 Unity失去焦点 获得焦点 绿色 停止Unity转载 2017-05-02 14:24:49 · 5488 阅读 · 0 评论 -
Player Settings导出设置
Cross-Platform Properties跨平台特性Company Name 公司名称The name of your company. This is used to locate the preferences file.您的公司名称, 这是用来设置参数文件。Product Name 产品名称The name that will appear on th转载 2017-04-19 11:08:13 · 2378 阅读 · 0 评论 -
C#获取路径
获取当前文件的路径:1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO转载 2017-04-18 16:59:36 · 416 阅读 · 0 评论 -
Unity自带地形中改树预制体的材质,并显示到场景中
磕磕绊绊最后也找到了解决办法,场景中的树木不同种类,在场景中不存在实例,只有去更改预制体的材质,或者是贴图。using UnityEngine;using System.Collections;using UnityEditor;using System.Collections.Generic;public class ChangeTreeMaterial : MonoBehavio原创 2017-04-11 10:23:51 · 3262 阅读 · 0 评论 -
Unity利用UDP通信(发送字符串)
客户端代码如下:using UnityEngine;using System.Collections;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;public class UDPServer : MonoBehaviour{ pub原创 2017-04-07 16:19:03 · 19465 阅读 · 15 评论 -
Unity 读写Json数据:LitJSON快速教程
出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明介绍JSON是一个简单的,但功能强大的序列化数据格式。它定义了简单的类型,如布尔,数(int和float)和字符串,和几个数据结构:list和dictionnary。可以在http://JSON.org了解关于JSON的更多信息。litjson是用C #编写的,它的目的转载 2017-04-07 15:44:37 · 1014 阅读 · 0 评论 -
给Unity中的模型动态改材质(也可应用于一个模型有多个材质球)
在仿真应用中,切换红外效果,地形,树木,如果是模型的话,直接更改材质球或者改材质球的图片,但是对于场景中刷出来的树木,更改材质,可以实现更改但是,暂时没有找到办法更改材质后使预制体应用,只有应用以后才会出现效果,如果不点应用是无法切换的,开始还有停止运行的时候会自动应用。今天总结的是模型中对于多个材质球的更改,动态更改材质球里面的图片。(可用于一个模型中有多个材质球的情况)原创 2017-03-31 11:10:23 · 23491 阅读 · 1 评论 -
动态更改地形材质(切换红外图像可用)
做仿真应用的时候,可能会碰上切换红外图像的情况替换方法如下:public class ChangeMetrialCeShi : MonoBehaviour { public Terrain terrainCeShi; public Material materialCeShi; void Update () { if(Input.GetMouseButto原创 2017-03-29 11:51:27 · 1344 阅读 · 3 评论 -
Dictionary 和Hashtable 性能消耗对比
1.Dictionary表示键和值的集合Dictionary是一个泛型他的特点是存入对象是需要与[key]值一一对应的存入该泛型通过某一个一定的[key]去找到对应的值2.哈希表(HashTable)表示键/值对的集合其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hash转载 2017-02-28 10:21:05 · 3370 阅读 · 0 评论 -
Unity人物残影
这里只针对SkinnedMeshRenderer的网格(也就是带蒙皮的网格)残影,主要原理是根据设定的间隔时间连续的截取当前SkinnedMeshRenderer的网格数据并使用Graphics.DrawMesh画出网格。一、首先是我们的残影类,为了能及时的Destroy,所以它最好派生至Object:[csharp] view plainclass After转载 2017-02-27 16:39:55 · 531 阅读 · 0 评论 -
Unity HowTo 指南:运动跟踪
本指南给你一个能跑得起来的简单的Unity运动跟踪应用,适用任何级别的Unity开发人员。你需要增加一个打开Tango功能的相机,然后再构建一个简单的场景。当你打开你的APP,四处走动,手机的移动会使得场景中的相机发生移动。如果你有一些Unity开发经验,你可以浏览一下 code samples in GitHub 和 SDK Reference Documentation.转载 2017-02-27 16:37:00 · 803 阅读 · 0 评论 -
Unity动态绘制mesh:点,线,面,模型
MeshEdito一:3D网格线段 给定起始点以及结束点的两个vector3,以及为其指定材质和半径,便可以画出一条线段,效果如下: 部分代码:[C#] 纯文本查看 复制代码? 010203040506070809101112转载 2017-02-27 16:27:52 · 12422 阅读 · 1 评论 -
Unity灯光效果及设置
Unity已经成为游戏程序员中越来越受欢迎的游戏引擎。这是因为Unity直接支持多种平台,如移动、桌面和控制台环境。此外,对于低收入开发者或工作室来说,它是免费使用的。Unity支持多种技术和组件。一些关键部件是灯光和照明技术。在Unity中,你可以通过模拟复杂的灯光行为或者通过简单的灯光模型来照亮场景。本教程将重点讲解如何在Unity 5使用照明工转载 2017-02-13 14:38:34 · 4952 阅读 · 0 评论 -
Unity中实现相机平滑且流畅的跟随玩家(或其他对象)
https://kylewbanks.com/blog/unity-make-camera-follow-player-smoothly-and-fluidlyUnity: Make the Camera Follow a Player (or any GameObject) Smoothly and FluidlyUnity中实现相机平滑且流畅的跟随玩家(或其他对象)翻译 2017-02-13 14:24:36 · 7328 阅读 · 0 评论 -
Unity3D 角色死亡灰屏特效实现
1.第一步,首先新建一个unity3d项目,导入Standard Assets>ImageEffects 插件(灰屏效果有用到噢),格外还导入Demo用到的角色资源[Spider Green插件]; 2.第二步,需要在场景中创建一个摄像机,并且摄像机附加ColorCorrectionCurves.cs 组件; 3.转载 2017-02-13 09:50:47 · 7857 阅读 · 0 评论 -
关于设计模式单例模式
从网上看到很多设计模式,尤为单例模式比较简单,也比较常用,在网上查的大部分都是官方回答,不厌其烦。单例模式,比较简单但是常用,单例有很多写法,今天就说一种简单易懂的。单例模式特点:1、单例类必须自己创建自己的唯一实例并且只有一个实例2、必须拥有一个私有的构造函数(防止在别的类中new出一个新的类对象)3、必须声明一个静态的私有的(类)类型的变量4、必须有个公有的静态的方转载 2017-01-20 10:49:01 · 329 阅读 · 0 评论 -
用Shader绘制自由多边形
前言讲述一下如何在场景中使用Unity Shader绘制自由多边形。本文所述的程序,支持在地图中用鼠标点击,确定多边形顶点,并且绘制多边形的边,在内部填充半透明的颜色。1 开发工具介绍Windows 10(64位)Unit转载 2017-01-04 18:24:50 · 3424 阅读 · 1 评论