unity自习之项目剖析(1)

来源:互联网 发布:wpf高级编程 pdf 编辑:程序博客网 时间:2024/05/17 22:25


我学习unity,不喜欢看视频,也不喜欢看书,我觉得最好的方法是在网上找到前辈们发布的游戏工程,然后自己一步一步的模仿着做出一个一模一样的游戏出来。
因为我刚学unity不到两个月,所以很多知识都不懂,写这博客也是想记录自己学习的过程,当中说的不对的,谢谢前辈们指点。
目前学习的一个工程是从游戏蛮牛上前辈们分享的源码,这里我试着去探索该前辈制作该游戏的所思所想,然后自己模仿出一份出来。

一、角色的控制

1.1、输入设定

当要为游戏添加某个特定的按钮时,需要在Edit-->Project-->Input里添加Axes

 

比如,我们要添加Jump这个Axes,按钮为空格和手柄的Y.

可以这样子设置:

 


通过语句Input.GetButtonDown("Jump")可以获取键盘事件

2.1、材质球的精灵(sprite)获取

以下图为例,所有动作只在一张图片并贴在材质球上,程序需要获取每个动作。

 

首先,先讨论材质球,将此图贴在材质球上,使用Transparent/Diffuse Shader.如下图:


                                              主要参数:

Tiling:决定材质球显示坐标有效取值为(0.1~1

Offset:对Tiling的偏转。(0.1~1

注意一下所有例子:

        

         

只改变Tiling.x,发现渲染的x轴比例与该值有关,此处比例为0.1时,只取第一个精灵,0.2取两个精灵,以此类推...

 

 

只改变Tiling.y的值,发现渲染的y轴比例与该值有关,可以理解为在渲染范围内,要渲染多少内容。0.1时,只需要渲染0.1的y轴内容,因此是一个拉长的脚;1时,将把y轴的所有内容渲染上去。(记住这个说法:在有效的渲染范围内,要渲染多少内容。)

 

如上,在有效的渲染范围内,要渲染0.1的横轴内容,1的y轴内容。因此,假设将贴图按x轴分为10份,按y轴分为1份。可以把offset的作用看做是控制要显示的内容,简单的理解为tiling控制显示的范围,offset将这个范围移动到要显示的内容上,就好像一个放大镜,镜片决定了显示的范围,我们的移动决定的显示的内容。

因此当offset.x = 0.1 表示在这个范围里渲染x轴的第0.1部分;

0.2时,渲染第0.2部分;0.3时,渲染第0.3部分;1时,渲染最后一部分。

此处的0.1,0.2就如下面的分割图:

 

如果Offset.xx轴的切割,相应的offset.y就是y轴的切割

 

 

      今天就写到这,上面所写的都是我自己的看法,把这些专业的东西换成自己能理解和容易理解的东西,难免被专家耻笑,写的不对的地方希望可以得到大家的指点,谢谢。

 

 

0 0