Unity3d基础

2023-01-31 01:01:34 unity3d 基础

1、Unity中的坐标系是使用的左手坐标系,Y轴向上,Z轴向里,X轴向右

161409k4f4mzetqel4sqnf.png

2、五大面板

    Hierarchy:当前场景中的物体

    Project:项目中的所有资源

    Scene:当前场景的预览视图

    Inspector:属性

    Game:游戏视图,以主摄像机视角查看场景


3、鼠标的操作

    左键:选择

    右键:调整视角,坐标系变换

    中键(滚轮):移动画布


4、元素

    gameObject

    Component

    Material

    Texture


5、脚本

    脚本是依附于游戏对象的,事件和操作的对象也是当前脚本所在的游戏对象。脚本只能依附于游戏对象或者由其他脚本调用才会运行,一个脚本可以放到多个游戏对象上,是多个实例。一个脚本的多个实例和其他脚本之间互不干扰


6、抗锯齿

    主菜单:Edit→project Settings → Quality  ,  AntiAliasing 选为4X(越大越平滑会越占用资源)


7、编辑器的使用

    Scene:高效操作:按住鼠标右键拖放可以改变预览的时候看的方向,

                                   按住滚轮拖放可以横向改变看的部分,

                                   滚轮可以前进后退

                                   Hierarchy中双击可以聚焦到元素,放大区域

                                   点击按钮,选中一个游戏对象拉着三个方向的箭头就可以在三个方向修改元素的位置

                                   方向键可以更方便的在XZ方向漫游,按着Shift可以加快速度


    Inspector:

                    暂时想禁用的游戏对象可以在Inspector前的钩去掉

                    暂时想禁用的组建也可以把钩去掉,永久删除就“Remove Component”


    

8、调试

    ->程序的运行时调试消息输出:Debug.Log(),显示到Console视图

    ->项目的断点调试:启动Monodevelop,主菜单Tools → Options → Unity → Debugger的Editor选择Unity开发环境Unity.ext的程序路径,然后MonoDevelop打开项目(注意Unity不要同时打开这个项目),然后主菜单Run→ RunWith→ Unity Debugger就可以启动调试了。

    建议使用Debug.Log()调试


9、模型

    在3Dmax,maya中设计模型和动画,导出fbx格式,有的3dmax文件导出fbx会有问题,比如导出没有贴图,没有动画等,主要是制作不标准

    将生成的fbx文件拖到Unity的Project中的Assets中,选中project中的fbx文件(注意:不是Hierarchy中的),在Inspectpr中的Animations页签中进行动画编辑

    片段切割完毕要将片段授权,否则运行的时候会提示没有legacy或者gameobject中没有animation组件。切换到Rig,Animation Type选择legacy,Generation选择"Store in Root(New)",点击apply

    将fbx拖到Hierarchy或者Scene中,这样就成为GameObject了

    

10、模型的导入导出

    模型及动画提出完成后,可以在模型文件夹上右击→ Export Package→ Export,导出到一个文件夹下,文件的扩展名是unitypackage,以后在使用,可以通过右击→ Import Package→ Custom Package,完成包的导入


11、动画播放的控制

            if (Input.GetKey(KeyCode.LeftShift))

            {

                animation["Run"].speed = 1f;

                animation.Play("Run");

            }

        speed属性可以控制动画执行的速度和执行的方向,正数表示向前,负数表示向后,数值越大越快,越小越慢

    

12、脚本问题

    ->初始化不要放到构造函数中,而是放到Start()方法中

    ->放到游戏对象中的脚本(实例化)可以在Inspector中修改属性,get/set写属性不被识别(不需要写),直接public字段就能当属性用,不写修饰符就是私有private

    ->Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或者FixedUpdate所用的时间

    ->单击Add Component出现的目录结构,脚本文件一般放在Scripts目录下,想要给自己的类更改目录的话,需要在类前面添加一个特性

        [AddComponentMenu("目录名/显示的文件名")]


相关文章