• 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 年后整理


     

    这个案例的各版本教程

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

  • 相关阅读:
    162. Find Peak Element
    475. Heaters
    字符串统计
    数据的交换输出
    偶数求和
    青年歌手大奖赛_评委会打分
    蟠桃记
    素数判定
    多项式求和
    出现Presentation Error的解决方法
  • 原文地址:https://www.cnblogs.com/lizitang/p/8522346.html
Copyright © 2020-2023  润新知