Unity Input,生命周期,Light,获取组件

本文详细介绍Unity游戏开发的基础知识,包括递归方法遍历物体、玩家输入控制、组件生命周期、灯光组件使用及组件获取方法。同时,文章还提供了优化连续子弹发射导致内存累积的解决方案,并附带了坦克射击游戏的小案例。
  1. 1.     递归方法遍历获取指定子物体

知识点:递归的使用;transform.childCount、GetChild(index)

 

 

 

 

2.  Input输入控制类,检测玩家输入

知识点:

Input.GetKeyDown();Input.GetKey();Input.GetKeyUp();

Input.GetMouseButton();

Input.GetAxis(“”);

 

 

按键设置:

 

 

按键按下、按的过程、按键抬起三个执行顺序:

 

 

 

鼠标按键的id

 

 

Asdw按键轴值获取:

 

 

 

Awake():唤醒事件,游戏一开始运行就执行,只执行一次。

OnEnable():启用事件,只执行一次。当脚本组件被启用的时候执行一次。

Start():开始事件,执行一次。

FixedUpdate():固定更新事件,执行N次,0.02秒执行一次。所有物理组件相关的更新都在这个事件中处理。

Update():更新事件,执行N次,每帧执行一次。

LateUpdate():稍后更新事件,执行N次,在 Update() 事件执行完毕后再执行。

OnGUI():GUI渲染事件,执行N次,执行的次数是 Update() 事件的两倍。

OnDisable():禁用事件,执行一次。在 OnDestroy() 事件前执行。或者当该脚本组件被“禁用”后,也会触发该事件。

OnDestroy():销毁事件,执行一次。当脚本所挂载的游戏物体被销毁时执行。

 

 小案例:按键控制旋转和移动,坦克发射子弹;

坦克控制类:

 

 

 

 

子弹控制类,一直沿着z轴向前运动

 

 

 

问题:一直发射子弹,会导致内存中不断积累子弹,有什么方法可以优化?提示:缓冲池解决。

 

3.   生命周期函数

知识点:熟悉各个内置函数的调用顺序和调用次数

 

 

 

 

4.   Light灯光组件

知识点:详解第一个Unity组件,熟悉Unity组件的属性和使用方法,如灯光类型、灯光颜色调试、灯光影子类型;

Type:Light类型:Directional直射光;Point点光源;Spot聚光灯;Area区域光;

Color:灯光颜色;

Mode:灯光烘焙模式:Realtime:实时光;Mixed:混合光;Baked:烘焙光;

Instensity:光照强度;

Indirect Multiplier:光照乘数,间接光从另一个游戏物体反射到另一个游戏物体的光线;小于1时每次反射会变暗,

ShadowType:阴影类型:Soft Shadows:平滑阴影;HardShadow:硬阴影;NoShadows没有阴影;

BakeShadowAngle:人为增加阴影平滑度,让阴影更光滑;

Strength:阴影强度;

Resolution:阴影质量;质量越高,消耗越大;

Bias:阴影推移距离;

Normal Bias:光阴表面推移距离;

NearPlane:(在点光源和聚光灯下起作用)影子的近裁剪面;

Cookie:投射阴影的指定纹理; cookiesize:纹理大小;

Draw Halo:辉光是否开启;

Flare:光耀(只有电光源和聚光灯下起作用)赋值光耀文件;

Culling Mask:裁剪层;(一个十进制数字通过多个二进制数值)

 

 

 

5.  组件的获取

知识点:通过游戏物体获取组件GetComponent<>,获取到组件之后修改组件属性;

流程的理解:1.找到游戏物体;2.在游戏物体上获取组件;3.得到组件控制权之后修改组件属性;

案例:通过获取代码组件来设置子弹的速度;

 

 

 

作业:使用GetComponent方法获取坦克发射子弹的子弹控制代码,设置一个随机数作为子弹的运行速度;

转载于:https://www.cnblogs.com/DGJS/p/10731081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值