Unity开发Pc单机游戏硬件码注册实现分享

前阵子写的一个单机注册插件,看Unity群里有朋友要求共享,就整理了一下,发到这里共享给大家.本程序相关代码用易语言黑月编写.我觉得什么工具不重要,重要的是能得到结果.是吧.

可以实现的效果如上图,功能包含单机硬件码注册,试用时限限制.取的是客户机的CPU码作为硬件码.经过打乱后显示给客户端的RegBox.exe,客户将硬件码提供给作者,作者利用算号器Keygen.exe算出符合该硬件码的序列号再发给客户,客户打开客户端注册程序RegBox.exe,输入序列号,将信息存入客户机(含有软件到期时间),此时不做验证.当运行Unity游戏时,验证序列号是否正确且验证是否超出试用时限.不同状态有不同返回值.方便作者在Unity中做响应.

在压缩包的BuildExe目录是已经编译好的文件.默认情况下在Unity中直接调用CheckAppSn.dll处理判断,分发时附上RegBox.exe既可.但如果想更改序列号计算方式以免与其它同样使用这个插件的作者重复的话.你可以自行修改计算方式.这个也非常简单.

本插件dll及exe源码需要易语言+黑月打开.黑月工具下载地址(http://www.basic8.com.cn/post/1.html),修打开RegDll.e及Keygen.e代码,修改里面入下图部分既可.其中类似1234567这种数字都可以随意修改,相当于加密密钥.保证Regdll与Regbox中一致就行了.

本插件也包含了注册时间限制,默认是限制软件只有三个月试用时间.如修改时间长度需要打开RegBox.e代码后修改如下部分.

如果不需要时间限制这个功能,可以打开Regdll.e源码,注释掉如下判断段既可.

附件的Project目录中是Unity调用插件的项目文件.E_Code目录是插件的易语言源文件.

ps:如提示有病毒,基本可以忽略,易语言被误杀是历史遗留问题.不是我能解决的.呵呵.

附件:
本地下载:点击下载此文件
镜像下载:http://u.115.com/file/f03b46cacd

预定Unity Android,赢取Google Nexus One手机!

今天Unity在一份新闻稿中很确定的发布了一个好消息,就是关于Unity将要支持Android系统的游戏开发并很快要发布.现在不仅能预购Unity Android Pro许可,如果你是预定的前500个人,你还将获得Nexus One手机一部!

下面这是新闻稿的链接:
Unity开放Unity Pro for Android预购!
http://www.marketwire.com/press-release/Unity-Technologies-Opens-Pre-Order-of-Unity-Pro-for-Android-With-Sweet-Deal-1281306.htm

关于预购:http://unity3d.com/unity/coming-soon/android

如果你想预购它,也想抢到手机的话,猛点这里吧:
到Unity商店!

感受"海豚湾"

好像天天都在为工作忙着,不分上班下班,对着电脑,不知所谓的胡乱敲打着键盘.

今天休息了,好像近年来都很少有舒舒服服的睡自然醒了,如果得知没事.我会选择睡的天昏地暗,选择一个非常大空地儿的地方,四仰八叉的绝对放松躺在那里.

上午看了一部纪录片,名字叫”海豚湾(The Cove)”,本来挺说类型纪录片,基本不会看的.好像会觉得没意思.昨天给iPad找片源,就下了它.看完后,我不由自主的发出这片子真不错!片子中所描述的海豚湾所在地,无论是城市和人,都令我更加的讨厌了.看当地阻止者的形态表情,真是在当场就能想揍他一顿的想法.中途有几次非常感动,人们为什么要吃海豚?还堂而皇之的说出什么理由来给自己捕杀海豚做正当铺垫?可恶.

非常推荐大家去看看这部纪录片.真不错!

百度百科介绍:http://baike.baidu.com/view/2495388.htm?fr=ala0_1_1

分析CCTV5直播世界杯的3D效果是如何实现的

  昨天CCTV5《豪门盛宴》在解读2010年世界杯的时候,在节目现场展示了虚拟技术合成的3D南非世界杯各个球场,而且可以随着镜头的变化发生视角和纵深的变化,今天看到网上很多人对这个技术很感兴趣,暂时还没有人出来具体解释这种技术,我在这里就大胆抛砖引玉,把我2004年时候做的研究生项目拿出来解释一下原理,虽然时隔6年,各种技术,从互动程序到3D合成和电视播出,都比2004年要先进太多了,但是他们实现的基本原理还是相似的,我就大胆揣测一下吧。

  基本来说,这种技术的名称是AR(Augmented Reality),也就是“增强现实”。AR(增强现实)与我们都很熟悉的VR(虚拟现实)的区别就在于,VR是“脱离”现实场景的,而AR是在真实场景上增加虚拟内容。

  AR技术的应用从2000至今,还在不断探索和实验中,目前还没有出现所谓的Killer App,所以也就没有被广泛应用。至今为止,最具有实用意义的应用,应该是某家汽车品牌的专家级工程师所使用的AR 电子说明书,简言之,就是工程师戴上HMD(head mounted display)设备,通过HMD上的透明显示器,可以观察到现实中的汽车配件的各个细节(用肉眼也能看见的那些),同时,HMD上会根据所观察的零件不同,显示出该零件的一切数字化信息,这样,工程师就不需要爬到山一样的文档中去查找这些信息了。用电脑搜索不也是一样的吗,为什么要用AR?很简单,因为并不是所有的零件上都有标号可以查询,面对一个光突突没有任何标记的螺丝帽,用电脑也无济于事,而AR技术是可以识别的。当然,这是一个高级的例子,言归正传,《豪门盛宴》中所使用的AR技术并没有这么高级,而是像我当年做的那种最初级的技术。

  下面我们来看一下AR的原理,由于我太懒了,所以拿一段很早以前写的解释直接放上来,先看个大概,后面还有分析:cctv5豪门盛宴中的AR技术

  最终呈现在屏幕上的效果类似于这样:

  看过上面的原理,你就知道AR的几个基本设备了:

  1.摄像头-用来捕捉标记图案

  2.可识别的唯一图案

  3.现实设备

  4.当然所有这些设备都需要连接到运行AR toolkit的电脑上

  这些都完成之后,摄像头就可以自由活动了,合成的3D内容(静态模型或动画都可以)也会随着摄像机镜头的活动而活动,当然视角很重要(当年为了把视角调教一致,我就花了1整天时间)。

  cctv5南非世界杯《豪门盛宴》中的3D虚拟球场就是这么实现的:

  用于识别的图案极可能是这个,或者部分:

  图案识别后,合成任何3D模型和动画都可以,还可以与3D内容互动(需要类似电子手套或鼠标之类的输入设备):

  最后,主持人走入3D球场区域后,可以看出cctv5世界杯豪门3D盛宴虚拟球场技术使用的是AR技术,而不是别的什么新技术,所以现场观众什么都看不到。

赛百味授权的iPhone游戏-倔强的摩托上线,排名国内第一!

为赛百味开发的iPhone游戏终于上线了,最终是以free形式上线.
应客户要求游戏名称只有中文”倔强的摩托”以及中文的游戏介绍.不过是面向全球发布.短短5天就杀到中国区免费排行榜第一名,令我十分兴奋.出乎我意料,我想如果是英文名称及英文介绍,其他国家区也应该能排上一些名次吧.

希望在第一名能保持长久一点.

不过令我不爽的是那些恶评,感觉根本不是正常玩家所评论的,反而觉得是对手或者专门干这种勾当的人所为,我认为即使游戏再烂,也不至于这样的恶评.具体内容就不发在这里了.反正觉得不是正常人干的事.鄙视一下.

这是现在在App Store中的排名截图.第一哦.呵呵.

游戏中加入了很多新技术(对于我自己而言),也突破了很多,像网络高分榜,网络优惠券兑换都是第一次开发,且整个App都是在Unity下完成,没有借助其他高分榜服务.目前状况良好.

玩家通过花式跳跃得到分数,冲入高分榜的同时也会得到相应的优惠券,可以到实体赛百味店兑换吃的呢.赛百味官方每月也会从高分榜中选出第一名,奖励150元的大礼包.这么好的事还不赶快试试?!

这是从游戏上架到现在这几天的下载量,上升的很猛哦.嘿嘿.

iPhone版下载:
http://itunes.apple.com/cn/app/id375662934?mt=8
http://itunes.apple.com/us/app/id375662934?mt=8

网页版试玩:
http://www.subway.com.cn/iphone

希望在排名继续坚挺!哈哈.

欢迎合作!

Maya烘培入Unity教程

1,给你的模型打上你需要的灯光,添加贴图材质等等..

2,渲染你的场景,比如用Mental Ray,你喜欢用什么就用什么.

3,选择所有物体并使用”Mesh->Combine”命令.然后给这些物体打开”Create UVs->Automatic Mapping”,进行展UV操作.打开”Window->UV Texture Editor”并检查用于烘培的新的UV.

4,切换到”Rendering”工具栏,并且确保你要渲染的物体是被选择的,打开”Texture/Lighting->Batch Bake(mental ray)”对话框,并用如下的设置,然后点击”Convert and close”:

Objects to bake: Selected
Bake to: Texture // IMPORTANT
Bake shadows: checked // IMPORTANT
Keep original shading network: checked // IMPORTANT
Use bake set override: checked // IMPORTANT
Color mode: light and color // IMPORTANT
Normal direction: surface front // IMPORTANT
Prefix: myLightmap // IMPORTANT this will be the filename of the lightmap TIFF, pick a name you like
X resolution: 2048 // depends on the size of the object usually 2048 is plenty, try various values
Y resolution: same value as “X resolution”
File format: TIFF // others work to as long as Unity can import them
Bits per channel: 8 bits // IMPORTANT
Number of samples: 1
Bake to one map: checked // IMPORTANT
UV range: Normal [0 to 1] // IMPORTANT, other settings lead to distorted maps
Fill texture seams: 3 // IMPORTANT, this is the bleed area in pixels around each UV shape to avoid jaggy edges later in Unity
Override mesh UV assignments: checked
UV set name: Lightmap

5,Maya将帮你渲染出Lightmap(根据你设置的分辨率和渲染选项不同可能消耗比较长的时间),这个图不会在Maya中显示,这个文件看起来会像下面这种:

9,保存场景和切换到Unity,找到Lightmap并导入到Unity中.默认路径”user/[your username]/documents/maya/projects/[maya project name]/renderData/mentalray/lightMap/[prefix].tiff”,选择你的模型,更改材质为”Lightmapped”,并将tiff格式的烘培图文件赋予给它,搞定!

原文:http://forum.unity3d.com/viewtopic.php?t=9606
威阿翻译,转载请注明来处1Vr.Cn

多维材质模型烘培入Unity教程

1,这里我有两个对象(装饰物和沙发),你能看见,一共有8张贴图(7张装饰物的贴图,一张沙发贴图).

2,展UVW设置通道为1并点击保存.

3,用第一个通道的UV来展通道2的UVW.

4,打开烘培图选项,选择”Output into Source”和”Keep Baked Materials”,这个选项将自动更新你原来的材质球而且不使用壳材质.点击”0″键打开烘培窗口.

5,效果如下:

6,按下M键打开材质对话框,查看新烘培的材质,在”Self Illumination Slot”中你能看到现在是Lightmap图.导出为Fbx文件.

7,打开Unity并且导入这个模型因为3dsmax中用了8张贴图,所以Unity将给模型赋予8个材质,lightmap贴图不能随着到如今来.手动从3dsmax文件夹导入光影图.名字是模型名与Lightingmap结尾.本例中有2个烘培图,分别是sofaLightingMap.TGA, and wallLightingMap.TGA.

8,将我们所有的材质都赋予好,现在改变默认材质为”Lightmapped”.我选择”Lighmapped/VertexLit”,然后把对应的烘培图赋予对应的材质.

9,好了,烘培图放置正确!效果还不错吧!

原文:http://forum.unity3d.com/viewtopic.php?t=24665
威阿翻译,转载请注明1Vr.Cn