Material

unity3d学习(一)
sshong 发表于2013年2月3日 11:39:01 更新于2013年2月6日 23:44:15
原文

以下均为开发2d游戏相关。

1、如果用unity开发2d游戏,需要将主摄像头设置为orthgrahphic正交模式,同时可以设置orthgrahphicSize为视图高度的一半,这样1像素单位等同于unity里的1单位。
  
  
Camera.main.orthographicSize = Screen.height / 2;
unity projection

2、unity采用左手坐标系,如果开发2d游戏,主摄像头都是从z小的方向向z大的方向,所以看到的x y如图方向
unity坐标系

3、如上,如果熟悉开发flash的人,就知道这个坐标系与flash的坐标系Y向是反的。

4、自己写一个矩形(两个三角形)贴图(此图尺寸768*325),以此展示unity的mesh相关。

一个gameobject需要增加meshFilter和meshRender两个component。

meshFilter中设置mesh属性,而mesh需要设置顶点坐标,uv,三角形顶点序号(顺时针)

所谓uv,是指一坨三角形顶点,对应到一张平面图中,每个顶点在这张平面图中的位置(0到1之间,代表百分比)

material需要设置shader和texture材质。
  
  
public override void Start()         {              base.Start();              //             Vector3[] vertices = { new Vector3( 768, 325, 0), new Vector3( 768, 0, 0), new Vector3( 0, 0, 0), new Vector3( 0, 325, 0) };             Vector2[] uvs = { new Vector2( 1, 1), new Vector2( 1, 0), new Vector2( 0, 0), new Vector2( 0, 1) };              int[] triangles = { 0, 1, 2, 2, 3, 0};              //             MeshFilter meshfilter = gameObject.AddComponent<MeshFilter>();             Mesh mesh = new Mesh();             mesh.vertices = vertices;             mesh.uv = uvs;             mesh.triangles = triangles;              //             meshfilter.mesh = mesh;              //             Shader shader = Shader.Find( "Sprite/Vertex Colored, Fast");             Material mat = new Material(shader);             mat.mainTexture = Resources.Load( "map") as Texture;              //             MeshRenderer render = gameObject.AddComponent( typeof(MeshRenderer)) as MeshRenderer;             render.material = mat;         }
标签:unity3d 分类:Unity3d 阅读:308
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值