在大学参与的项目《虚拟铁路》(My Project In College – Virtual Railway)

Posted by fangsunjian on August 13, 2012

参与时间:2010年

本项目也是基于3D图形引擎OGRE制作的虚拟铁路系统。包括GPS数据处理,3D场景虚拟,UI指示,Flash播放,视频播放多媒体呈现方式为乘客提供列车相关信息,周边信息。同时为列车调度提供便利。与上次一样,小组的比赛,包括架构设计,需求分析,系统测试,项目管理4个角色,除了程序以外,还产生了大量的文档。

想想这还真是一段相当难忘的经历啊。为了这次的比赛,导师还专门把我派去上海铁路通信工厂的地方去实习了一个暑假,大二就跑出去实习什么的实在是很难得啊,多亏了这次实习我是提前体会到了职场的辛苦,果然还是做学生最好了。团队的同学都是我在大学里关系最好的几个朋友,每天出来开会,讨论,去南京参加比赛,等等经历的重要性远超制作程序本身学到的技术知识。

本项目参加了2010年全国软件创新大赛,获得全国二等奖。

使用技术:

MFC

OGRE

CEGUI

Adobe Flash

MCI

ADO

以下是部分截图:

Idrive Virtual Railway

 

Virtual Railway

Idrive Virtual Railway

开发中的:

Virtual Railway

Virtual Railway

Virtual Railway

文档中还有大量的系统结构图,流程图,等等其他图表,这里没有Visio,图就不放了。

 

Topics: Virtual Reality | No Comments »

在大学的项目《虚拟商城》(My Project In College – Virtual Shopping Mall)

Posted by fangsunjian on August 10, 2012

参与时间:2009:

本项目是基于虚拟现实技术(Virtual Reality)的网络在线3D虚拟购物系统。

这个项目是我受邀与学长们参与的项目。参加了2009年全国大学生软件创新大赛。整个项目从开始立项到制作完成大约花了3个月的时间。光是项目文档就有几个M。主要分图形,网络,数据处理三大模块,图形部分又分3D和UI,每一个模块拿出来都算是一个不小的独立项目了。立项的时候这么说了,以网络游戏的制作技术为基础制作本项目。当时试用了好几个图形引擎,包括irrlicht,ogre好几个引擎。我在大学1年级的时候就玩过OGRE,所以对这个引擎还是有不少心得的。于是后来加入了团队。说实话,这个组合当时在网上查了下非常流行,很多像我们这样的团队或者个人都拿出这样一套方案来做项目。估计大家在评估了各家的开源技术以后发现这个是版权问题最好解决,国内文档最多的组合了。

使用技术:

Graphic:

OGRE(Open Source 3D Graphics Engine)

CEGUI(Crazy Eddie’s GUI System)

Network:

RakNet

Data Storage:

TinyXML

MySQL

以下是截图:

Virtual Shopping Mall

Virtual Shopping Mall

Virtual Shopping Mall

Virtual Shopping Mall

Virtual Shopping Mall

Virtual Shopping Mall

 

 

Topics: Virtual Reality | No Comments »

关于以前博客的内容(something about my old blog)

Posted by fangsunjian on July 29, 2012

内容摘自archive.org

至于补全博客上所有的内容难度还是非常大,决定就写几篇简单的介绍文好了。

1 captures
22 Jul 11 – 22 Jul 11

Close
Help
fangsunjian 的个人博客

游戏开发 DirectX/HLSL XNA

Home
六月 5th, 2011
布娃娃系统(Ragdoll)

fangsunjian in RedEngine
HEY,YOU!DO NOT TRY TO ESCAPE!BOOM!

ENEMY DOWN….

这个就是今天的重点–布娃娃系统(Ragdoll)。在FPS/TPS之类的射击游戏中,一个很重要的游戏评价指标就是是打击感与物理动态效果。

在这里我用的是physx物理引擎,物理功能支持非常全面。joint的支持很到位,这里大量使用了dof joint。直接从骨骼动画模型生成的布娃娃(Ragdoll),逼真的模拟一个人倒下的全过程。也会考虑“鞭尸”之类的设定。
ragdoll,布娃娃

这一章是人物倒地后的效果。这里要注意的问题是骨骼的扭曲程度不能过于夸张。

下图是连接上PhysX Visual Debugger以后看到的人物物理元素。
ragdoll in PhysXVisualDebugger

这里顺便推荐一本好书–《Character Animation With Direct3D》

这本书详细的介绍了游戏中主流动画的制作方式,包括骨骼动画、变形、面部表情、口型模拟、布娃娃、毛发动画和其他一些主流的人物细节表现手法。书中在物理学一章介绍布娃娃的时候用的是bullet物理引擎。

而在PhysX SDK 里面也有一章介绍joint的时候给了一个非常漂亮的布娃娃。不过那是手工拼装起来的,在实际应用中对于直接导入的骨骼还是应该有一套自动化的系统。

no comment
五月 20th, 2011
动态模糊(Motion Blur)

fangsunjian in RedEngine
很早以前,看到动态模糊(Motion Blur)的效果,一直以为只是个posteffect。真的做起来才知道还是靠顶点间的差值进行texcoord的偏移。
directx10下由于有GeometryShader,不用渲染Velocity贴图,直接把差值通过GeometryShader构造出来,速度会快不少。directx sdk里面的例子还是有些地方不敢苟同,在处理alpha(这里是模糊边缘的alpha)的时候后面的物体会影响到前面的,看起来很不真实。好多年前的技术了,总之先加入引擎再说。
motionBlur,动态模糊

由于引擎是延迟着色的架构,在这里渲染顶点差的时候没有带贴图,只要两张Velocity就好。
查看完整版 “动态模糊(Motion Blur)”

no comment
五月 16th, 2011
容积光(Volumetric Light)

fangsunjian in DirectX, RedEngine
最近把容积光(Volumetric Light,GodRay)加入了引擎。原本是NVIDIA在GPU精粹(GPU Gems)上刊载的技术。当年看到的时候第一反应是这个效果很像Direct SDK里面给的ShadowVolume。可以从中直接看到被阴影覆盖的范围。不过VL是个post效果。效率会高一点(只是这样说说而已,ShadowVolume用的是stencil buffer,早期的硬件功能,做起来也很快。VL还需要针对每个像素进行迭代,进行illuminationDecay的计算)。
VolumetricLight,容积光

由于容积光是需要一副背景,一副带黑的前景,在这里天空盒就是背景,除此以外的物体都是前景。
查看完整版 “容积光(Volumetric Light)”

no comment
五月 14th, 2011
RedEngine图形简介(1)–HDR,DeferredLight,Softshadow,SSAO

fangsunjian in RedEngine
这个RedEngine是我自己正在写的游戏引擎的名字,开了新博,就在这里放出来几个截图。介绍一下其中的几个特效。

测试场景是自己在3ds max里面画的。人物、动画、天空盒(skybox)都是一些教程里找来的。

这是一个延迟着色的引擎(deferred shade),渲染流程是以MRT将所需贴图先渲染至Gbuffer,再进行下一步的处理,当然考虑到还有软粒子(soft particle),深度贴花(decals)之类的预先需要深度贴图(depthMap)的渲染技术,depthMap考虑需要独立出来渲染。

首先是diffuseMap:
diffuseMap

单纯的将贴图画到屏幕上。

这一张是带diffuse+HDR的截图:
diffuse,HDR

可以看到场景已经被调亮了。后面的天空盒是HDR格式的贴图,颜色精度很高。

这里用的HDR在tonemap的时候有自动曝光的效果(AutoExposure),过滤的时候是模糊过滤,前段时间玩孤岛危机2(crysis 2)的时候发现crytek在高亮的地方加了一个横向的filter,看起来感觉非常棒。我准备回头也加一个。
查看完整版 “RedEngine图形简介(1)–HDR,DeferredLight,Softshadow,SSAO”

no comment
五月 13th, 2011
2010年全国软件创新大赛经验心得

fangsunjian in 我的生活
这次2010年的第三届软件创新大赛历时半年。终于在12月的寒冬中落下帷幕。在此我想把这次比赛中和队友及老师在一起美好的回忆与比赛中的艰辛,努力过程,项目中的经验记录下来。

此次参加比赛的队伍是由我、其他三人、及指导老师成的。当时组队的情况大概是这样的——由于我在前一年2009年的软件创新大赛的时候跟学长们一起参与过比赛,有比赛经验,而且编程能力较强,也在社会上接手过实际项目,李巍宏也是一位技术非常强的同学,我们平时就会在一起交流研究,所以开始就由我跟李巍宏牵头找到了其他两位组员。这里我先做一下自我介绍,我一直是对计算机充满热情的人。对与电脑相关的一切都很感兴趣。自己学了不少的知识,参与过大大小小不少的项目。近年来对实时图形学非常感兴趣(这也为我们这次的项目增添了几分成功的把握)。由于各种原因,队伍组建之初我就当上了组长,这其中也获得了不少的经验。

忘不了当时第一次全组一起开会讨论的情景。因为从那时开始,我们的队伍就算是正式组建,开始活动了。当然,最初的目标就是全国第一。那个时候我们开始选题,一个人考虑题目是十分不现实的,当然几个人坐在一起空想也是不会有太大结果的,我当时仅凭自己的一些经历,自己的一些想法,提出了建议(最后没有被采纳)。最后一致决定找学校里的老师,跟老师们一起讨论选题,一定会有更好的结果。于是过了两天我们一起找到了廖老师。我上一次参与的是3D的项目,自己又对图形学特别有学习,结合数字铁路的建设又是铁道部2010年的头号创新发展方向。我们针对比赛的要求,以及个人的能力。选择了这个3D数字铁路的项目。在此还得再次感谢廖老师给了我们这么好的建议。在这一年的夏天介绍我去上海铁路通信工厂单位以采集数据为名进行了为期一个多月的实习。
查看完整版 “2010年全国软件创新大赛经验心得”

Topics: Life | No Comments »

喜迎搬家

Posted by fangsunjian on July 21, 2012

最近到了日本。又准备重新将博客开业了,原先page rank 1的好成绩估计早丢了。现在全部重新来过吧。

今后会陆续把原来的文章补起来。

原先在国内图便宜,淘宝上找的合租,结果吃了大亏,吃一堑长一智,这回宁愿贵一点,希望能比原来的放心。

顺便发发牢骚,唠叨一下原来买东西的悲剧经历。

原本是图便宜。跟别人买合租,主机是dreamhost的,环境倒是不错。不过问题是合租没有面板,连控制都不好控制。结果没两天卖家拍拍屁股走人,顺便把ftp密码全给改了。所有的数据都备份不出来。只好眼巴巴的望着过期。可气的是居然卖家在主机过期后又莫名其妙的出现了。又开始来圈钱,转移一个域名都要收不少费用。奸商确实不少啊。PS:好在我当时把域名管理的密码改了。否则现在连域名都找不到。

所以在此总结一下经验:

1.首先要问好是不是合租。有没有控制面板。(这是我吃亏的理由,一般各位不会遇到这种问题吧。)

2.如果你在淘宝或者别的什么地方让别人给你买,你就要特别注意了。因为很重要的理由是你不是直接支付人,回头想续费很困难。

3.一定注意要经常备份。这样无论遇到什么问题都好解决。在数据面前钱什么的根本不重要。更何况只是几百的小钱呢。

 

Topics: Life | 11 Comments »

« Previous Entries