Articles of 精灵

内插旋转的对象

我终于有了插值工作来“平滑”运动,但是对于旋转的物体(在他们自己的中心附近)似乎不起作用 – 当我尝试这样做时,所讨论的物体会“摆动”。 注意:我不是在说插入实际的旋转,而是在旋转的物体的移动 所以,假设我有一个从左到右的对象。 使用下面的代码(与插值),它移动很好,顺利。 但是,在旋转物体(假设为45度,但可以是任意角度)之后,它不再平稳移动,它仍然沿着它的path(在这种情况下从左到右)移动,但不再平滑。 主游戏循环 @Override public void onDrawFrame(GL10 gl) { //Grab time newTime = System.currentTimeMillis()*0.001; frameTime = newTime – currentTime; if ( frameTime > (dt*25)) frameTime = (dt*25); currentTime = newTime; accumulator += frameTime; //Save game-state and update logic while (accumulator >= dt){ saveGameState(); //Back up positions before updating them updateLogic(); […]

Alpha混合,透明度和zsorting

我正在进行alpha混合testing,我不明白。 在我的testing中,我做了这样的事情,一切都很好 : 首先绘制蓝色框( 深度testing :true, 混合alpha :无, 颜色 :1,1,1,1) 画左马里奥( 深度testing :假, 混合阿尔法 :真, 颜色 :1,1,1,0.8) 绘制红色框( 深度testing :真, 混合alpha :无, 颜色 :1,1,1,1) 绘制正确的马里奥( 深度testing :假, 混合阿尔法 :真, 颜色 :1,1,1,0.8) 每个教程都说我们应该: 首先绘制不透明的物体 订购透明的对象,然后绘制它们。 结果如下: 所以,我不知道它是如何工作/什么是错的( 我读过这个文档 )。 谢谢!

处理同一个对象的多个2D精灵animation

我正在使用libGDX进行2D游戏。 我的一些游戏内的对象有animation,例如从上到下的有步行animation的士兵。 这工作正常。 现在,在走路的时候,这个士兵也可以做其他的事情,比如开枪。 所以,走路和射击都可以同时发生。 我现在的问题是:如何通常处理同一个对象的这些多个同时animation? 我是否需要不同的animation(一个是仅仅走路,一个是射击,另一个是同时animation),还是我更愿意将这个物体分成几个精灵(例如,士兵的身体用枪分开),分别为这些部分制作animation? 还是有另一种方法来实现这个?

为什么我的dynamic生成的精灵重叠?

我试图dynamic生成代表由精灵制作的棋盘的场景。 我为这些使用了两个纹理: – pieces.png(取自http://opengameart.org/sites/default/files/chess_2.png ) – tiles.png(手工绘制,由两个128×128正方形填充不同的颜色) 到目前为止,我所取得的最好结果是一块重叠的瓷砖: 这些纹理的精灵模式是“单一”,每单位像素设置为“128”(不确定我是否应该这样做) 我的MonoBehavior.Start中的纹理被切成精灵。 var tiles = new Dictionary<int, Tile> (); var sprites = new Dictionary<int, Sprite> (); // Load all tilesets foreach (var externalTileset in map.tilesets) { var tilesetAsset = (TextAsset)Resources.Load ("Boards/" + externalTileset.source); var tileset = (Tileset)tilesetSerializer.Deserialize (new StringReader (tilesetAsset.text)); Texture2D texture = (Texture2D)Resources.Load ("Boards/" + tileset.image.source.Replace […]

Unity3D精灵VS网格四边形 – 深度,混合,阴影

我对团结是新的,但对游戏开发并不陌生。 在我的OpenGL ES 2.0(移动)游戏中,我创建了一个包含所有“精灵”的顶点数组,并将其填充到VBO中。 然后按照我需要的方式绘制它们,一次一个,回到前面,开始和closures深度testing和混合,以便构建我的场景。 可能不是超高效的(也许是批量绘图),但我现在的设备上可以达到60fps。 这个特定的场景有一个“纸张”的背景,写在纸上(相同的Z深度),然后在上面的3d对象。 三维物体将阴影投射到纸上。 (如有必要,我可以发布截图。) 为了完成这个任务,我渲染了任何投射阴影的对象的阴影贴图。 然后在纸上用阴影着色器渲染我的场景,而不是在纸上的东西上,然后再回到上面浮动或坐在纸上的3d物体。 现在我正在切换到Unity3D并移植这个工作的游戏。 我有两个问题,我不明白。 作为一个团结的新手,我带入了我的精灵表,并将它们设置为“高级”,但是作为精灵并且使用精灵编辑器进行切片。 但是Sprite渲染器没有用于投射或接收阴影的checkbox。 精灵只用于没有阴影和照明的2D游戏吗? 我必须切换到所有网格四边形,并使用网格渲染器,并手动处理我所有的“精灵”? 在统一论文和所有在同一个Z上的论文中绘制的东西,我有深入的问题。 在我的OpenGL版本中,我做了glDisable(GL_DEPTH_TEST); 并启用混合,绘制“墨水”的东西,然后重新启用深度,并绘制其余的3D场景。 在统一,我不知道如何closures深度或混合工作。 由于墨水必须在纸张上画出来,因此我无法使用不同的相机。

精灵animation与“重叠”animation?

我试图实现我自己的精灵animation系统,到目前为止我已经得到了很好的工作。 我将每个animation存储为一个“take”,它基本上表示精灵表中的animation行,起始帧和帧数。 这些拍摄是在启动过程中创建的,并通过在animation上调用play(takeID)进行play(takeID) 。 玩家分为四个精灵:头部,躯干,arm和腿部,不同的animation可以在其他部分分别播放。 现在,对于只需要单个animation(走路,空转,跑步,摆动剑等)的情况,这种方式可以很好地工作,但是对于玩家同时执行多个事件的情况,我需要一个更复杂的animation系统,例如在挥动剑的同时行走。 我试图通过使用上面的例子来分解animation系统的要求,我发现这些情况: 1. Player swings the sword 1.1. Play swinging animation 1.2. When done, play idle animation 2. Player starts walking 2.1. Play walking animation until player stops 2.2. Play idle animation when player stops 3. Player walks and swings the sword 3.1. Play walking animation 3.2. Replace the animation […]

如何修改可以在XZ平面上显示精灵的Unity精灵渲染器(或创建一个自定义渲染器)?

前缀:我不是试图通过它的变换旋转一个精灵90度,这改变了对象的上/下和前进/后退。 我需要XZ平面上显示的精灵与游戏世界中自然状态下的默认XY平面相比,旋转变换为0。 我试图在XZ平面上使用2D精灵,我该如何去修改内置的精灵渲染器来完成这个任务,或者创建我自己的自定义精灵渲染器组件?

如何在pygame中使用碰撞掩码和overlap_area?

所以,我一直在做一个游戏原型,我一直在使用精灵碰撞,而不是再削减它。 我阅读了有关蒙版和重叠区域的文档: https : //www.pygame.org/docs/ref/mask.html#pygame.mask.Mask.overlap_area 我究竟如何使用它? 该文件说:“这可以用来查看事物碰撞的方向,或者看看两个面罩碰撞的程度,通过有限差分计算重叠区域的梯度,可以find近似的碰撞法线。 我不太理解这个描述。 我怎么能说出碰撞的方向? 返回值实际包含什么? 我将如何实现两个Pygame Sprites与图像和透明度的碰撞? 是否有更深入的解释(最好是带有示例代码)? 我找不到比文档更详细的内容。

从3D模型导出大量预渲染的精灵的高效方法

我有很多3D角色,我希望在2.5D游戏中使用它们作为Sprites; 在这个过程中,我必须从一个固定的摄像机角度渲染它们,因为每个应该有自己的地图集文件包含animation帧,这将是一个非常耗时的工作! 我正在考虑写一个Python脚本(模型是在Blender格式),让它呈现精灵。 由于我不知道Python,你认为先学习python并写脚本为我完成这项工作是高效的吗? 有没有人有更好的主意? 简而言之:我正在寻找一种有效的方法来从3D模型中导出预渲染的精灵,因为它们都具有相同的animation和相同的animation。 谢谢大家

圆形精灵上的渐变填充颜色

我有一个白色圆圈精灵。 我知道如何改变它的颜色到一个坚实的填充颜色。 使用GetComponent<Renderer>().material.color 。 但是,我将如何给它一个渐变填充颜色。 我一直在试着用着色器做这个。 但到目前为止,我创建的着色器并不考虑圆精灵,只是它的边界框。 它也看起来有点奇怪。 这是我的着色器代码 Shader "Custom/SpriteGradient" { Properties { [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} _Color ("Left Color", Color) = (1,1,1,1) _Color2 ("Right Color", Color) = (1,1,1,1) _Scale ("Scale", Float) = 1 } SubShader { Tags {"Queue"="Background" "IgnoreProjector"="True"} LOD 100 ZWrite On Pass { CGPROGRAM #pragma vertex vert […]