最近这段时间一直在自学Unity,作为一个零开发经验的小白来说,除了对游戏的热爱之外,基本上没有什么能拿得出手的东西了。因为时间有限,零零散散地起了个步,每天都感觉能有所收获就很知足。那么为了防止自己健忘,就顺手写了个心得体会,对不对的大家多指正批评。

话不多说,先记录一下prefabs的用法。

Prefabs,也就是预设体,是一个游戏对象及其组件的集合,使用prefabs是为了让游戏对象以及资源能够被重复使用。在Unity的Hierarchy视图中呈蓝色的对象就是Prefabs了。要创建这样的Prefabs很简单,只需要在project视图下建立一个文件夹,然后在文件夹中创建prefabs就可以了。也可以先创建小的游戏对象,然后再拖拽到project文件夹中。

创建好的Prefabs,可以在当前工程中进行复用,也可以导出资源到其他的工程里面使用。十分方便。

根据这个特点,我对这一功能在开发游戏时的具体应用有如下的理解:

  1. 搭建场景需要。通过不断地研究,我终于理解了很多游戏场景看上去精美绝伦,然而在制作它们的时候却不是一气呵成的。它们往往是很多个小的物品拼凑成一个大的组合,然后几个组合再拼凑成一个场景,因此在这个过程中,那些最小单位的物品就一次次地被重复使用。而prefabs就是让我们不断地去重复使用这些对象的。如果我们把搭建场景想象成盖房子,那么prefabs无疑就是搭建房子主体的砖块,这一块块的砖当然都是复用的了。
  2. 方便重复利用。以割草的《三国无双》系列为例,假设用unity开发这款游戏的话,如果我们给每一个出现的“草”(就是小兵》都单独设置一个模型,恐怕这个游戏一个关卡就要爆炸。在这个关卡里面泡着成千个名字不同的模型,先不提优化组的工作量,单说关卡设计师把一个模型复制上千遍就有多闹心。更要命的是,一旦这些小兵被玩家砍完了呢?而这个时候,prefabs就派上用场了。我们可以写一个脚本,让prefabs被重复利用,根据判断自动生成新的小兵(反正都长得差不多),保证玩家可以砍到过瘾,同时也降低了开发组的工作量。
  3. 节省资源。小的时候玩过一款很虐心的游戏叫做《银色幻想》,这款游戏的品质还是不低的,虐心就虐心在读条上。切换场景就要loading很长时间真的是烦躁,运气不好就直接卡死(win98时代的电脑,后来用win7固态重温经典就再没出现过这样的情况)。现在回想一下,这款游戏里面似乎没有什么复用的资源(除了敌人),因此进行loading的时候会把加载场景中所有的资源都读取一遍。如果我们把同类型的场景中,主体使用prefabs的方法来进行搭建的话,那么我们可以少读取很多很多资源,这样就不至于让玩家在等待中发狂。

暂时就想到这么多,欢迎大家补充。另强力推荐一波适合新手自学unity的线上平台paws3d,链接https://www.paws3d.com/learn/,并寻求喜欢游戏开发的小伙伴加群935714213

Unity中prefabs的学习心得以及应用理解相关推荐

  1. 怎样将计算机引入计算教学中,计算教学学习心得

    计算教学学习心得 计算教学学习心得1 在计算教学课堂中,很多老师都会认为讲清算理是关键 . 大纲上也强调,"笔算教学应把重点放在算理的理解上","根据算理,掌握法则,再以 ...

  2. SiKi学院 Unity中常用api学习笔记(001-014)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  3. SiKi学院 Unity中常用api学习笔记(015-019)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  4. unity中MVP模式学习

    #####该文章是个人学习MVP模式的总结和实践,水平有限,谢谢指点. 目录 前言 一.MVP模式是什么? 二.unity中实现 1.整体流程 2.具体实现 总结 前言 在游戏开发的过程中,经常会遇到 ...

  5. 3.Unity中c#代码学习(按键+屏幕和三维坐标转换+组件的调用)

     if (Input.GetMouseButtonDown(0)) 0左键 1右键 2中键 判断鼠标按下         鼠标事件只触发一次 if (Input.GetMouseButtonUp(0) ...

  6. 7.Unity中c#代码学习(物理系统刚体+碰撞检测(爆炸效果实现))

    刚体        通过添加组件Physics/Rigidbody            实现对物体插入物理引擎(刚体)  碰撞体         查看碰撞体范围        可以编辑碰撞的范围  ...

  7. unity中链接字符串和变量显示_理解Unity中的优化(六):字符串和文本

    字符串和文本: 在Unity项目中,处理字符串和文本经常会产生性能问题.在C#中,字符串是不变的.任何对字符串的操作都会重新分配新的字符串,这个代价是非常昂贵的.如果在多重循环中重复地执行字符串连接操 ...

  8. Python学习心得(七) 深入理解threading多线程模块

    Python提供了多个模块来支持多线程编程,包括thread.threading和queue模块等. thread模块提供了基本的线程和锁定支持:而threading模块提供了更高级别.功能更全面的线 ...

  9. Oracle数据库中的方案,学习Oracle数据库_理解Oracle数据库中的方案

    理解数据库.表空间.数据文件之间的关系. 每个表空间由一个或多个数据文件组成.数据文件用于在物理上存储表空间中所有逻辑结构的数据.表空间中数据文件的大小之和就是表空间的存储容量(图中系统表空间存储容量 ...

最新文章

  1. R语言使用geompointdensity包的geom_pointdensity函数将散点图和密度图结合起来、使用viridis包的scale_color_virdis函数为密度数据添加调色板色彩渐变
  2. 《数学之美》第4章 谈谈分词
  3. 一点一滴培养你的领导气质
  4. [大话数据结构-读书笔记] 栈
  5. hduoj2094产生冠军
  6. 前端与java绘制三维图_使用HTML5 Canvas绘制三维波浪图算法和实现
  7. 计算机考试没考好的检讨书,考试没考好检讨书4篇
  8. 面向对象之自动绑定数据源
  9. VS Code 运行Vue项目
  10. Oracle中NB的中文处理
  11. 最新消息,CDRX7冰点价再返现,你知道么?
  12. MATLAB车牌识别原理[大白话]
  13. matlab个版本介绍,matlab软件功能简要介绍及版本描述
  14. Data Modle:游戏对战模型
  15. jsp+servlet+mysql实现的学生签到考勤请假管理系统源码+教程
  16. Java 17 新功能介绍(LTS)
  17. 如何应对面试官:什么场景中会用到java多线程?
  18. 89.77%准确率!谷歌大脑提出CoAtNet:结合卷积和注意力
  19. 华纳云:数据中心风险评估做法
  20. 统计矢量数据占用三调国有建设用地部分面积

热门文章

  1. 智能电子秤方案控制板设计开发
  2. 中科合成油冲刺科创板:年营收10.7亿 拟募资8.25亿
  3. 线上调试神器arthas
  4. 卡口与大数据融合应用新看点
  5. Java后台实现pdf文件在浏览器中预览
  6. Windows截图工具,QQ截图独立版,QQ截图独立运行版,不需要登录QQ,体积小巧,独立运行的高效截图工具,支持截图文字识别和截图搜索,支持截图涂鸦和标记
  7. pppd拨号3G设备
  8. 安装django-cors-headers
  9. 指令集董事长潘爱民出席2022 ECUG Con,为中国技术力量发声
  10. 角位移传感器 AS5040