【发布时间】:2018-07-02 02:28:32
【问题描述】:
我之前在 gamedev exchange 上发布了这个问题,但它被标记为离题。我不确定如何编辑问题以使其更符合主题,所以我认为这可能是最好的?问题已按原样粘贴在下面。我不是想引发讨论。如果您有任何建议,请告诉我如何改进这个问题。
我正在使用 OpenGL 开发一个 3D 场景渲染器,并且出于以下几个原因,我真的很想实现一个调试控制台:
我认为它对开发有帮助,所以越早实施越好。知道如何实施似乎是一个非常有趣且强大的功能。
我很难找到很多关于此类控制台如何工作的好材料,我很抱歉,因为这很可能是由于糟糕的 google-fu 造成的。我确实发现这个问题似乎很相关,但是 - 我很可能是错的 - 我不确定它是否在讨论我正在寻找的东西。我正在寻找一个非常强大的控制台,它可以执行带有参数的命令,这样命令可能具有多个级别的深度,例如可能存在以下命令:
- [相机设置位置]:将相机位置重置为 0,0,0。
- [camera set pos -3 2 5.5]:将相机位置设置为 -3,2,5.5。
- [摄像机设置剪辑 0.1 1000]:将摄像机近剪辑设置为 0.1,将远剪辑设置为 1000。
- [camera set clip far 1024]:将camera far-clip设置为1024。
- [新对象]:向场景中添加一个新对象,但不确定用户应如何输入属性和组件属性,因为这些列表的长度是可变的。例如,用户可能只是附加一个位置并将默认对象添加到场景中,或者他们可能会指定网格、纹理、着色器等。
- [new light 3 2 1 0 255 0]:在场景 3,2,1 处添加绿灯。显然,灯光还有更多属性。
- [new light 3 2 1 Purple]:在场景 3,2,1 处添加紫色灯光。
- [object set texture fancy_image.png]:将场景对象列表中名为“objectname”的对象的纹理设置为“fancy_image.png”。
抱歉,命令列表很长;我想彻底了解我感兴趣的命令类型以及我希望这样的控制台拥有的功能。我不确定的其他一点是,这甚至应该是引擎功能还是特定于游戏的功能?或者这无关紧要?我在我的大学课程中简要研究了命令模式,但对于我正在寻找的系统类型来说,它似乎非常僵化且不够灵活。我是不是完全误解了?
感谢您在此提供任何帮助,并提前致谢。
【问题讨论】:
-
谢谢。我做到了。如果有人可以帮助我编辑它或具体解释为什么它是题外话,我将不胜感激。有一个与 r 相关的小型帮助中心部分
-
对不起,我在手机上,我的黄油手指发布得太早了!我要说的是有一个小的相关帮助中心部分,但它并没有为我提供太多帮助。 “如果您认为问题可以改写以适应范围,请考虑编辑问题或留下 cmets 进行改进。”所以我想一个更直接的问题可能是它是如何超出范围的?
标签: architecture game-engine command-pattern