自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 3823

原创 JSON和XML的利弊

参考了一些博客和相关的知识,写出几点比较有代表的对比1.JSON需要的其他字符较少,相对简洁2.XML只有文字,没有预设的数字,布尔值格式,而JSON则有明确的number格式,这样比较安全3.JSON的结构更容易映射至一般语言的数据结构。 在XML中什么时候用element,什么时候用attribute,就已经是一个问题了。 而JSON因为有object这种类型,可以自然地映射,不

2017-02-14 20:33:42 608

原创 【Unity5.x Shdaers】ShaderLab: Blending 混合

ShaderLab: Blending混合用于制作透明物体。当渲染图形时,在所有shaders执行并且所有textures应用之后,像素被写入屏幕。 它们如何与已经存在的内容组合由Blend命令控制。语法 Blend Off :关闭混合 (这是默认值)Blend SrcFactor DstFactor:配置并启用混合。 生成的颜色乘以SrcFactor。 已经在屏幕上的颜色乘以DstFactor,

2016-12-07 15:57:18 1239

原创 【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 6260

转载 【Unity】基于ProtoBuffer与Socket实现网络传输

1.Unity中使用ProtoBuf2.Unity中使用Socket实现实时通信3.数据包的编码和解码

2016-12-05 18:12:28 4462

转载 使用MemoryStream类读写内存

MemoryStream类用于向内存而不是磁盘读写数据。MemoryStream封装以无符号字节数组形式存储的数据,该数组在创建MemoryStream对象时被初始化,或者该数组可创建为空数组。可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。下面列出了MemoryStream类的重要方法:Read():读取MemoryStream流对象,将值写入缓存区。Read

2016-12-05 11:45:39 5965

转载 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 342

原创 【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 5473 1

原创 【Unity】Surface Shader的Input输入结构

Input中的UV数据在一个贴图变量之前加上uv两个字母,就代表提取它的uv值,例如uv_MainTex  Input 这个输入结构通常拥有着色器需要的所有UV纹理坐标,纹理坐标必须被命名为“uv”后接纹理名字。(或者uv2开始,使用第二纹理坐标集)。Input中的可选变量  可以在输入结构中根据自己的需要,可选附加这样的一些候选值:   float3 viewDir - 视图方向 (view

2016-10-18 17:17:11 3945

原创 【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 2980

原创 【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 623

原创 【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 2882

原创 【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 559

原创 【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 991

原创 【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 16001

原创 【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 645

原创 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 2763

转载 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 5028 3

转载 让人头疼的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 429

转载 unity中的四种坐标系

【Unity3D的四种坐标系】1、World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。2、Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。注:鼠标位置坐

2015-05-24 14:57:21 600

空空如也

空空如也

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

TA关注的人

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