Unity 从零单排 day#2

 创建场景:


创建一个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、玩家可以观察任意方向(水平旋转的同时还能垂直旋转)

创建一个脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值