创建场景:
创建一个3D空间,通过创建一系列的GO对象实例,通过修改其TransForm组件的Scale值,使得他们呈现不同的形态,以实现地板、墙面的效果
知识点3:GO对象实例实际上就是一堆组件的容器
知识点4:将空的根对象节点放到(0,0,0)位置,避免以后出现异常的坐标现象
创建一个对象名为Building,将其余的对象作为子对象放到下面,便于管理。
创建一个3D Cube对象,通过修改其Scale得到不同的形态
地板:
墙面:
通过这样Position和Scale信息就可以创建一个场景的外墙与地板了,使用类似的方式创建内部的墙体。
设置灯光:
如果没有灯光,整个场景会是暗的,在GO对象菜单下选择light创建灯光,分别设置directional与point的灯光
通过设置灯光的Transfor信息,在不同位置放置点光源与向光源
知识点5:point light设置的是range,directional light设置的intensity,此外还有spotlight
设置玩家:
使用一个简单的几何体代表玩家,使用GO菜单下的3D Object下的Capsure对象,使用该几何体代表玩家角色,移除其Capsure Colider的组件
然后,作为替代,需要注入灵魂,为其加入character controller组件,该组件允许其表现得像一个角色。
再加入camera组件以实现镜头的变换,加入方法,再hierarchy栏,将camera作为子对象加入玩家对象中,设置其位置让它看起来像是玩家的眼睛,建议设置为(0,0.5,0)
编写变换的脚本(镜头移动):
首先,为了让玩家沿着场景移动,需要编写用于移动的脚本
知识点6:变换的三个形式为Translate、Rotate、Scale
知识点7:动画的本质是帧的反复播放
为了让镜头进行旋转,第一反应肯定是Rotate,在对应的脚本组件中旋转一个小的角度,放在Update()方法当中。
public float speed = 3.0f;
// Update is called once per frame
void Update()
{
transform.Rotate(0,speed,0);
}
}
使用Rotate()方法进行旋转,默认情况下,基于本地坐标进行操作,也可以加入第四个参数(Space.self或者Space.World)来确定使用本地还是全局坐标,告诉该方法应该围绕哪个XYZ来进行移动
使用鼠标来观察世界:
首先,需要遵循以下几个规则:
1、玩家只能从一边转到另一边;
2、玩家可以上下旋转;
3、玩家可以观察任意方向(水平旋转的同时还能垂直旋转)
创建一个脚本