您的位置:首页 > 移动开发 > Unity3D

Unity零基础入门 - 打砖块(Unity 2017)

2019-06-08 23:03 162 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_38465314/article/details/90766032

Unity零基础入门 - 打砖块(Unity 2017)

任务5:04-创建Unity工程

Assets:存放资源,例如模型、声音、图片等等
Library:库,内置脚本,缓存文件
ProjectSettings:工程设定
Temp:临时文件
layout:布局

任务6:05-Unity的各个面板是什么

  1. Scene :场景面板
  2. Game :游戏面板
  3. Project:工程面板,对应Assets文件夹
  4. Hierarchy:层级面板,Hierarchy视图是主要放于游戏场景中具体的游戏对象,比如摄像机平面贴图、3D贴图、光源、箱子、球体、胶囊体、平面和地形等。
  5. Inspector:属性面板

任务7:06-什么是Unity中的场景Scene

游戏分场景开发,如同拍摄视频分各个场景,易于我们管理

任务8:07-Unity中怎么操作视野

  1. 鼠标右键围绕自身旋转,Alt+鼠标左键围绕鼠标点进行旋转
  2. X/Y/Z三维坐标系,推动轴移动物体
  3. 中键进行上下左右平移
  4. 双击Hierarchy下场景物体可聚焦物体,即把物体放在中心

任务9:08-Unity中游戏物体的基本操作

  1. 游戏物体可以成为父子关系
  2. 左上角工具:移动视角,旋转物体,移动物体,缩放物体,即QWER
  3. local:自身坐标系;Global:世界坐标系

任务10:09-Unity中游戏物体和组件的关系

  1. Scene——GameObject游戏物体——组件Component
  2. Transform组件:储存位置的属性
  3. MeshRenderer:控制显示组件,网格渲染器
  4. 折叠组件会使组件预览消失
  5. 在属性面板禁用选项
  6. BoxCollider:碰撞器
  7. 分为信息组件和功能组件
  8. MeshFilter:网式滤清器

任务11:10-设计打转块案例的场景

  1. 创建地面:plane
  2. Folder:文件夹
  3. Material:材质
  4. Metallic:金属般的
  5. Smoothness:光滑度

任务12:11-创建砖块和砖块的Prefab

  1. 按住Ctrl按比例移动
  2. 创建砖块,调节坐标
  3. 添加rigidbody组件(物理引擎之刚体组件)
  4. 创建预制体Prefabs文件夹

任务13:12-创建墙和子弹的Prefab

  1. 利用预制体创造出墙体,并创造Env文件夹放入
  2. 创造Sphere为预制体作为子弹

任务14:13-创建我们的第一个Unity C#脚本

  1. 在project下创建一个Script文件夹存放脚本
  2. 在文件夹或者Camera Inspector add a Component

任务15:14-学习Unity中脚本的基本结构

  1. console控制台 输出日志

任务16:15-控制子弹的生成

  1. 定义子弹
  2. 将sphere赋值给bullet(直接拖拽)
  3. 实例化子弹
  4. 给子弹指定位置
  5. 按住鼠标左键的时候才实例化
using UnityEngine;

public class shoot : MonoBehaviour {

public GameObject bullet;
// Use this for initialization
void Start () {
Debug.Log("--Hello Unity!");

//GameObject.Instantiate(bullet,transform.position,transform.rotation);
}

// Update is called once per frame
void Update () {

if(Input.GetMouseButtonDown(0))
{
GameObject.Instantiate(bullet, transform.position, transform.rotation);
}
}
}

任务17:16-给子弹施加初速度

  1. 给sphere添加刚体
  2. 给刚体指定速度
using UnityEngine;

public class shoot : MonoBehaviour {

public GameObject bullet;
public float speed = 5;
// Use this for initialization
void Start () {
Debug.Log("--Hello Unity!");

//GameObject.Instantiate(bullet,transform.position,transform.rotation);
}

// Update is called once per frame
void Update () {

if(Input.GetMouseButtonDown(0))
{
GameObject b= GameObject.Instantiate(bullet, transform.position, transform.rotation);
Rigidbody rgd = b.GetComponent<Rigidbody>();
rgd.velocity = transform.forward * speed;

}
}
}

任务18:17-控制相机的左右移动

  1. 创建一个Movememt脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Movement : MonoBehaviour {

public float speed = 3;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
float h = Input.GetAxis("Horizontal");
Debug.Log(h);
transform.Translate(new Vector3(h, 0, 0)*Time.deltaTime*speed);
}
}

任务19:18-课程结束

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Movement : MonoBehaviour {

public float speed = 3;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
// Debug.Log(h);
transform.Translate(new Vector3(h, v, 0)*Time.deltaTime*speed);
}
}

学习体会

  1. 初步熟悉了unity的面板信息
  2. 初步了解了打砖块小游戏的制作流程
  3. 学习效率有待提高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: