自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 3d数学基础 -- 2维向量(高中学的忘完了都)

二维向量计算向量加法在二维坐标中 A点的坐标是(4,5),B点坐标是(2,2),那么ab向量就是A点的坐标减去B点的坐标,计算如下(4-2,5-2)=(2,3)。同样的,两个向量相加的时候也就是坐标的各个轴上的值进行相加用上面的方法,我们在添加一个点C坐标是(3,-2),ab向量的值为(2,3),bc向量的值为(-1,4),那么ab向量加上bc向量的值(2-1,3+4)=(1,7)...

2019-10-15 10:35:45 1736

原创 关于按钮点击事件的PointerEventData属性详解

PointerEventData .button触发此事件的按钮PointerEventData.clickCount计算按钮连击次数,间隔时间很短public class ExampleClass : MonoBehaviour, IPointerDownHandler{ public void OnPointerDown(PointerEventData eventData)...

2018-12-07 15:23:41 35817 5

原创 Unity画线工具--LineRander

新版的画线系统将颜色和材质渐变进行了整合,根据官方的文档,我们可以发现将这些整合到了Gradient这个类里面,这是一个专门用来处理渐变的类 private LineRenderer lr; void Start() { lr = GetComponent<LineRenderer>(); lr.material = ne...

2018-08-07 11:30:40 2905

原创 3D数学--变换坐标

齐次坐标(用来判断点和向量)通过在坐标值后面添加0或者1判断是否是点或者向量,1代表是一个点比如[1,2,3,1],0代表是向量例如[1,2,3,0] 向量和点相加得到的还是一个点,代表了这个点经过这个向量位移后产生新的点 向量就是是由最终点减去起始点得到的,方向由起始点指向最终点 Unity中采用四阶矩阵就是在三阶矩阵上面加上了齐次坐标的运算,所以我们通常也可以使用三维坐标表示位...

2018-08-07 10:53:49 230

原创 DoTween使用(完整版添加)

下载DoTween在Asset Store直接下载,分为付费和免费版本 这里讲解是付费完整版对变量进行动画(正则表达式) public float myValue2 = 0; // Use this for initialization void Start () { //对变量做一个动画 (通过插值的方式去修改一个值的变化) ...

2018-08-07 09:58:52 27984 1

原创 3D数学--变换坐标

齐次坐标(用来判断点和向量)通过在坐标值后面添加0或者1判断是否是点或者向量,1代表是一个点比如[1,2,3,1],0代表是向量例如[1,2,3,0] 向量和点相加得到的还是一个点,代表了这个点经过这个向量位移后产生新的点 向量就是是由最终点减去起始点得到的,方向由起始点指向最终点 Unity中采用四阶矩阵就是在三阶矩阵上面加上了齐次坐标的运算,所以我们通常也可以使用三维坐标表示位...

2018-08-02 17:21:58 814

原创 3D数学--矩阵汇总

在unity中矩阵的定义和使用在Unity中我们都是使用4*4的矩阵 ,通过 Matrix4x4.SetRow 和Matrix4x4.SetCoiumn来设置4*4矩阵的某行和某列,通过 Matrix4x4.GetRow 和Matrix4x4.GetCoiumn 获取4*4矩阵的某行和某列,返回一个Vector4类型矩阵的加减进行加减的矩阵必须维度相同才可以加减 进行运算的时候,矩阵...

2018-08-02 10:15:00 1145

原创 3D数学--向量的运算汇总

向量的长度向量的长度就是向量的大小或者向量的模 向量长度的大小就是向量个分量平方和的平方根,就是根据三角形法则计算对角线,通过勾股定理获得长度 Unity中使用Vector3.magnitude来获取一个向量的长度 例如向量a(3,4,0),a向量的模就是3^2+4^2+0^2然后在开根号,值为5,所以a的长度就是5.向量与标量的乘除运算在unity中向量使用和/进行乘除运算,向...

2018-07-31 18:12:39 1477

原创 3D数学--Unity坐标的转换

常用的转换坐标方法//将一个点的世界坐标转换局部坐标transform.InverseTransformPoint(Vector direction);//将一个点的局部坐标转换世界坐标transform.TransformPinot(Vector direction);//将一个向量的局部坐标转换世界坐标transform.TransformVector(Vector dire...

2018-07-31 10:25:20 501

原创 Unity 物体移动之虚拟轴移动

物体移动有很多方式,比如刚体的速度或者直接添加力,3d物体还能够使用角色控制器来进行移动,但是2D物体的移动很多就是采用插值的方式移动,因为2D物体需要精准的控制坐标获取虚拟轴是我们最常用的获取移动的方式,方向以及大小都可以通过这个控制 这个方法是通过获取键盘的虚拟轴通过GetAxisRaw这个方法,将键盘的输入转化为移动的距离 public Vector2 targetPos =...

2018-07-18 10:48:24 2974

原创 游戏开发中的设计模式一(状态模式)

在游戏开发中,我们常常会用到一些物体的状态切换,比如场景和动画剧情等等,对于常规的不需要变通的我们可以使用switch case语句实现,但是一旦使用你的逻辑就是固定的,不能添加和修改,所以对于不确定会不会增加需求的,采用状态模式会更好状态模式的核心思想就是通过GameManager来管理状态接口,通过状态接口来对每一个实现接口的状态类进行切换,怎么进行切换不需要我们的GameManage...

2018-07-16 10:59:39 717

转载 Unity InputFiled文字框如何获取焦点

第一种方式 public InputField mainInputField; // Activate the main input field when the scene starts. void Start () { mainInputField.ActivateInputField(); }第二种方式 public...

2018-07-12 16:01:44 5048

转载 Unity自带的一些特性的使用方法

转载:Unity常用特性

2018-07-12 15:15:53 549

原创 c#栈和队列的简单使用(测试回文字符串)

原理:栈是先进后出,队列是先进先出,这两个数据结构的存储是一样的,但是他们的读取确是不同,通过这个我们就能判断回文字符串 static void Main(string[] args) { string str = Console.ReadLine(); Stack<char> stack = new S...

2018-07-12 12:09:15 494

翻译 c#解析excel文档

注意:Excel文档有两种 以.xls结尾的使用 “Provider=Microsoft.Jet.OLEDB.4.0;” + “Data Source=” + fileName + “;” + “;Extended Properties=\”Excel 8.0;HDR=YES;IMEX=1\”“;以.xlsx结尾的使用 “Provider=Microsoft.ACE.OLEDB.12.0;”...

2018-07-11 18:26:45 1649

原创 c# 使用LitJson解析Json

如何添加litJson 两种引入litjson的方法 1,去litjson的网站下载litjson.dll 然后添加引用 找到dll所在目录 2,右键引用 打开管理netget程序包,在联机里面搜索litjson 在搜索结果中选择一个 点击安装使用LitJson解析json文本首先定义我们的json文本[{"id":2,"...

2018-07-11 18:11:01 3241

原创 c#文件操作(读写)

使用FileInfo对文件进行操作 //相对路径:就是找当前程序所在的路径 FileInfo fileInfo = new FileInfo("TextFile1.txt"); //绝对路径:加上文件完整的路径名 FileInfo fileInfo2 = new FileInfo(@"C:\Users\devsiki...

2018-07-11 16:54:21 4052

原创 c#Socket进阶(TcpClient,TcpListener,UdpClient)

应用程序可以通过 TCPClient、TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务。这些协议类建立在 System.Net.Sockets.Socket 类的基础之上,负责数据传送的细节。(也就是说TCPClient、TCPListener 和 UDPClient 类是用来简化Socket)TcpClient 和 TcpL...

2018-07-11 15:18:11 1089

原创 c#UDP通信

UDP服务端 class Program { private static Socket udpServer; static void Main(string[] args) { //1,创建socket udpServer = new Socket(AddressFamily.InterNetwork...

2018-07-11 15:00:49 2565 1

原创 c#使用TCP协议构建一个能够广播的聊天室

首先这里我们是使用了线程来开辟多个连接通道,将这些连接存到一个List里面,然后对这个容器里面所有的客户端发送消息达到广播的目的首先我们创建一个Client类,主要用来处理我们的消息接收和发送 class Client { private Socket clientSocket; private Thread t; privat...

2018-07-11 14:40:34 1108

原创 c#线程的使用

如何开启一个线程获取线程方法的返回值我们首先可以使用委托开启线程//定义我们的线程方法 static int Test(int i,string str) { Console.WriteLine("test"+i+str); Thread.Sleep(100);//让当前线程休眠(暂停线程的执行) 单位ms...

2018-07-11 12:04:46 809

翻译 Unity__对XML文件的操作(生成,读取,修改,追加)

/// <summary> /// 生成XML文件 /// </summary> void CreateXML() { string path = Application.dataPath + "/data2.xml"; if (!File.Exists(path)) { ...

2018-07-05 18:17:41 1830

原创 Unity--读写文件操作

简单的读写文件,文件内容比较少可以使用下面这种方法,但是注意,这种方法只能创建文件,不能创建文件夹,所以需要创建好目录,这种WriteAllText写入方式每次都会覆盖掉先前的内容,追加字符串就可以使用AppendAllText方法 Environment.NewLine这个方法是个换行符 void Start () { string path = @"D:\Unity...

2018-07-05 15:54:12 9588

原创 Unity--AssetBundle包的下载与实例化

最简单的加载,注意这里面的ab2是cube的材质,需要进行实例化的时候要先将这个物体的所包含的所有关联信息一块加载 string ss = "AssetBundles"; // Use this for initialization void Start () { StartCoroutine(New("/3d/cube")); } IEn...

2018-07-05 14:42:40 770

原创 Unity-- AssetBundle打包

using UnityEngine;using System.IO;public class CreatAssetBundles : MonoBehaviour { [MenuItem("Tools/Build AssetBundles")] static void BuildAllAssetBundles() { string dir = "Ass...

2018-07-05 13:26:22 106

原创 c# Socket网络连接(客户端)

static void Main(string[] args) { Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); clientSocket.Connect(new IP...

2018-07-03 11:17:49 1275

原创 c# socket网络连接(服务器端)

首先我们需要新建一个socket //定义一个Socket Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);这三个参数分别是选择ipv4或者是ipv6,第二个是选择socket传输数据类型 Dgram是数据包UDP...

2018-07-03 11:07:14 3497

原创 Unity如何在手机端截图

public Camera arCamera; public void OnScreenShotClick() { System.DateTime now = System.DateTime.Now; string times = now.ToString(); times = times.Trim(); ...

2018-07-02 08:36:24 1431 4

原创 Unity移动端输入控制,双击,长按等

点击触摸直接使用GetMouseButton(0)即可,下面我们通过这个思路实现双击和长按 其中下面的newTouch和touchTime是用来控制长按的是否以及时间,保证一个位置的长按只能触发一次长按的方法 if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(In...

2018-07-02 08:20:20 5402

原创 Unity读取json的工具类JsonUtility

首先我们需要定义我们的json文件,我们可以在Resources文件夹下面创建一个.json的文件,写上如下内容{"infoList":[{"panelTypeString":"ItemMessage","path":"UIPanel/ItemMessagePa

2018-06-18 05:47:22 4137

转载 c#委托和事件--观察者模式

出处:http://www.cnblogs.com/wudiwushen/archive/2010/04/21/1717378.html //---本例场景为当用户从银行账号里取出钱后,马上通知电子邮件和发手机短信--- //本例中的订阅者,也就是观察者是电子邮件与手机 //发布者,也就是被监视对象是银行账号 //Obverser电子邮件,手机关心的对象e...

2018-06-01 14:58:28 238

原创 Unity递归--经典斐波那契数列

private void Start () { //输出第十位的数字 print( Foo (10)); } int Foo ( int a ) { if(a<=0) { return 0; } else if(a>0 &&am...

2018-06-01 13:39:43 1295

原创 Unity数学Mathf类使用

静态变量 Deg2Rad: Degrees-to-radians conversion constant (Read Only). 度到弧度的转化常量。(只读) Epsilon: A tiny floating point value (Read Only). ...

2018-06-01 11:20:40 992

原创 Unity使用Time类手写一个时钟计时器

private float timer = 0f; private int h = 0; private int m = 0; private int s = 0; private string timeStr = string.Empty; void Update () { timer += Time.deltaTime; ...

2018-06-01 11:06:12 1232

转载 Unity优化技术--UI优化之Mipmap

出处:https://www.jianshu.com/p/84cd407cb442Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资源,而Mipmap针对的纹理贴图资源使用Mipmap后,贴图会根据摄像机距离的远近,选择使用不同精度的贴图。缺点:会占用内存,因为mipmap会根据摄像机远近不同而生成对应的八个贴图,所以必然占内存!优点:会优化显存带宽,用来减少...

2018-06-01 10:31:21 2038

原创 c#--string类型的方法--替换字符

void Start () { string s = "你是坏蛋asddad"; string a = s.Replace ("坏蛋","**"); print (s); print (a); }

2018-06-01 10:28:28 9402

转载 c# --八种排序算法

public static class SortExtention { #region 冒泡排序 /* * 已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。 * 再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者...

2018-06-01 09:22:03 176

原创 UnityAPI--UnityEngine下面的GameObject独有的静态方法

CreatePrimitive Creates a game object with a primitive mesh renderer and appropriate collider. 创建一个带有原型网格渲染器和适当的碰撞器的游戏对象。(典型工厂模式,主要用于创建cube等uni...

2018-05-31 18:09:38 712

原创 UnityAPI--UnityEngine下面的Object的静态方法

Destroy Removes a gameobject, component or asset. 删除一个游戏对象、组件或资源 DestroyImmediate Destroys the object obj immediately. You ar...

2018-05-31 18:02:24 336

原创 UnityAPI--对游戏物体的组建进行操作

添加组件//创建一个名为Cube的物体GameObject go = new GameObject("Cube");//给go添加一个刚体组件go.AddComponent<Rigidbody>();查找组件mMesh = go.GetComponent<MeshRenderer> ();激活关闭组件 public MeshRender...

2018-05-31 17:44:19 219

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除