Questions tagged «3d»

3D是指三维空间,其中坐标用X,Y和Z值表示。

4
在2D游戏中使用3D引擎的利弊是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 3年前关闭。 在决定2D游戏引擎(例如Slick2D / Flixel / FlashPunk)和3D引擎(例如Unity)进行2D游戏开发时,初学者应该注意哪些利弊? 尽管我过去曾涉猎Game Maker,Flash和XNA,但我才刚刚开始从事独立游戏开发。我听说过很多有关Unity的正面信息,它的跨平台特性使其更具吸引力,但据我了解,它是3d引擎的核心。 对于严格的2d游戏,是否有令人信服的理由使用Unity等3d引擎?还是会为我的初次学习体验增加不必要的复杂性?
16 2d  3d 

6
如何围绕世界对齐的轴旋转对象?
我有一个Vector3,每个轴都有一个欧拉角。 通常,当我想创建旋转矩阵时,我将使用D3DXMatrixRotationX之类的函数从上方的旋转矢量传递相应的角度,然后将矩阵(ZXY)相乘以创建整体旋转矩阵,以用于形成完整的对象变换矩阵。 但是,此方法将在对象空间中产生一组旋转。也就是说,将向量(90,0,90)传递到我的方法中将在世界空间中有效地产生(90,90,0)的旋转。 有没有一种方法可以始终确保我的旋转矢量的每个分量导致围绕各自的世界空间对齐轴的旋转? 编辑: 这是当前情况的动画-我想要一种绕蓝色轴而不是红色轴旋转的方法。 编辑2: 只是要注意,我并不是在寻找涉及欧拉角的解决方案,而只是寻找一种可以表示围绕世界轴的多次旋转的变换的方法。

2
线宽可变的卡通/透明阴影?
我看到一些进行cel着色的广泛方法: 具有翻转法线的模型的复制和放大(对我而言不是一种选择) Sobel滤波器/片段着色器进行边缘检测的方法 模板缓冲区方法进行边缘检测 用于计算面法线和边缘法线的几何(或顶点)着色器方法 我是否假设以几何为中心的方法也可以最大程度地控制照明和线条粗细,这是正确的吗?对于可能会看到山的轮廓线逐渐合并成平原的地形? 如果我不需要地形表面的像素照明怎么办?(而且我可能不会,因为我计划使用基于单元的基于顶点或基于纹理贴图的照明/阴影。)那么我是否会更好地坚持使用几何类型方法,或者改为使用屏幕空间/片段方法?使事情更简单?如果是这样,我怎么会得到山上的“墨” 内网的剪影,而不是只有整个网格(的轮廓与轮廓内没有“墨水”的细节?(AKA 暗示的轮廓,折痕)。 最后,是否可以使用几何着色器廉价地模拟翻转法线方法?我对此的担心是,我当然可以复制每个单个顶点并相应地缩放它们,但是我将如何处理翻转法线和片段着色器中的不同着色? 我想要的-在轮廓内插入线来改变线的粗细... 我不要... 编辑:进一步的研究发现了以下... 由于我在地形上拥有大量顶点,因此即使考虑基于距离的LoD,由于所有对象的复制和缩放都涉及巨大的计算复杂性,因此无论是基于翻转法线还是基于几何着色器的方法(即使使用平截头体剔除)都不是明智的选择。上传的顶点。 考虑到我不需要在地形表面上以纯色阴影的形式进行逐像素照明,因此考虑基于面部法线的方法(否则需要正确的表面照明)也变得不太谨慎计算起来自然很昂贵。但是,他们确实提供了最好的控制权。例如,使用“艺术”笔触为边缘着色的能力:漂亮,但又不能在大规模复杂的游戏环境中真正实现。 我宁愿避免使用模板缓冲区,因为我希望在着色器中完成所有工作。(上面带有红色轮廓的示例是使用模板缓冲区-旧学校完成的。) 这样就留下了片段着色器的图像空间方法。计算复杂度降低为片段的数量,而不是顶点的数量(在我的情况下,这比几何着色器中的操作要少10-100倍)。为了生成一个g缓冲区(包括一个普通缓冲区和一个可选的深度缓冲区),需要多次渲染渲染,我们可以将不连续性滤镜(例如Sobel运算符)应用到该缓冲区。深度不连续性使轮廓和折痕产生暗示。我唯一的疑问是无法对墨迹边缘宽度进行更好的控制,尽管使用片段着色器中的正确算法,我相信这是可能的。 因此,现在的问题变得更加具体:我如何精确地在片段着色器中获得可变的边缘宽度,尤其是在外部轮廓上?

1
使用Kinect的3D点进行梯形校正
使用XNA,我正在显示一个投影到地板上的简单矩形。投影机可以放置在任意位置。显然,投影的矩形会根据投影机的位置和角度而变形。Kinect会扫描地板以寻找四个角。现在,我的目标是对原始矩形进行变形,以使投影不再因基本对矩形进行预变形而变形。 我的第一种方法是在2D模式下做所有事情:首先计算透视变换(使用OpenCV的 warpPerspective()),从扫描的点到内部矩形的点,然后将逆应用于矩形。这似乎可行,但速度太慢,因为无法在GPU上渲染。 第二种方法是使用3NA进行所有操作,以便使用XNA的渲染功能。首先,我将显示一个平面,使用Kinect扫描其角并将接收到的3D点映射到原始平面。从理论上讲,我可以像在2D方法中一样,将透视变换的逆应用于平面。但是,由于XNA使用视图和投影矩阵,所以我不能只调用诸如之类的函数warpPerspective()并获得所需的结果。我需要为相机的视图和投影矩阵计算新参数。 问题:是否可以计算这些参数并将它们分为两个矩阵(视图和投影)?如果没有,我还有其他方法可以使用吗?
15 xna  2d  3d  projection  kinect 

3
能否使用双精度(或长整数)在3d空间中准确表示太阳系?
我想知道如何在3D游戏中最好地管理坐标,该游戏的目的是真实地模拟整个太阳系,但能够处理“飞船”中的最小移动(即:也许我们可以认为1厘米是最小的)框架的可接受运动)。是否支持64位双精度(或64位long),还是遇到溢出问题?如果没有,那么应该使用多头还是双头,或者如果是,那么,您认为哪种方法最适合在3D游戏中模拟太阳系中的位置?(即:仅根据要运输的距离一次将系统中的一部分保留在显示器中,或以某种方式在不同的坐标空间中表示该系统等)
15 3d 

2
为什么旧的3D游戏具有“抖动”的图形?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 2年前关闭。 我最近一直在玩“ MediEvil”,这让我感到奇怪:是什么原因导致某些旧的3D游戏在移动时具有“流动的”图形?它出现在诸如《最终幻想VII》,《 MediEvil》之类的游戏中,我还记得《地牢守护者2》在缩放模式下具有相同的功能。但是,诸如“雷神之锤2”之类的示例没有此“问题”,并且它同样古老。分辨率似乎不是问题,当您静止不动时,一切都可以完美呈现。游戏刷新是否缓慢,还是与缓冲有关?
15 3d 


3
OpenGL ES 2.0点精灵大小
我正在尝试在OpenGL ES 2.0中绘制点精灵,但是所有点的大小最终都是1像素……即使在顶点着色器中将gl_PointSize设置为较高的值时也是如此。 如何使我的点子精灵变大?
15 opengl  3d  android  opengl-es 

1
为XNA创建3D地图?
有谁知道使用XNA而不使用任何引擎但不限于外部应用程序(如Tiled for 2D maps)的不错的3D地图教程(如何导入和使用地图)? 我在这里做了搜索搜索,但没有找到任何有关xna 3d地图的信息,只有2d。 PS:我正在寻找可以免费在线阅读的材料。 除了Ricket所做的贡献之外,我非常想知道与此主题相关的任何其他内容。 最好的祝福。
15 3d  xna  c#  maps 

5
如果我想独立学习游戏图形设计,该从哪里开始?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 6年前关闭。 我想学习如何创建自定义图形,而不是免费使用可用资源。但是我一直在寻找有关一般如何从2D游戏设计入手的文章或教程,而我似乎找不到一个好的起点-书本或其他。我通常会为那些在平面设计方面进行过正规研究(高级的东西)的人提供各种资源,但是我不会在一段时间内(如果有的话)拥有大量的正规研究资源。另一方面,我找到了用于学习编程方面资源的资源,而不是用于学习如何创建要处理的图形的资源。 有什么好的资源可用于学习面向游戏的图形设计?特别是2D,这是我最感兴趣的2D,但也欢迎3D。
15 2d  3d  graphics  2.5d 

3
是什么导致了“掉出世界”,又有什么解决办法?
许多早期的3D游戏都存在一个问题,即您会快步走来走去,突然间一切都变得黑了,岛上看起来像是您走过的场景的空心立面外壳,一直爬到远处。因为你已经脱离了世界。我记得对于Bethesda Softworks来说,这是一个特殊且长期存在的问题,尽管他们并不孤单。自从我在野外看到它已经有一段时间了,所以看来我们已经过去了。我的问题分为两部分: 1)是什么原因造成的?(我的猜测是,这与多边形之间与浮点精度相关的接缝有关,并与点建模的字符位置进行交互,例如,地板块A在位置1.0处结束,地板块B在位置0.9998处开始,并且一微秒内,您的位置是0.99992,然后繁荣,您就跌入了世界,但这只是个猜测。) 2)它是如何修复的?

2
为什么90°horz / 60°转换默认的FPS视野?
据我了解,垂直视场应调整为: fov = 2 * arctan(0.5*screenHeight / distanceEyeScreen); 也就是说,视野应与用户的距离和屏幕尺寸相匹配。 在许多FPS中,水平FoV的默认值为90°,而垂直FoV的默认值为60°(假设16:9)。一个示例是CryEngine。但是对于16:9 20“屏幕(可视区域的对角线,即约40 cm x 25 cm),此默认值将要求用户的眼睛距屏幕20 cm,以便获得正确的透视图。 因此,要么我在计算中犯了一个错误,要么一定是有理由为什么您故意选择了不足的FoV值。 默认FoV为90°horz / 60°vert的原因是什么?
14 3d  camera  perspective 

4
防止玩家在在线FPS中进行黑客入侵?
为什么我们仍然抱怨多人第一人称射击游戏中的墙骇客? 是否有可能在服务器端对所有播放器执行遮挡剔除?例如,仅当播放器在客户端的视锥中可见并且未被任何对象遮挡时,才将播放器xyz信息发送给客户端。即使碰撞几何非常简单,大多数时候作弊者也不会收到战术信息。 为什么不这样做呢?


4
我应该在3d之前学习2d游戏开发吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 3年前关闭。 我是iPhone应用程序开发人员。我想进入iOS游戏。问题是-我应该先学习像Cocos 2D或Corona SDK这样的2D,然后再学习像Unity这样的3D游戏吗?我对3D游戏更感兴趣,但是您认为了解2D游戏是学习3D开发的先决条件吗?
14 2d  3d  ios 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.