小序

毕业设计终于接近尾声了,一个周末都没有继续写代码,正好有一个经验分享,所以把PPT的总结报告转写成一篇blog,希望得到高手们的指点。同时也希望能给还在读书的师弟师妹们一些建议和启发吧。同时,也是对自己这半年来成长的一个总结和记录。希望以后能够在工作岗位上继续努力,继续进步!

目前先转写前两部分的内容,图比较多而且直观,明后天再继续转写重头戏: 开发流程

最后,部分有价值的图形技术考虑分别写博来总结一下,主要是对技术的一个总结吧,还有也是希望对还在读书的师弟师妹们一些启发。

本文目录

图形特性

模块划分和文件夹结构

开发过程

用到的一些开源库介绍

图形特性

图形特性上,本打算做真实感渲染的,可惜资源制作能力太缺乏了,所以最后还是选择了 NPR非真实感渲染。

不过在图形技术上还是使用了Shadowmap,SSAO,DOF,延迟渲染等现代真实感渲染技术,锻炼了自己的图形开发能力,同时也算是将这些特性很好的和NPR结合在了一起。以下会对每个图形技术配图并附上简单的说明,具体实现可能在以后会抽时间一个一个的记录在博客园上(毕竟毕设完成以后,业余时间就空闲出来了~ 闲下来的时候写写技术实现同时巩固巩固技术~)

淡彩手绘效果

下面是几张目前的游戏截图:


游戏视点1: 180fps @ Nv 9800GT | 1000 x 563 pixels


特写1

深度+法线通道的卡通边缘检测

同时使用深度和法线通道信息来计算边缘贡献,得到高质量的描边结果。这是我们决定的NPR效果中最重要的一个功能。

SSAO

提供了downscale,默认是使用halfSSAO,来提升性能。采样方式采用随机球面采样,来取得噪点和平滑的遮蔽阴影。

后处理贴花

后处理贴花是制作后期的美术需求。在场景中投射一定数量的贴图,来丰富场景表现。后处理贴花的优势在于不消耗DP,与场景复杂度无关。

软阴影处理

同时实现了PCF和Jittering方式的阴影软化,Jittering方式是目前最流行的高性价比阴影软化方案

TimeOfDay

以设置时间来改变太阳光的角度,阴影浓度,环境光颜色,实现简单的昼夜效果

swf 3DGUI

实现了flash制作GUI层,在游戏中3D呈现出来并提供交互功能,交互代码可以直接编写在as3脚本中,与cpp互调函数通信。

模块划分与文件夹结构

这里粗略的分析一下目前游戏的模块划分和文件夹结构,具体的细节和设计思路以后可能也会单写blog总结。

模块的划分总体说来有点过度设计的味道哦,目前发布版可执行文件夹的结构如下:

Vektrix库及所需插件

游戏系统模块

GameSystem模块,游戏系统

gkBase模块,客户端服务器的公用信息模型

gkEngine内核模块

vtxUI模块

gk工具模块,通用工具集

gk网络模块,基础通信结构

gk输入模块,键盘鼠标手柄控制

gk核心模块,核心渲染模块

服务器和客户端exe

其他库:Physx物理库,CrashRpt库,cairo图像处理库

下面是目前的开发文件夹结构:

Exec:发布文件夹

游戏数据(地图,关卡)

Debug程序

资源文件(材质,模型,贴图,swf)

Release程序

INTERMEDIATE:中间文件夹

Lib:库文件夹

maxSDK文件夹

Project:工程源码文件夹

Solution:解决方案

ThirdParty:第三方工程

待续!

转载于:https://www.cnblogs.com/gameknife/archive/2011/04/25/2025663.html

毕设开发总结-3D游戏框架及网络对战游戏的开发(1)相关推荐

  1. python什么框架写游戏好_免root修改器框架,免root框架大全,游戏框架免root:《游戏框架》 用python做游戏用什么框架-南开游戏网...

    <游戏框架> 用python做游戏用什么框架 2020-11-25 17:37:36 广告 游戏作为一种分类框架 一个好的网计作品就必然有一个号的网页,那么我们来分析一下,在网页设计过程中 ...

  2. [内附完整源码和文档] 基于Qt5的国际跳棋双人网络对战游戏

    一.软件用途 本软件是一个国际跳棋小游戏,使用Qt5编写,实现了国际跳棋游戏的双人网络对战版,以及任意局面的输入功能. 二.运行方式 安装Qtcreater之后,将源代码拷贝至本机并运行Qtcreat ...

  3. web游戏框架有哪些?_h5游戏开发引擎推荐

    随着浏览器功能越来越强大,在网页端实现各种小游戏已经是家常便饭.微信小游戏出现后,游戏(特别是小型游戏)的开发已经进入了一个相当火爆的时期.那么作为一个普通的前端开发者,如何取选择一个合适的手游平台开 ...

  4. 专注二次元MOBA游戏的跳跃网络赴美上市 中小游戏厂商还能突围吗?

    说到MOBA游戏,大多数情况下人们所想到的都是iG刚刚夺冠的<英雄联盟>,或者是国民级手游<王者荣耀>.但是实际上MOBA游戏非常丰富,早就有各种细分领域被各家厂商所发掘.其中 ...

  5. 目前大部分的游戏框架_简单的Windows游戏-第1部分:游戏框架

    目前大部分的游戏框架 我已决定使用C#和WinForms创建一个简单的Windows游戏,从而得出一系列见解. 还有其他方法可以完成此任务,但我选择了使事情保持简单并演示如何制作游戏的方法. 经验丰富 ...

  6. Java swing + socket 写的一个五子棋网络对战游戏

    自从开始接触Swing以来,就喜欢写写各种管理系统,写多了就萌生了一种类似于实时在线对战的游戏,经过一番构思后就开始着手设计这个网络对战版本的五子棋了. 游戏代码包含两部分,常规的C/S模式(C代表客 ...

  7. 计算机4个数字游戏怎么玩,网络回合制游戏怎么玩 神武4电脑版属于回合制吗

    在那个用电脑玩网游的年代,网络回合制网游一直是不可或缺的重要组成部分,回合制这一模式来源于桌面游戏,电脑游戏的雏形即来自于此.回合制网络游戏节奏较慢,玩家可以有大把的时间用来聊天:回合制游戏操作简单, ...

  8. 网络对战游戏开发 从零开始(一)

    效果以及结构如图: 主要技术要点:运用Photon技术实现网络部分,界面用photoshop运用一些高斯模糊.描边.内外发光.渐变叠加实现如图的效果,运用异步加载场景. 加载动画运用粒子特效. usi ...

  9. unity实现网络对战游戏

    1.课设作品需求分析.. 1 2.课设作品详细设计.. 1 3.课设作品编程实现.. 1 3.1场景搭建... 1 3.2角色控制... 1 3.3游戏UI设计... 1 3.4添加声音... 1 3 ...

最新文章

  1. 常见的http状态码总结。
  2. JavaMelody+Spring+struts2配置详解——系统监控
  3. 推荐一个Android Studio很实用的插件android-butterknife-zelezny
  4. SAP UI5 应用开发教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解
  5. 如何调整SAP HANA studio里的字体大小
  6. 云南计算机专业知识真题,2014年云南省事业单位考试专计算机专业知识模拟真题.doc...
  7. linkerd mysql_Linkerd和k8s无法正常工作
  8. 并发编程(六)并发容器
  9. Python学习笔记(正则表达式)
  10. 搜索引擎中影响索引长度的因素
  11. gds文件 导出_RSoft CAD新的导入/导出GDS档案方法
  12. 偏微分方程数值解法python_微分方程数值方法和偏微分方程有什么区别吗?
  13. mac pdf去水印_Acrobat XI PRO/DC 2019 PDF编辑转换器去水印 WIN/MAC
  14. 桥水基金:对中国股市自上而下的分析
  15. React中关于props的那些事
  16. 【解决方案】国标GB28181视频监控平台国标流媒体服务器EasyGBS如何实现安保行业日常巡查视频监控系统解决方案?
  17. 认识计算机选题背景,与计算机专业相关的论文_计算机专业的毕业论文题目有哪些_大一我对计算机的认识3000字论文...
  18. 一、熟悉新闻推荐系统基本流程
  19. 创业者面对困难-不轻言放弃
  20. #238 蔡老板分果子 [哈希 or DFS序]

热门文章

  1. C 库函数 - atoi()
  2. 如何在linux系统下对文件夹名有空格的文件
  3. C++ IO类(3) 文件流
  4. [转]C++中sleep()函数的使用
  5. C++11与设计模式的交流
  6. 使用MessageFormat格式化数字,日期
  7. Python 标准库 urllib2 的使用细节
  8. Django基础核心技术之Model模型的介绍与设计
  9. Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
  10. xml.modify() 实例演示(二)