这个案例的各版本教程
【视频】官方版本 英语中字版 | https://www.bilibili.com/video/av6125976/index_11.html#page=1 |
【视频】58开发网 中文版 | http://www.58kaifa.com/course/27/learn#lesson/557 |
【文字】简书 中文版 | https://www.jianshu.com/p/8cc3a2109d3b# |
1.导入AssetStore商店里 SpacingShooter的全部资源
2.放背景plane 放飞船 放...
3.不受场景里灯光影响的材质球:
4.逻辑:任何一个3d object,被创建的基本组件:
总结:
组件1:Transform
组件2:Mesh Filter (Unity3d mesh Filter和mesh Render双生双克 https://blog.csdn.net/avi9111/article/details/52151385)
组件3:collider
在目前版本里(2017.3.0),上述这些3d object都自带collider组件。
关于这个collider的:注意:collider的耗资源情况,与它所代表的体的面数无关
1).报错
解决:不要用Mesh collider,或者把它的convex打开
2)
组件4:Mesh Renderer
Mesh Renderer不是材质球! 不是material !!!
逻辑是:
a.两个独立物体: Quad, Material
b.一个组件:Mesh Renderer
最后:组件,连接两个独立物体
the renderer is only able to use the texture,it is a part of material
Mesh Renderer组件只能使用texture,texture是材质球的一部分。
- “直接将texture拖拽的模型上”这个操作,unity都做了什么:
a.检测texture是否有相关联的材质球,如果没有,自动创建材质球。(并且自动添加到materials文件夹中)
b.添加到被拖拽模型的Mesh Renderer中 。
5.让飞船动起来:
脚本注意1:脚本名 = 类名 首字母必须大写 |
Rigidbody rig; void FixedUpdate() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); rig = GetComponent<Rigidbody>(); }
fixed update函数:
有rigidbody这个组件,我们才能使用unity内置的物理引擎。