Prefab-预制件资源
定义
一个被存为模板的【物件】,可以通过这个【预制件】克隆出很多相同属性设置的【物件】实体 实现复用
【project管家中的Create】工程面板---->【prefab】预制件
把【Hierarchy】层次面板中【GameObject】拖拽到这个空的【prefab】预制件
此时图标会发生响应的变化从白色到蓝色的方块 在【Hierarchy】层次面板中同样物件也会变成蓝色
【物件】就会和【prefab】进行一个了联系 则改变【prefab】预制件也会改变相对应的【物件】
应用:
游戏中一些相同设置的“敌人”物件,则可以随机在某些地方通过【prefab】预制件生成这些“敌人”的实体
单一创建的话浪费时间和空间,亦不利于GameObject管理
优点:
不需要对相同游戏对象进行功能的逐个添加,就实现相同的属性和功能脚本
将下面的脚本添加到Main Camera 并且将basketball的贴图方法预制件上面就
在即将运行的脚本上添加 导入变量的值
在Hierachy中创建Sphere之后,绑定好prefab之后再进行取消掉 界面还是能够出现
触发器Trigger
使用地方:
如果你不想让碰撞检测影响物件移动,但是又想检测到碰撞
经常用来检测一个物件是否经过空间中的某一个区域
场景:
一个cube落在一个【Collider】碰撞体
在【Collider】属性中可以发现【is Trigger】的勾选项 可以穿墙而过
用于这种方式让碰撞不被玩家“看见”,用来检测某个物件是否在某个特定的区域
若是把Renderer组件的勾去掉,在选中的情况下可以看见这个物件的轮廓
绿色的边框是碰撞提的形状,
创建一个脚本Trigger.js
/*
myTrigger将会是与这个触发器碰撞的物件
*/
function OnTriggerEnter(myTrigger : Collider){
if(myTrigger.gameObject.name =="Cube2"){
Debug.Log("Box went throght!");
}
}