Create-Create Empty
Env 环境 存放立方体Cube
Prefabs 魔板
Create-Create Empty
Env 环境 存放立方体Cube
Prefabs 魔板
12-11 Scene场景
加入重力:Rigidbody
Prefabs 预制体
场景是由游戏物品组成
信息组件
功能组件
两个方法Start(初始化) Update
start只执行一次,update每帧刷新一次
1.Start
Debug.Log("hello unity"); //日志(console)打印一行日志输出,用于错误调试
打开控制台console: 上方windows--console
Project中创建脚本Srcipts文件夹
在Scripts文件夹中右键创建Creat一个C# Scripts子目录命名为Shoot,把Shoot拖到carmer身上,赋给摄像机
双击shoot打开编辑器VS
改变默认编辑器:右上方Edit——Preferences——External Tools——External Scripts Editor右方选择为VS
creat empty 取名Env——将所有的cube放在Env下,便于
unity里单位是米,cube的默认大小是1*1*1
复制快捷键ctrl+d
移动时按住ctrl键,就是以一米一米移动
加物理效果:Add Component——搜索Rigidbody
制作预制体(模板)便于修改:Project里创建Prefabs文件,将模板里的cube直接拖进来
创建地面:plane或者cube
放在世界中心x=0 y=0 z=0
改变天空:clear flags改为solid color(固定颜色)
地面材质:project里创建一个文件专门放材质
e.g改变地面材质 颜色(通用的方法)
metallic---金属属性
smoothness---光滑度,反光程度
main maps——Albedo
创建Demo时发现的问题:
利用List集合,用于检测所有游戏物体的状态,当满足条件时,自动销毁游戏物体,
注意点:
需要首先用Destroy();
销毁游戏物体,
再接着使用List.Remove();
移除集合中的数据,
如果顺序反了的话,代码会出现报错,
因为List集合的数据被移除时,集合有着下标自动向前移动的特性。
内容仅用于记录发现的问题。
利用刚体组件下的Velocity属性,给物体添加速度。
Rigidbody.Velocity = transform.forward*speed;
方向*速度。
检测鼠标按键状态的API
Input.GetMouseButtonDown();
单位 米
按住ctrl 左右移动 按一米一米的动
plane 创建地面
cube 拉伸创建地面
qwert 五个工具快捷方式
自身坐标系 与 世界坐标系
模型的pivot center 点
对游戏分场景scene管理
新场景默认:摄像机 光源
alt + 鼠标左键 绕焦点旋转
双击聚焦对象
按下鼠标中键 左右上下平移
复制 ctrl + d
Scene- GameObject游戏物体-组件-Component
场景面板,创建一个场景文件夹,保存一个场景。
1 Inspector 属性面板监视面板
2 Project 工程面板
3 Hierarchy层级面板
4 Scene场景面板
5 Game 游戏面板
1. Update的频率很快,基本上60帧/秒左右,可用Time.deltaTime来消除帧数对速度的影响
1. C#脚本中的public变量的初始值只会被Unity加载一次,即首次编译时,Inspector中的变量值的初始值已经固定,后续修改C#中该变量的初始值时,Inspector中的默认值并不会更改,需要直接通过Inspector窗口更改
2. 实测问题: 物体的时速过快的话,无法检测到碰撞
解决方法:https://blog.csdn.net/zhliu1991/article/details/40542367