栗子糖

人生只有一次 认真对待自己

   ::  :: 新随笔  ::  :: 订阅 订阅  :: 管理

 

这个案例的各版本教程

【视频】官方版本 英语中字版 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内置的物理引擎。

posted on 2018-03-07 14:47  喜欢我就给我买栗子  阅读(444)  评论(1编辑  收藏  举报