- 博客(20)
- 收藏
- 关注
原创 【Unity】string的'+'与StringBuilder.Append的对比
using System.Collections;using System.Collections.Generic;using System.Text;using UnityEngine;public class StringTest : MonoBehaviour{ int length; void Update() { //使用StringBuild
2017-02-16 20:29:05
3910
原创 JSON和XML的利弊
参考了一些博客和相关的知识,写出几点比较有代表的对比1.JSON需要的其他字符较少,相对简洁2.XML只有文字,没有预设的数字,布尔值格式,而JSON则有明确的number格式,这样比较安全3.JSON的结构更容易映射至一般语言的数据结构。 在XML中什么时候用element,什么时候用attribute,就已经是一个问题了。 而JSON因为有object这种类型,可以自然地映射,不
2017-02-14 20:33:42
646
原创 【Unity5.x Shdaers】ShaderLab: Blending 混合
ShaderLab: Blending混合用于制作透明物体。当渲染图形时,在所有shaders执行并且所有textures应用之后,像素被写入屏幕。 它们如何与已经存在的内容组合由Blend命令控制。语法 Blend Off :关闭混合 (这是默认值)Blend SrcFactor DstFactor:配置并启用混合。 生成的颜色乘以SrcFactor。 已经在屏幕上的颜色乘以DstFactor,
2016-12-07 15:57:18
1313
原创 【Unity5.x Shader】SubShader Tags 标签
ShaderLab: SubShader TagsSubshaders使用标签来告诉引擎如何以及何时将其渲染。语法:Tags { "TagName1" = "Value1" "TagName2" = "Value2" } 指定TagName1具有Value1的值,TagName2具有Value2的值。标签的数目不受限制。标签基本上是键值对(key-value pairs)。 在SubShader内
2016-12-07 11:52:24
6376
转载 【Unity】基于ProtoBuffer与Socket实现网络传输
1.Unity中使用ProtoBuf2.Unity中使用Socket实现实时通信3.数据包的编码和解码
2016-12-05 18:12:28
4628
转载 使用MemoryStream类读写内存
MemoryStream类用于向内存而不是磁盘读写数据。MemoryStream封装以无符号字节数组形式存储的数据,该数组在创建MemoryStream对象时被初始化,或者该数组可创建为空数组。可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。下面列出了MemoryStream类的重要方法:Read():读取MemoryStream流对象,将值写入缓存区。Read
2016-12-05 11:45:39
6064
转载 IEnumerable与IEnumerator区别
public interface IEnumerable{ IEnumerator GetEnumerator();}public interface IEnumerator{ bool MoveNext(); void Reset(); Object Current { get; }}IEnumerable和IEnumerator有什么区别?这是一个很让人困惑
2016-12-01 10:59:31
381
原创 【Unity5.x Shaders】使用Shader制作河流效果
感觉终于开始做一些有意思的Shader了。这次来学习如何通过更改UV值来滚动纹理以达到河流,瀑布等动画效果。这是相关Shader代码Shader "Custom/ScrollingShader" { Properties { _MainTint("Diffuse Tint",Color)=(1,1,1,1) _MainTex ("Base (RGB)", 2D
2016-10-20 21:00:39
5620
原创 【Unity】Surface Shader的Input输入结构
Input中的UV数据在一个贴图变量之前加上uv两个字母,就代表提取它的uv值,例如uv_MainTex Input 这个输入结构通常拥有着色器需要的所有UV纹理坐标,纹理坐标必须被命名为“uv”后接纹理名字。(或者uv2开始,使用第二纹理坐标集)。Input中的可选变量 可以在输入结构中根据自己的需要,可选附加这样的一些候选值: float3 viewDir - 视图方向 (view
2016-10-18 17:17:11
4181
原创 【Unity5.x Shaders】Shader中的Texture纹理
2D图片如何映射到3D模型?这个过程叫做纹理映射(texture mapping)。 模型事实上是用三角形构成的,每一个顶点可以存储信息并且可以被shaders接收。 其中顶点中存储的最重要的信息是UV数据(UV data)。 它由两个坐标构成:U和V,取值范围都是从0到1。它们代表了2D图片上像素将要映射到模型顶点的XY position。 UV数据只提供给顶点。当三角形内的点需要被纹理映
2016-10-18 16:19:05
3044
原创 【Unity5.x Shaders】压缩数组Packed arrays
在Cg中有两种变量:单一值和压缩数组。 压缩数组的定义是类型 + 数字 例如float3,int4 压缩数组看起来跟普通的数组很像却又不一样,压缩数组的元素可以作为普通结构访问。压缩数组中成员的访问及赋值通常通过x,y,z,w访问float4 a; a.x=2.0; Cg也提供别名:r, g, b, a。这两种访问方式没有区别,但是不能混用,例如_Color.xgb是错误的Cg允许压
2016-10-18 12:01:11
675
原创 【Unity5.x Shaders】最基本的Surface Shader-Diffuse shader以及Surface中的三种输出结构
某些物体可能具有均匀的颜色和光滑的表面,但光滑程度不足以照射反射光。 这些哑光材料最好用Diffuse Shader。 在现实世界中,不存在纯diffuse materials Diffuse shader经常出现在游戏中,下面就是一个简单的Diffuse shader代码Shader "Custom/DiffuseShader" { Properties {
2016-10-17 22:33:18
2936
原创 【Unity5.x Shaders】Properties 属性
Properties 块中的代码就是Shader的属性属性的语法定义分为4个部分: 1: 在Shader代码中使用的变量名 2: Inspector面板中显示的GUI名称 3: 数据的类型 4 :默认值Unity支持的Properties类型如下: Range(min,max) :创建一个值从min到max的Slider,值的类型为floatColor :在 Inspe
2016-10-16 20:32:10
624
原创 【Unity5.x Shaders】Shader基本结构
从今天开始写Unity5.0x Shaders ans Effects Cookbook 的读书笔记 很多大神都写过关于Shader 的博客,这次我按照我觉得适合新手学习的步骤来写,同时也参考了很多大神的博客,关于写的不好的以及不对的地方还请指正我所使用的Unity版本为5.4.0创建一个Shader首先我们在Shaders文件夹下创建一个Shader 发现有五个Shader可供创建,分别是:
2016-10-16 20:30:24
1053
原创 【Unity UI】实时得分等UI的显示
Board类:用于控制显示内容public class Board : MonoBehaviour { public float SPEED = 0.1f; //上升速度 private Vector3 position; private float offsetY; void Start () { position = transform.positi
2016-10-13 17:10:59
16150
原创 【Unity】最普通的单例模式
private static Instance instance = null; public static Instance GetInstance() { if (instance == null) { GameObject g = new GameObject("Instance"); instance = g.A
2016-10-13 16:38:31
693
原创 Unity中欧拉角与四元数的文档整理(旋转)
Transfrom.eulerAnglespublic float yRotation = 5.0F;void Update() { yRotation += Input.GetAxis("Horizontal"); transform.eulerAngles = new Vector3(10, yRotation, 0); //x轴和z轴的旋转角度始终不变,只改变绕y轴的
2015-10-20 23:31:49
2840
转载 Unity动态生成带碰撞体的LineRenderer
using UnityEngine;using System.Collections;public class DrawPhysicsLine : MonoBehaviour{ private LineRenderer line; // Reference to LineRenderer private Vector3 mousePos; private Vector3
2015-08-21 18:07:46
5209
1
转载 让人头疼的XML文档
我会聚集各路大神所总结的博文生成XML 更新XML文件 以其中某个节点名称做条件,当查询到时更新该节点 添加XML 删除XML http://www.xuanyusong.com/archives/1901将场景导出XML并且解析还原场景 http://www.xuanyusong.com/archives/1919关于XMLParser的用法XMLParser应就三个类文件 XMLPa
2015-06-06 16:48:39
466
转载 unity中的四种坐标系
【Unity3D的四种坐标系】1、World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。2、Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。注:鼠标位置坐
2015-05-24 14:57:21
643
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人