Articles of 3d

我有一个关于3D游戏模型和版权的问题

我正在制作一个游戏,就像“我的世界”和“未知世界”的结合。 这就像我的世界,因为它是非常基于块。 这就好比是因为它有车辆和其他不可思议的function。 这就是玩家模型可能的样子: 玩家模型与“我的世界”的史蒂夫非常相似。 然而它有一些重大的差异,使得它独一无二。 例如,眼睛不是静止的,实际上可以环顾四周。 嘴里有两套牙齿,作为下巴线和代表口腔的嘴唇。 牙齿和嘴唇都可以为“谈话”animation制作animation。 眼睛也有适当的animation技能可以closures和打开的眼睑。 玩家模型也可以在游戏中定制,因为在玩游戏期间可以改变发型,胡子风格,眼睛颜色,肤色,头发和胡子颜色。 不像“我的世界”这个角色,它不仅限于头盔,胸甲,绑腿和盔甲靴子。 这个模型可以改变它的衬衫,裤子,头盔,帽子,裤子,腿甲,盔甲靴,胸甲板,背包(如果他装备的话),手套,肩垫,肘垫,以及任何其他的盔甲和衣服在游戏中使用。 我的问题是,即使在模型的主要区别,它仍然是太像史蒂夫? 还是这种模式太不同了,让我起诉版权/知识产权侵权? 感谢您的任何意见。 我刚刚开始在模型上工作,这次玩家可以拿东西,也穿鞋子:

用于DirectX 11的.obj文件阅读器

这是一个星期,我仍然无法解决这个问题。 我需要将.obj文件转换为我的框架可读和可绘制的数据。 我有一个主要问题:指标。 我想我得到的顶点正确(我在debugging器中检查,一切都很好),但是当我画我的模型总是出错。 我看到模型的形状,但没有看到一些三角形。 我认为这是一个顺时针/逆时针绘图的问题。 我从搅拌机中导出了一个立方体,看看如何完成,我拿着笔和纸,手工绘制,然后按照程序为我创建的索引,我看到它使用不同的索引顺序,在我的程序中不起作用。 对于i立方体,我使用“f”字所描述的索引创建36个顶点。 每个顶点都有纹理坐标和法向量。 从指数我拿顶点索引,我用这些来绘制立方体,但它不工作。 我跟着这个教程进入到我应该如何脚本的转换器( http://www.opengl-tutorial.org/beginners-tutorials/tutorial-7-model-loading/ ),我修改了代码,使其工作的DirectX绘图(这是类似于我认为的OpenGL),但它根本不工作。 void OBJLoader::loadOBJFromFile(char * fileName, std::vector<Vertex::Basic32> &output, std::vector<UINT> &vertexIndicesFinal) { UINT numberOfVertices = 0, numberOfNormals = 0, numberOfUVs = 0, numberOfFaces=0; std::vector<Vertex::Basic32> outputDaMettere; std::vector< UINT> vertexIndices, uvIndices, normalIndices; std::vector< XMFLOAT3 > temp_vertices; std::vector< XMFLOAT2 > temp_uvs; std::vector< XMFLOAT3 > temp_normals; std::vector<XMFLOAT3> outVertices; std::vector<XMFLOAT3> […]

单面,多平面几何?

我刚刚开始使用3D,所以我不确定这是什么叫。 如果我将一个多边形中的一个点与多边形中的其他点alignment,那么这个点将会位于一个单独的平面上,那么您称之为什么? 这样做的含义是什么? 这应该避免吗? 这会影响CPU吗? 渲染? 这是硬件和WebGL的普遍支持? 在我的例子中,我基本上把一个正方形平面变成了两个三角形平面,在一个立方体的中间创建了一个“v”。 看起来这两个三角形属于立方体上的单个面。

我应该使用哪种types的碰撞检测?

所以在过去的一周里,我一直在摸索SAT(分离轴定理)。 我知道它是如何工作的,但似乎无法得到正确的C#代码。 总是有一个面孔或边缘让我的球员穿越障碍。 所以我想知道,如果我正在采取艰难的方式,我不需要SAT来达到我想达到的目标。 我的游戏涉及: – 三维立方体有时会在一个角度(不是90的倍数) – 没有太多的立方体(所以我不需要我的碰撞检测太便宜) – OBB碰撞 那么对于我来说碰撞的最好的select是什么? 如果SAT是我的select,它将在C#中看起来像什么? 编辑 我的星期六代码: var n1 = (bb1.BCK_TOP_LFTCorner – bb1.BCK_BTM_LFTCorner).Normalized(); var n2 = (bb1.BCK_BTM_LFTCorner – bb1.BCK_BTM_RGTCorner).Normalized(); var n3 = (bb1.FRT_BTM_LFTCorner – bb1.BCK_BTM_LFTCorner).Normalized(); var n4 = (bb2.BCK_TOP_LFTCorner – bb2.BCK_BTM_LFTCorner).Normalized(); var n5 = (bb2.BCK_BTM_LFTCorner – bb2.BCK_BTM_RGTCorner).Normalized(); var n6 = (bb2.FRT_BTM_LFTCorner – bb2.BCK_BTM_LFTCorner).Normalized(); var norms = new […]

在Maya LT中建模meteor体

我刚刚开始使用Maya LT,所以如果我问一个愚蠢的问题,请原谅我。 我正在模拟一个直径约8公里的Maya LTmeteor体,我正在试图对它进行建模。 现在我知道这听起来像是疯狂的谈话,但我不想要程序生成的模型或使用UV映射的模型。 Maya中最大的(公制)单位types是米,因此我将其设置为米,并尝试按实际尺寸创建模型。 对于初学者,我创建了一个直径为2个单位的球体,并将比例设置为4000.这导致我看不到任何东西。 当我尝试构建对象时,我只是得到一个灰色的屏幕,我无法正确编辑它。 我觉得我的模型可能会对应用程序有点大。 建模这种大型环境的最佳方法是什么? 我应该缩小它,添加更小的细节,并在Unity中扩展? 我最好怎么办呢?

如何使对象破坏?

我有一些从Unity资源商店下载的3D模型。 大多数时候,这些对象不是“可分割的”,所以我不能施加可破坏的效果。 有没有办法将模型分成小块,无论是使用Blender还是Unity脚本,还是其他的东西?

摆动物体的比例

我能够使用我写的缩放函数来缩放对象。 它在内部建立与每个顶点相乘的matrix来转换它们。 我给定比例函数的参数告诉它多less比例作为当前比例的因素 。 我希望我的物体的尺度在两个值之间平滑地摆动,所以我用Sin波来构建我的缩放因子,即: 1 + amplitude * (Mathf.Sin(2 * Mathf.PI * frequency* Time.time) – Mathf.Sin(2 * Mathf.PI * frequency * (Time.time – Time.deltaTime))) 结果看起来非常接近我想要的,但随着每次振荡,对象变得比以前稍小。 问题在于我的函数是这样编写的,它将顶点作为“当前”尺度的一个因子进行缩放,这个尺寸总是在变化。

预测施加力时刚体的path

我正在用某种迷你高尔夫游戏来学习3D游戏开发。 到目前为止,它运行良好:我有一个球体,我正在使用它的AddForce上的RigidBody以期望的方向启动它。 我想添加的一个function是显示预测线的预测线,预测球的轨迹。 就像告诉玩家,如果他使用这个方向和这个力量,球就会沿着这条路线,在这里碰撞,反弹,并最终在那里等等。 我知道如何使用线条渲染器,但我不知道如何计算从中绘制线条的点的数组。 它必须实时更新,玩家可以随时快速改变潜在的方向和力量 – 必须考虑到有各种不同的物体的摩擦/摩擦等。 这似乎很多工作。 唯一发生在我身上的是使用虚拟的不可见的球,这些球将会使用潜在的方向/力量不断的发射,然后logging他们的路线,但是我需要找出一些办法让他们“更快地移动”,这样我就可以立即获得点数组。 什么是我最好的办法呢?

球员运动vs无限亚军游戏中的世界运动?

那么我正在开发一个寺庙运行或地铁冲浪风格无限亚军游戏。 哪个更好? – 移动播放器并使主摄像机跟随,或将播放器保持在一个位置并移动生成的世界? 而生成的path或世界将会有很多animation。 那么哪个select是好的,为什么呢?

四元数翻译

我正在写一个小游戏,我需要一些帮助,我的四元数。 如果我有一个对象在旋转A(四元数) 我需要它在十步中旋转B(四元数),我将如何解决步骤变化? 对于正常的向量,我会做C =(B – A)/ 10然后每一步简单地把C加到我的位置上,以10步从A移到B。 我不相信这会适用于四元数,所以我该怎么做? 另外,从A到B可能会有无数的路线,所以我想计算一下最短的路线。 我确实发现这个http://wasted.nz/posts.php?topic=82629但是,如果这是正确的,那么你如何应用差异到当前的旋转? 而这个差异可以除以10来得到阶差? 如果有帮助,我正在使用C ++,DirectX 11和Bullet Physics