【Unity】入门笔记 - 视频摘要Roll-a-ball tutorial

写这个的目的是自己留着可以方便找内容……
所以要是有希望直接看着这个学的话很可能看不懂……

Roll-a-ball tutorial

https://unity3d.com/learn/tutorials/s/roll-ball-tutorial

1.1 Setting up the Game

新建工程 - 新建场景

F - 查看类似选中物体

不用担心投影,Unity自己会加投影

添加材质的方法

材质直接拖动扔到物体上

全局光照可以修改

1.2 Moving the Player

小球需要的运动是移动 和碰撞检测(捡起东西以及和墙的捧着) 所以需要物理属性的功能
physics - rigidbody

介绍了一下面板告诉你它是可以动的

两种新建script的办法,几种编辑script的办法

update()在渲染之前调用
fixedUpdate()在运行物理计算之前调用

help: search the unity API
快捷键 CTRL + ‘
Input.GetAxis(“Horizontal”)

在代码内创建对类的reference
Class Vector3: represent 3D space

链接代码

public value可以直接显示在外面板上

好的我瘠薄的线代知识不想去理解为啥是旋转而不是平移……

2.1 Moving the Camera

介绍了怎么让相机跟随物体的运动
一开始讲了把相机设置为物体的child

但是这样的话物体绕x或者y的旋转会造成相机的疯狂选择(绕z的看起来挺对的)、

所以要使用代码去控制位置

增加新的代码

Offset value 偏移量
这里设置用Lateupdate而不是update 他们俩个都每一step都用,但是lateupdate跑在update之后

2.2 Setting up the Play Area

简单来说就是 在周围加墙 防止求运动到平面外面
设置一个父类的墙 - Game object
增加cube 设置为子类(像拖到文件夹下一样)

Duplicate

在Local的模式下可以看到单个物体的运动情况

3.1 Creating Collectable Objects

隐藏物体

在update里添加旋转的代码

    void Update () 
    {
        transform.Rotate (new Vector3 (15, 30, 45) * Time.deltaTime);
    }

创建prefab
从object创建prefab再用它创建object。类似于模板的概念。

以Local或Grobal为基础的移动

3.2 Collecting the Pick Up Objects

碰撞trigger以及检测和谁撞

有一种别的方式进入目录

    void OnTriggerEnter(Collider other) 
    {
        if (other.gameObject.CompareTag ("Pick Up"))
        {
            other.gameObject.SetActive (false);
        }
    }

以及设置Tag

结果上述代码 球依然会被中间拾取的物体撞开 仿佛那个物体是墙
于是增加对他物理系统的介绍

Ctrl 选中多个
display mesh render 然后会只显示 collider volumes
collision engine - 不允许多个 collider volumes overlap

static & dynamic 前者不允许被撞飞后者允许

trigger

最后还有一个问题是recalculate static colliders.
这里没看懂啊啥意思……没有很理解动态静态的区别 为啥这玩意要设成动态的呢……

(甚至觉得应该单独给它重新设个包围盒 不动的那种 免得转来转去运算麻烦)
(不过为了显示反正要算?……好吧)
所以大概是因为他是一个会动的吧

之前理解的动态是 一撞会被撞飞的 才叫动态……

Any game object with a collider and a rigid body is considered dynamic.
Any game object with a collider attached but no physics rigid body is expected to be static.

然后这里小哥哥把它变成动态之后直接被重力拖下去了
然后俩种方法一种是是把重力关掉 更好的一种是设置成Kinematic

Standard rigid bodies are moved using physics forces.
Kinematic rigid bodies are moved using their transform.

3.3 Displaying the Score and Text

记录分数并且显示

初始化在start函数中

ui - text
must be child of canvas

设置text的位置(这个按按应该就会了)
using UnityEngine.UI

public Text countText ;
然后在外面把counText这个UI拖到那个public里面当作reference(惊了可视化那么方便的吗)

过关提示
空白的时候是用空字符串

3.4 Building the Game

save scene - build setting

如果不插入scene in build会默认使用当前的场景

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值