找回密码
 立即注册

转:我对Unity3D的介绍

已有 520 次阅读2013-1-11 21:27

游戏引擎想必大家都有所耳闻吧,比如当你在喝着可乐,盯着电脑屏幕,看到游戏场景内的角色在自己键盘鼠标的控制之下,享受着这种游戏的操作感,这种感觉之所以爽快,是因为他满足了你自己的思维(我想干什么就可以干什么),慢着,今天我们不谈论游戏心理,我们今天谈的是到底是什么让我们如此吸引而引人入胜呢?——游戏引擎

  众所周知,游戏引擎对于游戏来说,那真的像跑车的引擎一样,是游戏表现的核心,现在为止,一些大型的游戏公司都有自己开发或收购的游戏引擎,比如Unreal(虚幻),暴雪自家的魔兽引擎,还有保守争议的显卡危机(呵呵,是孤岛危机)的CryEngine,当然不同的引擎会有不同的性能表现和画面风格,比如写实的Unreal(如图左),和漫画田园风格的魔兽(如图右).

虚幻3引擎                                        魔兽世界

  OK,那么今天我就来推荐一下我所熟知的一款游戏引擎——Unity3D

  Unity3D URL:http://unity3d.com/unity/engine/

  作为Unity的使用者,开发者,我对Unity3D引擎的优异性能表现和高度跨平台性给予神一般的敬仰,他集成了MonoDeveloper的编译平台,以C#和javascript为主要的编码语言,貌似还有一个boo(鬼才知道这个语言),为了实现简单代码间类的互相操作,我们都选用C#作为统一的开发语言,而且Unity还对代码的运行效率,资源的开销提供了一个很好的分析工具(如图)

   而对于场景的编辑和代码的编写,我会在以后博客陆续放出,下面给大家展示一个例子,相信你会对它有兴趣的.

我在Unity3D里写出一些代码,实现监听鼠标滑轮的事件,继而使得场景内的一个方块的大小也随之改变.

列出代码:  Move.cs

复制代码
using UnityEngine;
using System.Collections;

public class Move : MonoBehaviour {
private float changSize = 0;

void Update() {
changSize
+= Input.GetAxis("Mouse ScrollWheel");
transform.localScale
= new Vector3(1 + changSize, 1 + changSize,1 + changSize);
}
}
复制代码

初始的方块的大小是(1, 1, 1)(如图)

     

运行结果:

   

我们看到,方块的大小被滑轮调整到了5倍左右.

下面是资源消耗:

  相信大家都已经看到了我的Move.Update()方法占到了总资源的10%左右,这是个不小的开销哦,我们的目的是让Camera.Render获得最大的资源比例,使得它渲染的帧数达到最大.

  因此我们做一个优化,代码更改如下:

复制代码
1 using UnityEngine;
2 using System.Collections;
3
4 public class Move : MonoBehaviour {
5 private float changSize = 0;
6
7 void Update() {
8 if(Input.GetAxis("Mouse ScrollWheel") != 0)
9 {
10 changSize += Input.GetAxis("Mouse ScrollWheel");
11 transform.localScale = new Vector3(1 + changSize, 1 + changSize,1 + changSize);
12 }
13 }
14 }
复制代码

  OK,我们这次再来看一下运行结果及资源耗费状况

    

运行资源消耗结果:

  立竿见影,我们看到Move.Update()已经控制在了1%左右,而Camera.Render也有所回升,说明我们的代码确实在这样的运行环境下起了意料中的优化作用。

  左边的观众,右边的观众,前面的观众,你们是否感受到Unity3D的魅力,而它的魅力还不仅仅是这些,后面你们还会看到更加惊喜的内容,希望你们能够喜欢上这个精致而灵巧强大的游戏引擎.


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-2 14:54 , Processed in 0.041301 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

返回顶部