U3D prefab

U3D prefab

1,prefab相当于一个类,字面意思就是预设,预先设计好的类。把一个prefab拖放到场景中就生成了一个实例,把二个prefab放到场景中就生成了两个实例。

不同的实例独立动作,拥有自己独立的状态与数据,不受其它实例的影响。

2,磁盘上有多个物体d1.fbx, d2.fbx, dn.fbx,将它们拖放到场景中做成一个prefab X,X中保存的是对这些资源的引用,而不是实际资源。当有X的多个实例 x1, x2, xn时,修改任何一个实例中物体d的材质,其它实例也会看到修改的效果;

或者直接在dn.fbx的inspector面板修改材质,也会同时影响所有引用了dn的预设实例。

实例的属性哪些是独有的,不受其它实例影响的,哪些是指向引用的,会与其它实例相互影响的?

生成属性是独有的:由U3D生成的运行时组件,如transform, meshfiler, meshrender等。

如:更改一个实例的坐标不会影响其它实例,一个实例不开启meshrender也不影响其它实例

原始数据文件的属性是共有的:材质,动画,顶点,法线等。

如:更改一个实例的材质,其实是在更改磁盘上的数据文件,会导致所有引用都跟着更改。

3,由于prefab中保存的只是对实际资源的引用,因此它很小,往往是几kb,随着引用的增多缓慢的增加。

增加的只是对引用物体的引用字符串而已。

尽管引用占用的空间比较小,在游戏开发还是应该防止prafab重复引用的问题,以减少打包的尺寸。

 

 

 

 

 

 

 

 

 

posted on 2016-10-25 11:52 时空观察者9号 阅读(...) 评论(...) 编辑 收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值