内容来自这个网站http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/

,我选取了目前我看得懂的一些,翻译了:

1,避免素材分支:

所有的素材应该只有一个版本,比如prefab, scene, mesh。

2,每个成员必须有一个当前项目的备份来测试。

3,使用其他的关卡编辑工具来编辑关卡。

Unity不是一个完美的关卡编辑器。

4,使用XML来保存关卡信息,而不是scene。

5,考虑写一个通用的自定义属性面板

组织场景:

6,使用空的GameObject来做场景里的文件夹。

7,将修改后的prefabs和文件夹(空的GameObject)的位置设置为0,0,0。

8,将你世界的Y轴基础坐标设置为0,这样就让放置对象更加方便。

9,让每个界面都可以单独运行

这样会大大减少测试的时间,要做到所有的场景可以自己运行,需要完成以下两点:

1,当数据不存在时,能够提供虚拟的数据以供当前场景使用。

2,生成对象必须支持多个场景都可以加载,使用类似下面的习惯用法:

myObject = FindMyObjectInScene();

if (myObjet == null)

{

myObject = SpawnMyObject();

}

10,将角色和站立对象的pivots(中心点)设置在原点(左下),而不是中心位置。

这样更容易摆放和设置其位置。

11,将prefab用于所有对象。你的场景里面应该只有文件夹(空的gamobject)而不是prefab.甚至唯一的对象,只被使用一次也需要被设置为prafabs。这样就会使得改动不波及到场景。

12,将一些复杂的prefab拆分为几个单独的prefab,不要对已经初始化的对象再进行设置。

如果你有两种敌人,他们只有属性不一样,定义两种不一样的prefab给这种属性,然后再将它们引入,这样做的好处是:

1,修改某个对象,只需要修改一个地方。

2,修改不涉及scene。

13,将prefab和prefab链接起来,而不是instance和instance。

使用Unity做项目的时候,一些好的建议的更多相关文章

  1. 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

    索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(1)搭建MVC环境 注册区域 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(2)创建 ...

  2. 循序渐进做项目系列(4)迷你QQ篇(2)——视频聊天!(附源码)

    一·效果展示 源码派送:MiniQQ1.1 文字聊天的实现参见:循序渐进做项目系列(3):迷你QQ篇(1)——实现客户端互相聊天 二·服务端设计 对于实现视频聊天而言,服务端最核心的工作就是要构造多媒 ...

  3. 循序渐进做项目系列(3):迷你QQ篇(1)——实现客户端互相聊天

    <循序渐进做项目系列迷你QQ篇>将陆续介绍客户端聊天,文件传输,加好友,群聊,包括语音聊天,视频聊天,远程桌面等等需求如何实现,感兴趣的朋友可以持续关注.考虑到某些需求较为复杂,本系列采用 ...

  4. 用eclipse做项目中常遇到的问题-如何创建并读取properties文件

    在用eclipse做项目开发的时候我们常常会将一些重要的内容写在配置文件里面, 特别是连接数据库的url,username,password等信息,我们常常会新建一个properties文件将所有信息 ...

  5. 循序渐进做项目系列(2):最简单的C/S程序——消息异步调用与消息同步调用

    上篇博客 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法 实现了一个最简单的C/S程序,即让服务器来做加法.当时为了通俗易懂采用了消息异步调用的方式.今天我们要采用消息同步调用的方式 ...

  6. 【转】做产品VS做项目

    相关定义 根据GB/T19000—2008<质量管理体系基础和术语>,有以下定义 过程process 一组将输入转化为输出的相互关联或相互作用的活动 注:一个过程的输入通常是其他过程的输出 ...

  7. 做项目单个功能的时候要理解需求和sql语句。

    做项目单个功能的时候要理解需求和sql语句.最好直接按照给出来的sql语句或者存储过程来写,避免有极其细微的差别所造成的不同. 做宜春国税二期的时候有个功能叫夜间开票情况,钻取明细时由于没理解sql语 ...

  8. Unity做AR

    Unity做AR呢这里借助了高通的AR包 这里是视频教程  http://www.tudou.com/programs/view/dnvEbIubNzI/ 这里是结果演示  http://www.tu ...

  9. 用.NET CORE做项目,VS里编译碰到‘。。。。包降级。。。。’错误

    用.NET CORE做项目,VS里编译碰到‘....包降级....’错误 本地开发机:WIN10+VS2017 15.7.3 ,用CORE2.1版本的建立一个项目,做好了,传到gitee上 今天有新同 ...

随机推荐

  1. oracle11g在CentOS6.9上启动脚本

    #!/bin/bash# chkconfig:2345 99 10# description: Startup Script for oracle Database# /etc/init.d/orac ...

  2. Vim插件推荐

    看下文时要知道我的<leader>键就是\. ctags C程序阅读辅助工具.在看C/C++代码的时候经常需要在文件之间跳来跳去,这是很麻烦的事,ctags就是解决这种问题的.ctags是 ...

  3. yum 源搭建

    RHEL系统部署网络yum源 配置网络yum源 RHEL系统本身光盘做成的yum源所提供的软件包有限,在实际使用过程中经常会出现缺包的现象,本文中以CentOS源作为替代,CentOS的软件包和RHE ...

  4. 进程、内存的理想与现实 VS 虚拟内存

    理想情况下一个进程的运行,需要一块足够大的连续的内存进行装载. 现状: 1)内存不够大:分解进程内存空间. 2)内存不连续:内存映射.

  5. 【CCPC-Wannafly Winter Camp Day4 (Div1) D】欧拉回路(分类讨论)

    点此看题面 大致题意: 有一个\(n\)行\(m\)列的网格图,让你给每一条边设置一个通过次数(\(\ge1\)),使其成为欧拉回路,且通过次数总和最小. 初始化 首先,由于通过次数\(\ge1\), ...

  6. vue中列表的过渡

    <style> .v-enter,.v-leave-to{ opacity: 0; } .v-enter-active,.v-leave-active{ transition: opaci ...

  7. 在CentOS 6.5上安装NodeJS

    CentOS的软件源未包含有最新的nodejs, 需要手动编译安装. 首先安装依赖的库与工具 yum install libtool automake autoconf gcc-c++ openssl ...

  8. Spring 上下文操作工具类 ContextUtils

    ContextUtils.java package com.java.config; import org.springframework.beans.BeansException; import o ...

  9. bootstarp v3 学习简记

    1.快速设置浮动通过这两个class让页面元素左右浮动. !important被用来避免某些问题. <div class="pull-left">...</div ...

  10. 第49章 在SRAM中调试代码—零死角玩转STM32-F429系列

    第49章     在SRAM中调试代码 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...