一、场景(Sence)
1.地形(Terrain),在创建地形的时候,总会有小组成员忘记首先抬高地形才能进行河流的基本创建。需要注意的是河流需要导入河流的资源包(water);如若需要进行地形纹理的添加,那么就要导入地形的资源包(Terrain Assets);添加树和草,要导入树的资源包(Tree Creator)里面有两种树,如果想要自己创建树木那么就要在Create中添加Tree为树添加枝干,树叶,分别为其进行纹理的添加。
2添加材质,为物体添加材质的时候,如果为其添加的是自己的图片,就要注意更改shader的值为Bump Diffuse;如果为其改变颜色的话,就将shader的值改为Bumped Specular。为物体添加纹理的时候,值得注意的是禁止直接从外部文件夹里拖拽图片。
3.预设体,首先在Assets中创建一个Prefabs文件夹,将设置好的直接拖到这个文件夹中,就会变成预设体。
4光源,U3D中的光源包括四种光:太阳光(Directional Light)、点光源(Point Light)、手电筒(Spotlight)、区域光(Area Light)。
可以设置其光的颜色,强度,其中太阳光可以设置阴影效果,点光源可以设置其照射范围的强度,区域光添加之后基本没效果。为了让天空绚丽一些,可以为太阳添加耀斑,导入耀斑的资源包(LightFlares)注意调整和太阳光平行。
5.音频,添加音频的时候,背景音乐最好使用2D,一些特效最好用3D。在同一场景中Audio Listener只有一个起作用。Play on wake,loop这两个选项要注意勾选。
6.天空盒,导入天空盒子(Sky Boxes)在edit中调出渲染设置(Render Settings)添加天空。
小组成员中有些人总是忘记渲染设置的位置。我们解决的办法是让他多进行了几次天空的创建。
7.区域风,选中需要添加的区域中的某个物体,在Create中添加WindZone【不选中某一物体的话就会把区域风添加到整个地形中】
8.画中画,创建一个空的项(GameObject),里面添加一个摄像机,之后调整摄像机大小,放置的区域等。
9.碰撞体,为桥,梯子添加碰撞体,首先添加一个正方体,调整其和所添加碰撞物体一样大小,之后删除正方体的两项属性(Mesh Filter)(Mesh Renderer)
二、数据类型和基本运算
1.数据类型
整形: int 浮点型: float 、double 字符类型:char 布尔类型:bool 引用类型:object、string
2变量名命名规则
(1)必须是由字母、数字或下划线组成,如hk2(2)数字不能开头 如2dsjk(该类型错误)
(3)不能使用c#关键字 如string不能作为变量名(4)区分大小写
3变量的声明和赋值
(1)定义变量的语法:数据类型 变量名; 如 int i;
(2)变量的赋值语法:变量名=值;如i=10;
4变量和常量的区别
对于常量 必须在声明时赋值且是静态的,对于变量:可以在程序进行过程中发生变化
5类型转换
分为3种(1)直接在变量前加上所要转换的类型,如:float b; int a=(int)b; 即将b的类型转换为int
(2)其他类型之间的转换XX.Parse()
(3)任意类型之间的转换Convert.Toxx()(注意 只适用于c#)
6运算符合表达式
算数运算符 :+ 、 —、*、/、%、&;三元运算符 ?:
位运算&:乘法,|:加法,^:相同为0,不同为1,~:把求的值加1,然后添加负号
三、选择结构和循环结构
1选择结构包括2种if与 switch...case.
if 结构为 if(条件){语句块};
if(条件){语句块}else if(条件){语句块}else{语句块}......
Switch结构为switch() case 值:break;...........
注:条件中的值必须为bool类型
注:C#不允许从一个case块继续执行到下一个case块。每个case块必须以一个跳转控制语句break、goto或return结束
2循环结构包括3种while 循环,do while 循环,for 循环,foreach 循环。
while 循环:while(条件){语句块}
do while 循环:do{语句块}while(条件)
for 循环:for (初始值; 条件; 增/减)
{
//语句
}
注:(1)do…while 循环与 while 循环类似,二者区别在于 do…while 循环中即使条件为假时也至少执行一次该循环体中的语句,但结果一样。
(2)条件中的值必须为bool类型。
3 break与continue的使用
break:循环到break时推出循环,终止以后循环
continue:循环到continue时跳出循环,继续以后的循环
四,学习中的问题
u3d操作界面方面
1对u3d操作界面不是很熟练,对对象的属性调节不熟悉(如:对cube对象添加刚体和碰撞体)
2拖拉对象时容易将对象拖出地形界面
代码学习方面
1循环与判断嵌套结合过程中容易出现错误;
2做题过程中没有思路
3某些语句的语法格式运用容易混淆。



