【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 2461|回复: 1

[基础技术] Unity 3D 开发技巧分享&工具推荐

[复制链接]
发表于 2014-2-14 14:25:41 | 显示全部楼层 |阅读模式

我们使用了Unity软件有一段时间了,现在我们来了解几个让开发人员更轻松的技巧。

优质的文件结构,协同程序和巨大的资源来帮助你得到一个快速,干净的工作环境。今天我想分享一些有用的技巧给你们。

文件管理

可能你已经知道,Uinty软件把文档和资源存储在Asserts文件夹里面的Unity资源储存。为了分离文档和Unity资源,我们决定把脚本和预设放在_Game System文件夹、诸如木质,材质,模型和声音放在_Game Asserts文件夹。

当你自己的内容被组织在两个文件夹的设置后就很容易去使用版本控制系统。在文件夹的名字的前面加上下划线可以让文件夹在你的目录列表的前面,让你更容易找到它。

协同程序

协同程序被用于通常在Update()的方法里面放一些有利于的代码的线程,比如,等待两秒,然后再重置GameObject的位置。

为了实现上述的动作,在Update()方法里面,代码应该是这样的:

[mw_shl_code=csharp,true]privatebooluseTimer = true;

private float timer = 0f;

void Update() {
if (useTimer) {
timer += Time.deltatime;
if (timer >= 2f) {
useTimer = false;
transform.position = new Vector3(0f, 0f, 0f);
        }
    }
}[/mw_shl_code]

当你使用协程的方法,代码就更加容易解读而且在执行时间内更有效率。

[mw_shl_code=csharp,true]void Start() {
StartCoroutine(WaitAndReset());
}

IEnumeratorWaitAndReset() {
yield return new WaitForSeconds(2f);
transform.position = new Vector3(0f, 0f, 0f);
}[/mw_shl_code]

这是一个使用协程在给定的时间间隔内做一些事情的好例子。执行时还需要在Update()方法里面使用一些变量来检查已经过了多少时间。当然你还可以在其他方面使用协程。

暂停游戏

在我们的新游戏里面你可能想要停止除了类似GUI的界面元素之外的所有东西。

为了暂停所有的东西你可以简单的设置Time.timeScale = 0, 但这不是我们想要的效果。你不可能知道其他依靠时间增量的资源。

我们碰到很多在Unity资源储存的资源:Pause Controller(暂停控制器)

Pause Controller通过过滤来决定需要暂停和不需要暂停的资源。可以通过层,标签记,GameObject等等过滤掉。

比如,你能暂停除了加上“DontPauseTag”的标签GameObject所有东西。

让活跃和不活跃的暂停只需要你简单设置:[mw_shl_code=csharp,true]GetComponent<PauseController>().activatePause = true;  // or false[/mw_shl_code]

只要有10美元你就可以把Pause Controller放在你的资源存储里面。

保存游戏

我们还没决定要怎样保存和下载的游戏,但我已经想到另一很酷的保存Unity资源:Unity Serializer

这个可以提供一个简单的方法来保存和下载你的具备所有设置和组件GameObjects。在Unity编辑器中,serializer 插件有一个允许你定义GameObjects应该受到影响专门的窗口。

在播放器预设的默认数据上,但是它也可以用字符下载或者保存数据,这就意味着你可以放在任何你想放的地方。

Unity Serializer是免费的,所以你应该试一下,看它是否适合你。

最喜欢的选项卡

一个非常有用的工具来记录你的资源中最喜欢的选项卡。

你可以经常使用收集在单独的窗口标记资源的最喜欢的选项卡。大概只要20美元你就可以通过资源存储获得这个资源。

贴图

贴图在提升的你游戏水平和带来更多图形变化上起了很重要的作用。

在资源存储中有一个非常有用的资源叫Decal System ,它是一个使用方便和免费的资源。

iTween动画库

iTween动画库是一个在Unity中非常受欢迎的资源。

iTween动画库是在平滑游戏中的GameObjects的移动的一个简单而且很酷的资源。

iTween动画库有大量不同的Ease-In和Ease-Out 的缓动类型,你甚至可以使用路径编辑器使你的物体运动。

看看Pixelplacement's website 获取更多信息。你可以直接从他的网站下载iTween或者通过资源储存获取。

Lightmapping Extended

Lightmapping Extended是一个免费的Unity资源,它公开所有最好的Unity的Lightmapping的设置参数。它是一个非常有用的资源,当你想控制如何烘焙你Unity的地图。


发表于 2014-8-4 11:49:44 | 显示全部楼层
程序看的东西。不过了解下也不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-5-9 10:10

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表