unity3d常用灯光插件插件 ITS 有没有人用过

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(106)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Unity3D常用插件下载及使用方法',
blogAbstract:'1. NGUI,这个不用多说,上官网:/?page_id=140,也可以去我的百度云盘:/s/1qWwSwFE\r\n2. FingerGestures,顾名思义,这个是支持移动设备所有触摸事件的插件,包括点击,滑动,还有自定义手势等等,云盘:/s/1mgDp5Gk\r\n3. EasyTouch,也是用于移动平台上的RPG类的游戏,这里有篇文章,简单介绍了一下该插件http://my.oschina.net/dingxiaowei/blog/205231,下载地址:/s/1o6xC0Z4\r\n4. ShareSDK,功能强大的分享插件,支持一键分享并且配置起来十分简单,目前绝大多数的社交',
blogTag:'unity,插件',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}4155人阅读
Unity(119)
1. Unity内置了Audio功能,并且底层也是用FMOD来实现的,为什么还要不辞劳苦学习使用FMOD插件来进行音效的管理?
下面是摘录的部分内容:
The main reason to use this is that it enables your sound designers to edit, mix and master your game audio using the FMOD Studio interface while the game is running. Using FMOD studio, you can also create, e.g., a footstep sound event that will randomize the
pitch and selected sound sample without the game having to know anything else than the name of the event. Using FMOD is free for non-commercial purposes and the license prices are also pretty reasonable for commercial work.
Most commercial games with decent sound design use such live mixing and centralized sound management approach, either using FMOD, WWise or some custom tools. Unity does use fmod for its own sound, but it does not provide any mixing tools and a sound designer
will go insane if he/she has to manage hundreds of sound objects in the Unity editor. The main limitation of the FMOD Studio integration is that it only supports iOS, Android, Windows, Mac but no web player. If you want your sounds to work in the web player,
I suggest you check out the Clockstone Audio Toolkit that provides mixing and management on top of Unity's internal sound system.
理解起来就是:
Unity内置的Audio内部使用的是FMOD,但是功能不够齐全,高级一点的功能如混合(Mix)等无法使用;音效管理应该和Unity工程解耦合,这样子可以减轻音效设计师的负担;使用FMOD后,游戏中我们只需要关心sound event名字就可以了,对具体音效资源不会产生依赖;目前FMOD支持Windows, Mac OSX, Android, iOS,其实官方文档中说了对XBOX One,PlayStation系统等系统都有支持;
结合FMOD Studio的官方文档,我们可以总结出使用FMOD的如下优点:
使用FMOD我们可以使用更少的资源创建更加高级和丰富的音效,减少运行时内存资源消耗;音效管理只需要在FMOD Studio中管理好即可,不需关心具体Unity工程,方便音效管理;编程人员只需要依赖于各种字符串形式的Sound Event和简单的播放API即可,使用简单;平台支持较为完善。
2. FMOD的基本使用过程
FMOD的使用过程比较简单,复杂之处在于FMOD Studio的使用,音效资源编辑完成后的使用较为简单。具体流程参见下图:
具体过程如下:
1. 使用FMOD Studio编辑器编辑原始音效资源,创建各种音效;
2. 导入Unity Game Project;
3. 通过FMOD Plugin的API进行播放。
3. 简单例子
FMOD Studio部分:
2. 打开FMOD Studio即创建一个新工程,Ctrl + S 确定工程保存位置;
3. Window-&Audio Bin打开Audio Bin窗口,用于选择工程需要的声音文件,File-&Import Audio Files选择工程需要的声音文件;
4. FMOD Studio中左侧面板Event Tab栏中,右击选择New Event,表示创建一个新的音效(下图创建了一个test音效);
5. 将Audio bin面板中的将音效文件拖到FMOD Studio的Audio 1中,如下图所示,拖入了两个声音资源进去组成了一个音效:
6. 右击test Event,选择Assign to Bank-&Master bank;
7. Ctrl + s,然后File-&Build,然后File-&Export GUIDs。
Unity部分:
1. 下载,并导入Unity,此时菜单栏会多出一个FMOD选项;
2. FMOD-&Import Banks,打开刚刚FMOD Studio创建的工程的Build目录,Import之,Import的资源会在Assets/StreamingAssets目录下;
3. 选择Main Camera,然后选择Component-&Scripts-&FMOD Listener;
4. 创建一个Empty GameObject,然后Create And Add一个Script,附加如下代码内容,即可实现播放音效:
using UnityE
using System.C
using FMOD.S
public class TestFMOD : MonoBehaviour {
FMOD.Studio.EventInstance testI
string snd = &event:/test&;
void Start () {
testInstance = FMOD_StudioSystem.instance.GetEvent(snd);
if (testInstance != null)
testInstance.start();
2. 参数详解
FMOD Studio工程
FMOD Studio工程中,所有的声音文件都是以Event的形式存在的,这些Event都是通过字符串的形式来进行表示的;
目前对FMOD Studio工具的使用只是创建一个简单的Event,在FMOD Studio的安装目录中有文档可以参考。
是否是STREAM类型:音效是否loop:
EventInstance参数
position:决定音量,距离越远,音量越小;velocity:决定音高,速度越快,音量越大。
需要封装的其实只有两个东西,一个是更新EventInstance.updateAttribute方法,FMOD的实现在其中不停的获取Transfrom Component,这是效率很低的地方,可以提供一个只需要Tranform参数的方法来供调用;另一个提供一个Play方法供外部进行调用,参数是Event即可。
以前出现的问题:
连续播放多个声音的时候,后面的声音将前面的声音打断了。初步估计是以为当时的系统中使用了对象池,每次都是从对象池中进行取得EventInstance,而不是创建新的。实际上如果对同一个EventInstance进行重复调用start函数时,会从头开始重新播放。
例子中的声音文件播放的时长为2.6s,没有出现后面的声音阻断前面的声音的情况。
IEnumerator Play2Sound()
for(int i=0; i&2; ++i)
EventInstance instance = FMOD_StudioSystem.instance.GetEvent(snd);
instance.start();
yield return new WaitForSeconds(1f);
而这个例子中,重复的start则会将上次的声音打断
IEnumerator Play2Sound()
for(int i=0; i&2; ++i)
if (null == testInstance)
testInstance = FMOD_StudioSystem.instance.GetEvent(snd);
testInstance.start();
yield return new WaitForSeconds(1f);
一个音乐多次重复播放的时候容易出现刺刺的声音
泡爷的方案是在五帧之内则不允许再次播放,但是我没有遇到这种现象,测试代码如下:
IEnumerator TestLargetScaleSnd()
while (true)
for(int i=0; i&26; ++i)
EventInstance instance = FMOD_StudioSystem.instance.GetEvent(snd);
instance.start();
yield return new WaitForSeconds(0.1f);
在使用FMOD的时候,york同学遇到一个情况,就是如果设置一个回调函数,则在MonoDevelop设置断点时总是crash掉。而我实验的结果是在大量播放一个声音时,如果设置回调函数,则Unity会挂掉。因此暂且总结为不要使用EventInstance的callback方法设置回调函数。
实验代码如下(五个声音以上同时播放则会挂掉,少则不会):
IEnumerator TestLargetScaleSnd()
for(int i=0; i&5; ++i)
EventInstance instance = FMOD_StudioSystem.instance.GetEvent(snd);
instance.setCallback(callbackFunc);
instance.start();
yield return new WaitForSeconds(0.1f);
RESULT callbackFunc(EVENT_CALLBACK_TYPE type, IntPtr eventInstance, IntPtr parameters)
return RESULT.OK;
3. 实践总结
FMOD的已知实验总结出以下三点:
1. Unity Project只需要使用FMOD.Studio.EvenInstance就可以了,Unity Project中不需要对EventInstance的内存池管理,只需要对它的position属性进行管理;
2. 我们还需要一个封装的接口来提供声音的播放,这个接口为
void Play(string snd);
3. _3D_ATTRIBUTES用于设置EventInstance的属性,我们设置的属性目前只有position属性,而这个属性由于需要随着角色的移动而更新,因此需要频繁调用。而_3D_ATTRIBUTES的to3DAttributes方法每次都要去取GameObject的Transform,消耗较大,因此我们需要封装一个to3DAttributes(Transform)方法,根据缓存的Transform来进行。
to3DAttributes方法的封装如下:
public class FModUtils
static public _3D_ATTRIBUTES to3DAttributes(Transform go)
FMOD.Studio._3D_ATTRIBUTES attributes = new FMOD.Studio._3D_ATTRIBUTES();
attributes.forward = UnityUtil.toFMODVector(go.forward);
attributes.up = UnityUtil.toFMODVector(go.up);
attributes.position = UnityUtil.toFMODVector(go.position);
if (go.rigidbody)
attributes.velocity = UnityUtil.toFMODVector(go.gameObject.rigidbody.velocity);
总结1和2则通过封装一个FModCom即可,需要播放声音的GameObject需要挂接这个脚本,并在需要播放声音的时候调用其中的Play接口,代码如下:
using UnityE
using System.C
using System.Collections.G
using FMOD.S
using com.morefun.
public class FMODCom : MonoBehaviour {
[HideInInspector]
public float updateTime = 0.5f;
private List&EventInstance& m_soundL
private Transform m_
void Awake()
m_trans = this.
m_soundList = new List&EventInstance&();
void Start () {
StartCoroutine(updateSnd());
public void Play(string snd)
EventInstance sndEvent = FMOD_StudioSystem.instance.GetEvent(snd);
if (null == sndEvent) return;
sndEvent.set3DAttributes(FModUtils.to3DAttributes(m_trans));
sndEvent.start();
addToUpdateAttribute(sndEvent);
IEnumerator updateSnd()
while (true)
PLAYBACK_STATE
for (int i = 0; i & m_soundList.C ++i)
EventInstance eventIns = m_soundList[i];
eventIns.getPlaybackState(out state);
if (PLAYBACK_STATE.PLAYING == state)
eventIns.set3DAttributes(FModUtils.to3DAttributes(m_trans));
else if (PLAYBACK_STATE.STOPPED == state)
m_soundList.RemoveAt(i);
yield return new WaitForSeconds(updateTime);
void addToUpdateAttribute(EventInstance value)
if (!m_soundList.Contains(value))
m_soundList.Add(value);
工程使用FMOD的过程如下:
1. 在Main Camere上Attach一个FMOD Listener脚本(Component-&Scripts-&FMOD_Listener);
2. 需要播放音效的GameObject上Attach FModCom脚本,需要播放音效的时候调用FModCom.Play接口。
4. 音频编码和解码
普通音频文件根据编码格式不同分为两类:
无损格式,例如WAV,PCM,TTA,FLAC,AU,APE,TAK,WavPack(WV)有损格式,例如MP3,Windows Media Audio(WMA),Ogg Vorbis(OGG),AAC
我们一般使用的是WAV,MP3和OGG格式的音频文件,一般WAV是MP3和OGG文件的十倍左右大小。
音频文件的解析过程分为两部:
1. 加载入内存;
2. 解码成波形文件。
二者都是比较消耗时间的地方,解码的优化在于是否有硬件优化,IO的优化在于能否部分加载连续IO。
FMOD自身提供了音频编码格式.BANK,可以在编辑器中编辑Quality选项选择最终生成的音乐品质,我在实验中选择的Quality是80%,结果如下:
原始音效WAV文件大小为117KB,生成的BANK文件大小为50KB;
原始音效MP3文件大小是2.78MB, 生成的BANK文件大小是4.82MB。
FMOD统一了格式,使得我们不需要再关心具体的音频文件格式和转化。带来的一个缺点是音频文件在安装包中占据的体积会增大,这个需要我们调整Quality参数来进行设置。
上次飞车的分享中提到Android不支持音频的硬件解码,因此如果需要通过CPU解码游戏背景音这种类型音效则非常耗时,他们的经验是:
特效音一次性整体载入;背景音则通过string的形式进行部分载入。
FMOD中支持上述两种方式的加载。在FMOD中,如果原始的音效资源是压缩类型的(mp3, ogg等),则可以选择是否以STREAM的方式进行加载;如果是非压缩类型的(wav等),则只能以非STREAM的方式加载进内存。
因此我们的解决方案是:
特效音在FMOD中设置成非STREAM方式;背景音设置成STREAM方式。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:137548次
积分:2059
积分:2059
排名:第17802名
原创:48篇
转载:143篇
评论:16条
(2)(6)(10)(3)(3)(8)(7)(8)(3)(3)(2)(6)(8)(3)(2)(3)(9)(5)(9)(2)(7)(9)(11)(10)(12)(7)(12)(14)(3)(4)(2)请问为什么安装完Unity插件后Chrome还是不能?
全部答案(共2个回答)
的问题~~你换个浏览器试试~还有可能是你的插件下载 的不对呀~
当然可以,在Chrome 网上应用店找到相关应用安装即可。
设置→扩展程序→获取更多扩展程序,搜索 迅雷 ,找到作者为 深圳市迅雷网络技术有限公司 结果添加即可...
这个是不是系统出了点问题,建议去售后咨询一下
用过有线连接的。效果还好。没给我这个小白搞出任何问题。
换个谷歌浏览器
清理下 浏览器缓存
那就更新下unity的插件
什么还是不行
那就是网速问题
看下别的uni...
您得先開??@示隱藏?n功能
Chrome?U充功能?n案位置
Chrome?U充功能的?n案位置在
C:\Documents and Settings\&l...
我的优惠券要怎样用?
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区用Flash、HTML5和Unity开发网页游戏的现实
用Flash、HTML5和Unity开发网页游戏的现实
今天对于全球的 Flash 开发者来说是黑暗的一天,因为 Adobe 宣布将不再对移动设备上的浏览器进行 Flash 技术支持。在这之前,Adobe 刚刚宣布了公司范围内的大幅度裁员。尽管这似乎并不是什么严重的问题,但是这却又使“Flash hate wagon”开始转动。
  首先,我只关心基于网页的游戏开发。因此,这篇文章只关注这个主题。这并不是一篇关于 Flash 和 HTML5 的争论文章, 也不是教你如何在移动设备上搭建应用程序。所以,这篇文章纯粹的是关注当今开发 web game 的现实。
  我比较了 Flash,HTML5,Unity,因为他们是当今唯一可行的 web game 开发平台。我列了10个主题来比较他们:
开发流程 C 用它来开发一个游戏有多容易?
平台稳定性 C 当你开始和结束开发游戏这段时间内,它会发生改变吗?
向后兼容性 C 用它开发的游戏10年后还能运行吗?
移动性 C 移动设备的支持
打包与分发 C 如何流通
安全性 C 代码和知识产权保护
货币化 C 如何运营赚钱
Facebook C 社交游戏的角度
多少人会玩你的游戏
3D 支持 C Stage3D vs. WebGL vs. Unity
  上述的方面我认为是所有游戏开发者在评估一个新的开发平台时都应该注意的。我希望这些建议对新老 Flash 开发者来说都会有所帮助。
  1. 开发流程
  Flash:用 Flash 来开发游戏非常简单。因为关于它有无数的书籍,网站,教程,框架,视频和源代码。对于开发工具来说,Flex route 是免费的,Flash IDE 需要付费。Flash 拥有通用且强大的矢量渲染功能,这意味这你创建的动画的文件格式会非常小。它全面支持音频和大多数的 Adobe 应用程序,例如在 Flash IDE 中嵌入 Illustrator 和 Photoshop。而且 Flash 还有大量的内置功能。
  HTML5:编辑器例如 JetBrains 的 Astella 会使编程变的不那么痛苦。有一些优秀的调试工具使浏览器调试也非常简单。有许多关于 HTML5 游戏开发的书籍,网站,在线资源和示例程序。开发 HTML5 游戏的工具是免费,但是也有商业的工具,例如 GameMaker HTML5 和 Game Salad。如果你想让程序效率更高,并且你不怎么关注底层运行机制,你可以使用特定的的库类似 ImpactJS。
  Unity:有一个优秀的可视化编辑器,并且可以嵌入主流的3D 应用程序中。基础版本是免费供家庭使用的。也可以在公司里使用,每年需要交纳不到100K $ 的费用。专业版本带有各种插件,价格在1500$上下。一旦你有了 Unity,大量的教程和资源也随之提供,所以学习并不是问题。
  2. 平台稳定性
  Flash:Flash 是跨平台的,它不在乎你用的操作系统和浏览器是什么,不管你是破旧的 IE 或是最新的 Chrome。只要你使用的平台上有 Flash Player,对于体验来说都是一样的。Adobe 每年都会发布一个新版本和许多现有版本的更新。
  HTML5:HTML5一直处于变动中。基于此有2个副作用:第一,即便你什么都没有做,你的游戏仍然有潜在的崩溃可能。这是因为之前你已经升级或使用其他浏览器了。第二,你必须考虑多平台。在 Chrome 上可以运行只是第一步,你还必须处理 IE,Firefox,Safari 和各种操作系统。由此带来的维护成本也不能低估。另外,最大的技术挑战包括音频支持以及不一致的画布渲染速度等。
  Unity: Unity 的 web player 拥有和 Flash 一样的优势。Unity 的插件也是跨平台的。Unity 本身也会定期的发布新功能。
  3. 向后兼容性
  Flash:10年前,用 AS1 制作的游戏仍旧可以在现在的 Flash Player11 上运行。向后兼容性十分出色。
  HTML5:对于 HTML5 来说,比较向后兼容性有点不公平,因为它还在发展中。这意味着,如果它不符合 W3C 标准,就会被废弃。
  Unity:Unity 并不支持以前的插件,最开始我开期待它会像 Flash 一样,但似乎并不是这样。
  4. 移动性
  Flash:直到今天前,我可以说,除了 iOS 平台,Flash 插件对于移动平台的支持是伟大的。 但是 Adobe 官方宣布已经不再对移动设备上的 Flash Player 插件继续支持了,你可以认为它已经完全死了。当然你可以通过 AIR 来创建移动应用程序,但是这些不属于 web game 的范畴,所以我们不在此进行深入讨论。Stage3D 对于移动的支持并不成熟,随着许多硬件厂商的合并,以及逐渐老化的 AVM,对于 Adobe 的开发者来说是一场艰难的战争。种种迹象表明,在重建过程中,Adobe 已经把 Oliver Goldman 从 AIR 团队中调到云项目。Oliver 在 AIR 中是核心人物,至于结果怎样,只能仁者见仁了。
  HTML5:HTML5对于移动的支持力度越来越强,iOS5上已经看到了性能的明显提升。当移动浏览器开始介入这些新特性,例如触摸事件和加速度的支持,我对于 HTML5 的前景逐渐看好。当然,你必须处理不同的屏幕分辨率和画面比例,但是这个问题不是只有 HTML5 有。
  Unity:Unity 并不支持移动浏览器上的插件。考虑到 Unity 的强项在于原生移动应用程序的编译,我能理解原因。
  5. 打包与分发
  Flash:Flash 的游戏最终都压缩成一个 SWF 文件。SWF 文件可以简单地通过带有 HTTP 服务的网站进行传输。或者,它可以锁定到一个具体的 URL 上。Flash 游戏的门户网站完全基于 SWF 文件的流动方式。SWF 文件传播地越广,你挣的钱就越多。
  HTML5:对于 HTML5 的游戏来说,没有跨平台或者统一的打包方式。那些最大的游戏门户网站都不允许开发者上传游戏。我认为是因为涉及到安全问题,它们不允许在站点上运行外来的 JS 程序。这就意味着传播 HTML5 游戏的唯一方式就是通过 URL 共享到一个目的站点,或者通过 iFrame 来嵌入。最终,是由开发者或赞助商来为给他们的游戏提供上传站点的主机费用买单。Flash 传播游戏的方式是从站点来取出 SWF 文件,然后 hosting 这些 SWF 文件。这听起来不那么臭名招住,因为这的确是 Flash 挣钱的方式。门户网站可以使用带有沙箱参数设置的 iFrame,但是这样做会阻止 HTML5 游戏需要使用的特性,例如本地存储和表单。
  Unity:Unity 和 Flash 类似,因为它也会最终创建出一个单一文件,然后上传到游戏门户网站,例如 Kongregate。
  6. 安全性
  Flash:SWF 并不完美,但至少它能打包你所有的资源和代码到一个单一的文件,这就需要对它本身的技术很了解或者第三方的软件才能破解它。市场上有很多 SWF 保护服务和代码混淆软件,基本上可以防止随意的黑客和盗贼。
  HTML5: JS 代码可以混淆,但是不能被未加密的客户端加密。在内存中运行时,代码很容易被修改。图形和音频内容极容易被盗,可以通过 Chrome 或者 Firefox 的对象检查器,甚至通过浏览器的缓存文件夹。有人认为有一些保护 HTML5 资产的方式,并且认为 Flash 的资产一样容易被盗用。我不打算进入文件保护的辩论,我只想说,可以用来保护 HTML5 资产的方法都可以应用到 Flash 中。
  Unity:和 Flash 类似。如果什么人有足够的决心来盗取它的资产,他会需要相当多的技术知识。
  7. 货币化
  Flash:有许多很好的方式来挣钱,包括:游戏赞助,在游戏中的广告,与游戏门户网站的收入分成,广告分成,游戏中的交易,雇佣式游戏打工等等。我知道很多开发者完全不需要赞助商,只需要游戏和广告收入分成。网络中有大量为广告服务的 API,只需要简单的上传你的游戏,就可以等到长期收入分成。
  HTML5: 存在一些游戏中的广告服务,也可以把 Google 广告放在游戏中。我还没看到任何 HTML5 的游戏赞助市场或者收入分成交易。在游戏中的交易服务,比如 Fortumo,已经存在和完善。
  Unity:这里我不太懂,也许读者可以补充。
  8. Facebook
  Flash:Facebook 上最流行的游戏都是用的 Flash。The Sims Social 每个月3600万的玩家使用的都是 Flash。新的水果忍者同样使用 Flash,并且会用到 Flash 11 的新特性。绝大部分的 Zynga 游戏也都使用 Flash。之所以会这样,是因为 Flash 的受众,现有的技能(Flash 开发者众多)和简单的开发流程。同时在 Facebook 上可以有很多方式来挣钱,因为它有大量的第三方服务和 API 接口。
  HTML5: 我努力在 Facebook 上寻找最流行的纯 HTML5 游戏。当然肯定会有一些,因此,如果你找到了请帖链接。Zynga 在2010年就收购了 Dextrose,但是我还没看到什么结果。一些公司已经发布 HTML5 游戏到 Facebook 上,比如 OMGPOP 的 Gem Rush,每日用户10人。但是 Gem Rush 只是用了 HTML5 的 API,游戏本身还是 Flash 的!因此我的结论,目前为止,Facebook 上最大的玩家群体还是使用 Flash。
  Unity:看上去 Unity 游戏在 Facebook 上也有一些赢利点。如 UberStrike (每个月83万玩家) 和 King’s Bounty(每个月2万玩家)。只要游戏内容足够吸引人,Facebook 的用户也不方队安装 Unity 插件。
  9. 多少人会玩你的游戏
  Flash:因为事实上,很多桌面用户都连接到互联网玩游戏,所以 Flash 的用户数量是巨大的。一个标准的 Flash 游戏在第一年通常有2-3百万次的访问量。好的 Flash 游戏当然次数更多。我们的游戏 Home Sheep Home 一上线就有每天1百万的访问量,在18个月内已经有1亿的访问量。这是一个惊人的数字。加上 Facebook 巨大的用户群,一定会有成百上千的用户在玩 Flash 游戏,玩家完全不是你的问题。
  HTML5: 老实说,我无法找到任何相关数据,可能这个技术太新了,也没有用它做出来的好游戏。从技术上讲,可以说,潜在的用户可以有10亿,但是究竟事实上能有多少,开发者可以试试。
  Unity:虽然 Unity 官方声明了玩家的数量,但是并没有第三方的统计。Kongregate 上只有总共577000的访问量。而最好的 Flash 的游戏已经有2500万的访问量。事实上,排名前一百的 Flash 游戏没有低于250万的访问量。
  10. 3D 支持
  Flash:Flash Play 11 引入了 Stage3D,它本质上是 OpenGL ES 2.0。Adobe 已经做了一个标准化的工作来实现它,但是也有一大堆注意事项。首先,游戏需要用 wmode=direct 来嵌入。而大多数的游戏门户网站还不支持,所以如果你的游戏放到一个不支持它的门户上,它根本不会运行3D 硬件。其次,不支持 GPU 的黑名单很令人丧气。任何2009年前的驱动程序无法工作;最常见的英特尔 GMAS(板载图形芯片)也无法工作。而在2007年,90%的个人电脑都用了因特尔 GMAS,这是个真正的大问题。当然 Adobe 必须要划一条线,但是 Flash 的吸引力在于它无所谓运行在什么样的硬件上。如果你用了 Stage3D,实际上你已经把巨大的潜在玩家抛弃了。所以必须非常小心的选择这条路,确保你能尽快的回收资本。
  HTML5: 在这里我们谈 WebGL。它和 Stage3D 在技术层面上有很多相似点,但是在很多关键领域有缺陷:不能全屏,没有鼠标捕获(Flash Player11.2 支持),没有多重渲染目标,没有 instanced drawing 等等。在 AutoDesk 的博客上有一片很好的文章说了这些问题。当然这些只是短期内的技术难点,并且最终将可以被克服。WebGL 最大的问题在于 Microsoft 目前的立场是不支持它。Microsoft 不是 WebGL 工作组的成员,而且不支持 WebGL 的任何格式。由于 IE 浏览器仍然有很大的占有率,所以这个不容忽视。
  Unity:Unity 当然支持3D。在有限的测试中,Unity 结果完美。当然你需要安装 Unity 的浏览器插件。但是如果你知道你的游戏玩家足够,那么 Unity 仍然是目前最好的3D 游戏解决方案。Unity 宣称将支持导出 Unity 游戏成 Flash 格式,而且不会有 Stage3D 带来的 GPU 黑名单问题。我真想把钱给 Unity,让他们能够在不远的将来能够把 Unity 游戏导出成 WebGL 格式。
  提示:这篇译文翻译了大部分原文,英文原文后面还有有关“Adobe 将会多久支持 Flash 播放器”和“Flash 游戏开发人员该如何应对”的内容讨论。
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 unity3d插件怎么用 的文章

 

随机推荐