• 游戏引擎浅析


    一般游戏引擎包括如下几个部分:
    周边引擎:
    渲染引擎(OpenGL、Direct),这个用来实际的把三维顶点显示到屏幕
    碰撞/物理引擎(NEWTON、Havok、Bullet、ODE),这个用来检测3d物体的碰撞,并且模拟物体在力的作用下的反映(例如模拟牛顿定律,重力,摩擦力)
    AI引擎(Havok、OpneAI),这个用来实现通用的AI算法,例如最短寻路。
    网络引擎(RakNet),这个用来实现网络相关功能,例如网游、局域网。
    声音引擎(OpenAL、fmod)
    脚本引擎(Lua、python),这个用来实现游戏次要逻辑(MOD作者都熟的)
    输入引擎(OIS、SDL),这个用来封装鼠标、键盘、游戏手柄等输入设备
    2D图形界面(MyGui、OpenGui),这个用来实现游戏里出现的对话框,平面图片,文字等非3D
    粒子系统,比如雨点,烟雾等玩意
    剩下的最重要的就是:
    游戏引擎(Ogre),这个东西不要和广义的游戏引擎混了,广义的包含以上的所有,这个的功能是:
    1、动态加载管理资源(CommonRes里的东西,包括材质、mesh、动画等),并且对资源进行程序抽象(例如在C++里用个类表示每种资源,做一些操作接口)。
    2、场景管理(SceneObj里的场景信息,在程序里用树形结构管理所有的3d物件形成一个场景,有个重要分支是Terrain地形,就是我们打架的那个静态地图部分,动态部分,包括人物、物品等都要通过场景管理器来管理)、
    3、实现一些上层封装,例如程序窗口的回调机制、摄像机(就是玩家视角)逻辑、光源等。

    说白了,资源+周边引擎+游戏引擎(狭义)+游戏主要逻辑(游戏设计者代码)=游戏。
     

  • 相关阅读:
    GUI 之 JDialog弹窗
    GUI Swing 之 JFrame窗体
    GUI 键盘监听事件
    GUI 窗口监听事件
    GUI 鼠标监听事件,模拟画图工具
    shell编程
    Ubuntu20.04 Linux初识
    rlwrap的使用
    5个相见恨晚的Linux命令,每一个都非常实用
    Bash初识与常用命令
  • 原文地址:https://www.cnblogs.com/qiaogaojian/p/5972102.html
Copyright © 2020-2023  润新知