Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 爱好应用建议:激光节目编辑/模拟器_C#_Xna_Simulation_Project Planning - Fatal编程技术网

C# 爱好应用建议:激光节目编辑/模拟器

C# 爱好应用建议:激光节目编辑/模拟器,c#,xna,simulation,project-planning,C#,Xna,Simulation,Project Planning,我一直想在这个应用程序上工作大约一年了。我想创建一个“激光表演模拟器/编辑器”。我希望能够将灯光放置在舞台上的不同位置,并且我希望能够为每个灯光编写脚本,以执行各种操作,例如按一定间隔打开、关闭、更改颜色等。真实感并不完全是我的意图。我还计划编写一个工具,该工具可以根据现有的音频文件(通常是一首歌)并基于某些可以检测到的信息(例如每分钟的节拍等)轻松地同步和撰写激光节目 我原本想在C#和XNA一起做这件事。编辑器当然会包含一些3D视口(可能在正交投影中),我想这有点像一个3D建模工具,但更像是一

我一直想在这个应用程序上工作大约一年了。我想创建一个“激光表演模拟器/编辑器”。我希望能够将灯光放置在舞台上的不同位置,并且我希望能够为每个灯光编写脚本,以执行各种操作,例如按一定间隔打开、关闭、更改颜色等。真实感并不完全是我的意图。我还计划编写一个工具,该工具可以根据现有的音频文件(通常是一首歌)并基于某些可以检测到的信息(例如每分钟的节拍等)轻松地同步和撰写激光节目

我原本想在C#和XNA一起做这件事。编辑器当然会包含一些3D视口(可能在正交投影中),我想这有点像一个3D建模工具,但更像是一个游戏的关卡设计工具,因为使用它可以做的事情数量有限,例如灯光放置和属性编辑

问题是我以前从未从事过3D编程项目。几年前,我试着学习OpenGL(买了很多书,并认真阅读了它们,但那时我对编程还不熟悉,事情根本没有意义。此外,我对所用的数学知识也不太了解)。我也尝试过学习ManagedDirectX,虽然它看起来更有意义,但我想我没有那么积极地学习它,所以我放弃了

现在我确实有了学习它的理由,所以我会有动力,我相信我现在会理解大部分的数学

但我不知道从哪里开始。这件事我肯定需要一段时间才能完成,所以我知道要有耐心。我想知道你们建议我从哪里开始。音频部分,我相信我会留在以后。我猜最基本的是渲染引擎和编辑界面,然后是实际的模拟器来播放创建的节目

因为我不能把所有的问题都放在一个问题中,所以当我到达项目的那个区域时,我会问后续的问题。然而,与此同时,我要问的基本问题是:

  • 我应该从哪里开始?我从来没有做过这么大规模的工作,所以我对这个项目中的大量内容感到不知所措,我不知道应该从什么开始。我知道我会先把事情计划好,但我希望至少能给你一个暗示,告诉你从什么开始。我假设它是渲染引擎

  • 使用C#和XNA是个好主意,还是至少可以?我对C#非常熟悉,几年前我曾尝试学习托管DirectX,我认为这有点类似。我熟悉.Net与C#的用户界面创建方面

  • 我应该创建自己的渲染引擎还是使用现有引擎?你推荐哪一种?我并不完全有兴趣创建自己的引擎,以便学习。我相信我最终会明白到底发生了什么,我真的不希望渲染方面成为一个障碍,特别是如果已经存在的东西比我在不久的将来能够创建的任何东西都要好的话。当然,我还是会努力学习XNA;我不会试图忽视它

  • 谢谢各位,我真的很感谢你们能提供的任何意见。对不起,我说得很含糊。我对细节有一些想法,但我现在想问一些一般性的问题,给自己一个方向感。再次感谢

    编辑:我想强调的是,我从未从零开始做过如此大规模的工作。我真的不知道从哪里开始。我从来没有做过3D编程,也没有做过编辑器需要的复杂用户界面。我确实有学习和做任何与编程相关的事情的动力和动机,正如我在过去向自己证明的那样,但我希望你们能提供关于从哪里开始的任何细节和细节

    例如,有些人说从渲染引擎开始,但您能提供一些细节吗?是否有任何免费和/或开源引擎可以满足需求?考虑到我的追求,有没有什么3D主题值得我特别关注?例如,我读到一些激光可能只是带有着色器的3D网格,或者其他东西,我显然不太精通3D编程

    至少在不久的将来,我不打算购买渲染引擎之类的东西。如果我这样做了,那将是一旦我有了一个核心/基础,我就可以开始工作了


    谢谢各位,除了你们中的一些人已经做过的工作之外,我真的很感谢你们能提供的任何见解。

    我对你们的项目感兴趣,因为我曾经是激光表演设计师和控制软件开发人员

    首先-设计草图!有趣的是,您正在考虑诸如渲染引擎之类的实现细节,同时仍然被项目的范围压得喘不过气来。只需想象一个渲染引擎,它将执行您要求的任何操作。然后,当概念确定,并且您知道您需要的功能时,您可以购买适合您需要的功能


    如果您不熟悉与激光显示相关的系统行为和用例,我绝对可以帮助您-我会给您发电子邮件。

    我对您的项目感兴趣,因为我曾经是激光显示设计师和控制软件开发人员

    首先-设计草图!有趣的是,您正在考虑诸如渲染引擎之类的实现细节,同时仍然被项目的范围压得喘不过气来。只需想象一个渲染引擎,它将执行您要求的任何操作。然后,当概念确定,并且您知道您需要的功能时,您可以购买适合您需要的功能

    如果您不熟悉系统行为,请使用cas
    servo1.setPosition(50);