Unity3D入门学习

一.初始开发工具

   Scence:编辑场景,列出场景中的所有对象。

   Game:玩家看到的面板,由场景中的摄像机拍摄到的

   Project:项目面板,管理一个项目中的所有资源文件,Project面板和项目文件夹中的Assets文件夹完全相通

   Hierarchy:层级面板,用来管理场景中所有的游戏对象(GameObject),将所有对象已层级的形式显示

   Inspector:检视面板,显示一个游戏对象上的组件和属性

二.unity组件

   Mesh Filter网格过滤器,决定了游戏对象的形状

三.Material 材质的使用

自定义材质。详见api文档

四.地形Terrain的使用

1.上升地形

    Bursh  笔刷样式

    Bursh size 笔刷大小

    Opcity 笔刷硬度

    按住shift可以下降地形,最低能够下降到0

2.恒高地形

3.平滑地形

4.绘制地面纹理

五.PhysicMaterial物理材质(弹跳摩擦)

bounceCombine 明确弹力如何组合。
bounciness                                                 表面是多么有弹性的?值为0将不会有弹性。值为1将是没有任何能量损耗的弹力。
dynamicFriction                                  已经移动时摩擦力被使用。该值在0到1之间。
frictionCombine     明确摩擦力如何结合。
staticFriction                                    当对象横卧在表面时,摩擦力系数被使用。

六.坐标系的使用

世界坐标系
局部坐标系
相机坐标系Viewport
屏幕坐标系
unity采用左手坐标系
x轴向右      y轴向上    z轴向里

---------------------获取水平轴--------------------

float horizontal = Input.GetAixs("Horizontal")

---------------------获取垂直轴--------------------

float vertical = Input.GetAxis("Vertical");

-------------------获取自己的坐标---------------------

transform.position

--------------------vector3三维向量---------------------

back 写Vector3(0, 0, -1)的简码。
down 写Vector3(0, -1, 0)的简码。
left 写Vector3(-1, 0, 0)的简码。
one 写Vector3(1, 1, 1)的简码。
right 写Vector3(1, 0, 0)的简码,也就是向x轴。
up 写Vector3(0, 1, 0)的简码,也就是向y轴
forward 写Vector3(0, 0, 1)的简码,也就是向z轴。
zero 写Vector3(0, 0, 0)的简码。
//创建一个坐标
Vector3 position = new Vector3(x , y , z);

------------------------旋转------------------------

//局部旋转
transform.localRotation 
//变换角度
transform.Rotation 

Quaternion.LookRotation(一个参数,表示旋转的x,y,z坐标)

//需要变换多少角度,根据坐标变化角度
transform.Rotation = Quaternion.LookRotation(new Vector3(1f,0f,0.3f));

-----------------------往前平移--------------------------

transform.Translate (一个参数,表示移动多少距离)

transform.Translate(Vector3.forward * speed * Time.deltaTime);

transform.Translate (一个参数,表示移动多少距离,第二个参数表示根据世界坐标来)

transform.Translate(Vector3.forward * speed * Time.deltaTime,Space.World);

七.接收用户的输入(Input)

鼠标输入:

input.getButton("Fire1");

input.getButtonDown(0);//表示鼠标左键

input.getButtonUp(1);//1表示鼠标右键

键盘输入:

input.getKey();//默认

input.getKeyDown();//按下触发

input.getKeyUp();//等鼠标抬起触发

 

八.MonoBehaviour 的基本方法

    Awake:顾名思义,Unity3D的脚本苏醒时需要调用的方法,这个方法比Start方法执行的还要早,也是执行一次。


    Start:可以理解为类的构造函数,或者是init函数,用于初始化各种变量,仅执行一次。


    Update:类似于flash AS3 onframe的回调函数,每帧均回调。


    Fixedupdate:每一帧都执行,处理Rigidbody时,需要用FixedUpdate代替Update。例如:给刚体加一个作用力时,你必须应用作用力在FixedUpdate里的固定帧,而不是Update中的帧。(两者帧长不同)FixedUpdate,每固定帧绘制时执行一次,和update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。


    Lateupdate:每帧均回调,但每次均在Update之后再调用。


    OnGUI:每帧均回调,用于绘制GUI对象。


    Reset:用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个最常用的默认值。


    OnDisable:当物体被销毁时 OnDisable将被调用,并且可用于任意清理代码。脚本被卸载时,OnDisable将被调用,OnEnable在脚本被载入后调用。注意: OnDisable不能用于协同程序。


    OnDestory:当MonoBehaviour将被销毁时,这个函数被调用。OnDestroy只会在预先已经被激活的游戏物体上被调用。注意:OnDestroy也不能用于协同程序。
发布了23 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_42279584/article/details/103182601
今日推荐