热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

Silverlight2.5DRPG游戏技巧与特效处理:(四)天气系统

如同动态光影一样,天气系统同样为2.5DRPG游戏所不可或缺的元素之一。从视觉角度讲,天气系统让游戏场景空间层次分明,立体感更强;从用户角度讲,天气系统赋予游戏更贴近现实的亲历体验,试想下游

    如同动态光影一样,天气系统同样为2.5D RPG游戏所不可或缺的元素之一。从视觉角度讲,天气系统让游戏场景空间层次分明,立体感更强;从用户角度讲,天气系统赋予游戏更贴近现实的亲历体验,试想下游戏中的花花草草随风而动,云雾缭绕风雨雷电一切来得自然而平滑,玩家即似身临其境般享受;从功能角度讲,不同的气候状况会对角色及魔法效果产生各异影响,极大的提升游戏趣味性。

模拟相对较真实的天气效果,粒子系统必不可少,天气中的雨、雪、闪电、云雾等均可看做是大量粒子的集合。因此首先我们新建一个名为Particle的粒子类,然后再新建天气对象Weather,本节中我为Weather编写了常见的6种天气状态分别为:下雨、刮风、飘雪、雷电、云雾、天惩。每种天气的实现方式大同小异,特别强调随机性及仿真性,重点是把握住粒子的移动轨迹及销毁处理。另外,游戏设计之初天气层的位置就应当确定下来,如果仅仅是想做一些简单的天气效果,比如不随场景移动的雨、雪等,那么只需将Weather放置于游戏窗口中即可;而如果要制作全局性的比如云雾游走、落雷闪电等,则需将Weather放置于场景空间中。当然,一切天气粒子都处于场景空间中效果会最真实,但性能开销偏大,毕竟你要用这些粒子布局填满整个地图尺寸而不仅仅是屏幕宽高。

因此,同时也为了更方便的进行场景特效渲染,我们得清楚的划分好场景各层次及它们之间的关系,我的思路大致如下:

由天气层外搭配上HLSL实现的日夜交替、梦回过去效果,最终使得整个天气状态系统显得尤为真实而丰富。当然,目前Silverlight 4 还无法对HLSL效果进行GPU硬件加速,不过已不远了,毕竟Moonlight前几个月已实现了该功能。本节中的所有天气都包含两种模式:简单/仿真,在仿真模式下天气粒子会被更多的修饰和处理以贴近真实情况,比如旋转、缩放、扭曲、闪烁等,当然性能开销也会大许多。不过,当你感受着分布均匀、远近分明的雨水;随风散落、清新扑面的落叶;零零星星、化作烟尘的白雪;时隐时现、游荡自若的雾霭以及那强烈震撼的闪电雷击时,或许你会觉得这一切都是值得的:

 

 

 

 

 

 

另外,对于内容丰富的天气系统来说若能搭配上相应的游戏属性,效果就更好了。大家完全可以敞开思路,比如下雨时无法施展火系魔法;飘雪时冰系魔法得以加成;刮风时移动速度减慢;云雾天气影响玩家视线;雷电随机照成伤害等等,优秀的设计往往在于能把握住那些易被忽略的细节,一旦被玩家发现并从中探索出新颖的玩法,游戏趣味性及耐玩性将不言而喻。

最后,如果您还希望继续探寻天气系统场景渲染之完美极致,不妨像“天惩”那样为每个着地雨滴制作水波涟漪;为每块触地雪粒制作层峦堆叠;让一切对象因风的撩拨而起舞飞扬。没错,设计的创意就在您的手中,请不要拘束,Silverlight 2.5D RPG从此刻起由您来主宰!

本节源码请到目录中下载

在线演示地址:http://cangod.com


推荐阅读
  • 万事开头难,凡事都有套路,勇敢迈出第一步就成功一大半了。本节将带领初学者们迈出属于自己的一小步。本书的开发工具采用AndroidStudio࿰ ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 《我的世界》Java版种子合集:探索多样世界生成
    本文介绍了《我的世界》Java版中用于生成多样化游戏世界的种子代码。这些种子是由一个或多个字符(包括正整数和负整数)组成的值,能够为玩家带来截然不同的地形和环境体验。通过使用不同的种子,玩家可以探索各种独特的地貌、生物群系和结构,从而丰富游戏的乐趣和挑战性。 ... [详细]
  • 如何在PC上畅玩TC Games的《光影对决》:详细教程与优化技巧
    在PC上畅玩TC Games的《光影对决》不仅需要正确的设置,还需要一些优化技巧。本文将详细介绍如何在PC上流畅运行这款游戏,并提供避免卡顿和优化体验的方法。《光影对决》的一大亮点是其优秀的移动机制,玩家无需担心在极限走位时被墙壁卡住,游戏会自动调整路径,确保顺畅的操作体验。此外,我们还将探讨如何解决偶尔出现的切换问题,确保游戏过程更加稳定和愉快。 ... [详细]
  • CAD中外部参照图框的命令与应用技巧 ... [详细]
  • 首个水风险评估工具正式上线,百余家机构呼吁共同关注水资源安全
    首个水风险评估工具正式上线,百余家机构呼吁共同关注水资源安全 ... [详细]
  • 最新消息显示,苹果即将发布的新一代iOS系统可能将集成先进的3D地图功能。这一创新技术由C3 Technologies公司开发,曾在今年3月被TechCrunch报道。用户可以通过该功能获得更加真实和沉浸式的地图体验,包括详细的建筑物模型和街景视图。视频演示展示了其卓越的视觉效果和交互性。 ... [详细]
  • 如何在Python中配置库并创建可视化对象:详细指南与实践步骤
    本文详细介绍了如何在Python中配置库并创建复杂的可视化对象。通过具体的实践步骤,读者将学会利用Python的强大功能来实现高度定制化的数据可视化,特别是在PowerBI环境中,Python能够显著提升可视化的灵活性和表现力。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 通过手机获取的GPS坐标在手机地图上存在约100-200米的偏差,但在Google Maps中搜索同一坐标时,定位非常精确。这种偏差可能出于安全或隐私考虑而被有意引入。此外,不同设备和环境下的GPS信号强度和精度也会影响最终的定位结果。 ... [详细]
  • 王者荣耀如何设置手机定位?详细教程与技巧分享 ... [详细]
  • POJ3669题目解析:基于广度优先搜索的详细解答
    POJ3669(http://poj.org/problem?id=3669)是一道典型的广度优先搜索(BFS)问题。由于陨石的降落具有时间属性,导致地图状态会随时间动态变化。因此,可以利用结构体来记录每个陨石的降落时间和位置,从而有效地进行状态更新和路径搜索。 ... [详细]
  • 经过短暂的休整,我们再次推出新的小程序功能,进一步提升用户体验。现在,小程序页面不仅支持放置转发按钮,还新增了长按快速转发的功能,让用户能够更加便捷地分享页面内容。这一更新将为开发者提供更多创意空间,同时也大幅提升了用户的互动性和使用便利性。 ... [详细]
  • SRM 553:深入解析供应链管理系统的最新进展与应用本文详细探讨了供应链管理系统(SCM)的最新发展及其在实际应用中的影响。通过对当前技术趋势的分析,文章揭示了 SCM 在提高效率、降低成本和增强透明度方面的关键作用。此外,还介绍了几种创新的 SCM 解决方案,如区块链技术和人工智能的应用,以及这些技术如何帮助企业更好地应对市场变化和挑战。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
author-avatar
冠臻祥勇8522
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有