摘要:
using System.Collections;using System.Collections.Generic;using UnityEngine; public class ExamplePool : MonoBehaviour{ private ObjectPool<GameObject> 阅读全文
摘要:
一、 首先你得先清楚RectTransform组件的一些程序控制 1. 先得到UGUI控件上面的RectTransform组件 2. 设置top和bottom值 3. 设置width,height 4. 设置pos 二、动态生成Button实例 1. 目标是要生成这样一个Button,这是手工设置的 阅读全文
摘要:
在游戏开发中,会常用到场景间传递数据的方法(比如关卡选择,过关后自动回到关卡选择界面,以动画方式解锁下一关),目前研究了三种: 1. 使用DontDestroyOnLoad方法: (1)在场景A中做个GameObject,身上挂个脚本,在Start方法中写明 这个表示在场景跳转后,不需要Destor 阅读全文
摘要:
注意EventSystem.current.IsPointerOverGameObject是指点击的物体是否是一个能响应EventSystem的物体(也就是UGUI控件) 阅读全文
摘要:
Unity中默认提供了一个Character Controller的组件用于实现角色控制,一个3D的游戏物体,可以直接添加。Character Controller会自动模拟出Capsule Collider,它的主要配置如下: Slope Limit:坡度限制,默认为度,限制物体只能上这个范围内的 阅读全文
摘要:
抽空研究了下Easy Touch 5插件,发现确实很好用,下面是相应的用法: 1. Easy Touch Controls:实现虚拟摇杆的组件 在项目的"Hierarchy"窗口下,创建摇杆操作点击GameObject=>EasyTouchControls=>Joystick,创建完之后会在Hier 阅读全文
摘要:
看了下塔防游戏的教程,比我想像的还简单一些,有些收获: (1)敌人的移动路径,其时比较简单,用了N个Empty GameObject作为路径点,然后做一个总的Empty GameObject 作为父级点,定义一个transform数组,数组的长度可以使用transform.childCount来确定 阅读全文
摘要:
1. DrawCall是啥?其实就是对底层图形程序(比如:OpenGL ES)接口的调用,以在屏幕上画出东西。所以,是谁去调用这些接口呢?CPU。比如有上千个物体,每一个的渲染都需要去调用一次底层接口,而每一次的调用CPU都需要做很多工作,那么CPU必然不堪重负。但是对于GPU来说,图形处理的工作量 阅读全文
摘要:
1.对象池Object Pool的原理: 有些GameObject是在游戏中需要频繁生成并销毁的(比如射击游戏中的子弹),以前的常规做法是:Instantiate不断生成预设件Prefab,然后采用碰撞销毁,或者定时销毁,大量创建重复对象造成内存损耗,影响性能还容易产生内存碎片。 所谓对象池,就是针 阅读全文
摘要:
没想到Unity的音频会成为内存杀手,在实际的商业项目中,音频的优化必不可少。 1. Unity支持许多不同的音频格式,但最终它将它们全部转换为首选格式。音频压缩格式有PCM、ADPCM、Vorbis,不是所有平台都支持这些所有的压缩格式,有些平台,例如WebGL只支持AAC格式。 2.所有音频导入 阅读全文