检测 上下键 是否按倒代码
float v = Input.GetAxis("Vertical");
注:在垂直方向上,当检测摁到上下键时,下返回0~-1,返回0~1,他是一个渐变的过程
检测 上下键 是否按倒代码
float v = Input.GetAxis("Vertical");
注:在垂直方向上,当检测摁到上下键时,下返回0~-1,返回0~1,他是一个渐变的过程
1.新建立一个脚本 Movement 组件控制相机移动,并把组件赋给摄像机
2.检测 水平移动按键按下 函数
float h = Input.GetAxis("Horizontal");
注:在水平方向上,当检测摁到左右键时,左返回0~-1,右返回0~1
3.控制 水平移动 函数
transform.Translate(new Vector3(h,0,0) * Time.deltaTime);
注:Translate是移动,后面参数是一个矢量,每调用一次都会移动这样一个矢量
Time.deltaTime是
1.在预制体小球上添加一个刚体组件
2.得到 实例化后子弹 的 刚体组件
GameObject b = GameObject.Instantiate(Buttle,transform.positon,transform.rotation);
Rigidbody rgd = b.GetComponent<Rigidbody>();
//将实例化的小球设置变量,并通过变量获得刚体组件
3.通过这个 刚体组件 施加一个速度 代码
rgd.velocity = transform.forward * Speed;
注:transform.forward是一个空间矢量
Speed是一个公共变量,方便在监视面板修改
1.在脚本中创建一个 游戏物体 的变量
public GameObject bullet;
2.在Unity的摄像机中的 脚本组件 中找到该变量,将 预制体球体 拖到这个变量上为他赋值
3.实例化一个球体 代码
GameObject.Instantiate(游戏物体对象,位置,旋转);
例:GameObject.Instantiate(Bullet,transform.position,transform.rotation);
注:这里的transform是该脚本的父对象的transform
4.检测鼠标左键是否按下
Input.GetMouseButtonDown(0) 参数0为左键按下
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Shoot : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } }
添加脚本:
1.在Project面板下创建一个文件夹Script,并且在文件夹内创建一个C#脚本"Shoot"
2.将脚本拖到摄像机上
(或者直接添加一个Shoot组件,由于该组件不存在,则直接归类为脚本组件)
3.打开shoot脚本
·(默认是monodevelop,如果使用vs2017需下载,下载后修改默认编辑器,菜单Edit-preferences(偏好)-External(外部的) Tools-External Script Edtor改为vs2017)
1.创造一个有 物理引擎 的砖块
·创建一个砖块,reset
·添加一个Regidbody刚体组件
2.将该砖块做成一个 预制体
·在Project面板中创建一个Prefab(预制建筑)文件夹
2.创建一堵由 该砖块 形成的墙
·放在地面上,开始复制(ctrl)后,摁住ctrl进行移动(按ctrl就是以米为单位移动)
·将一排砖块设置成
1.新建一个场景Main
-----------------------------
2.地面:
·创建一个Plane游戏物体,设置位置到原点(手动 或 点击Transform旁齿轮内Reset)
·或者创建一个Cube游戏物体,拉伸成地面
-----------------------------
2.摄像机
·天空:如果不想要天空,在摄像机中组件Camera的Clear Flags里设置为Solid Color,然后设置组件Camera属性BackGround设置颜色
--------------------------
3.游戏物体是一个对象,可以修改其变量名,选中f2、慢双击该对象、在Inspector面板、右键rename可以修改变量名
将地面变量名改为Ground
--------------------------------
4.材质
·在Project面板下创建Material文件夹存放材质
·在该文件夹下创建一个Material改名为Ground
·Ground材质有很多属性,Albedo(反射率)可以设置贴图与颜色
·(Metallic(金属的)可以设置像不像金属、Smoothness可以设置光滑度反光)
----------------------------
5.设置 游戏对象 材质
·在游戏对象的Mesh Renderer组件里有一个Material-Element属性,可以设置他的材质
·当然直接把某个材质拖到场景里游戏对象也
选中一个游戏物体,在Inspector面板可以看到组件及其属性
一个 游戏物体 由 组件(Component) 组成,显示在Inspector面板中
----------------------------------
1.组件的移除:Inspector面板某一个组件后有一个小齿轮点击Remove Component
2.组件的添加:如添加Mesh Renderer,点击Add Component搜索Mesh Renderer,添加后指定材质
或者在菜单Component下找
3.Transform组件不可移除
-----------------
1.游戏物体的禁用与启用:在Inspector面板下该游戏物体的 名字 前 对号 勾掉
2.组件的禁用与启用:Inspector面板下某个组件名字前的对号勾掉
场景内Cemera摄像机:
1.无实体,调节图标大小在Scene窗口栏的Gizmos中的3DIcons可以调节图标大小
2.拍摄到的视锥体是游戏画面
---------------------------
1.设置游戏物体的父子关系:在Hierarchy中的某个游戏物体拖动到另一个游戏物体下
(Hierarchy叫做层级面板的原因)
2.移动父对象时子对象会一起移动
--------------------------------------
在菜单下有几个 操作指针 可以操作游戏对象
手(Q):就是鼠标中键
十字箭头(W):控制 游戏对象 坐标位置
旋转(E):设置 游戏对象 方位
缩放(R):对 游戏对象缩放
正方形(T):UI设计会用到
一般切换按W键
--------------------------------------
在菜单下有一个键可以切换 Global与Local坐标系
Global:游戏物体 的 坐标轴 为 世界坐标(场景右上坐标轴一致)
Local: 游戏物体 的 坐标轴 为自己的 局部坐标
------------------------------
在菜单下有一个键可以切换 Pivot 与 Center 中心点
美工设计一个模型后会有两个中心点
Pivot:人工设定的游戏物体的中心点,来规定性计算坐标
Center:系统强制规定的游戏物体的中心点,在物体的中心
1.一个场景内两个默认的对象:摄像机、光
2.对场景编辑
摁住右键 围绕自身 控制视野方向
alt+左键 围绕前方一个点 控制视野方向
双击Hierarchy面板中 或 选中摁f键 的 游戏物体 可以对物体聚焦
滑轮 或 alt+右键 拉伸视野
鼠标中间 视野平移
-------------------------------
1.对 游戏物体 进行移动可以拖动轴
2.对游戏物体复制ctrl+d
---------------------------
1.在场景右上坐标轴下可以选择两种试图
Iso:正交试图,不论远近等比例
Persp:透视试图,近大远小
1.创建场景:菜单File-NewScene
或CTRL+N
2.新创建的场景没有保存,在Hierarchy面板里显示 Untitled(未命名)
ctrl+s保存该面板到Assets目录下(其他目录不允许),就会显示在Project面板中。
3.在Project中创建一个文件夹Scene统一管理场景。
4.对场景修改后需要保存
5.unity会为每一个文件与文件夹生成一个.mate属性文件
老师的英语发音太逗了。。。。。
Scene 场景面板
Game 游戏面板(当前场景运行之后的效果界面)
Project 工程面板(其包含的内容与项目资源一一对应)
Hierarchy 层级面板(各个场景的层级表现)
Inspector 属性面板(也叫检视面板,选中对象的属性展示在这里)
游戏物体靠对应组件控制对应物体属性。
hierarchy 层级面板
inspector 检视面板
scene 场景
game 游戏
transform.position返回附加了这个脚本的对象的位置
transform.rotate返回附加了这个脚本的对象的旋转角度
GameObject.Instantiate(bullet,transform.position,transform.rotation);表示示例化bullet这个物体的初始位置和初始旋转角度
Input.GetMouseButtonDown(0)返回True表示监测到按下了鼠标左键
按Ctrl按厘米移动
+D复制
+z撤回
transform 指定位置