Articles of 扩展

我怎样才能看到我的精灵是否在检查器视图或Unity中的某些地方是.png或.jpg?

我怎样才能看到我的精灵是否在检查器视图或Unity中的某些地方是.png或.jpg ? 这里是我试图使用Editor获取文件扩展名的一个例子:

我应该使用GL_GENERATE_MIPMAP_SGIS还是GL_GENERATE_MIPMAP?

我正在使用Windows 7,并且这个特定的OpenGL项目组中的大多数人也是如此,Windows XP上只有一个成员。 尽管我们都使用Visual Studio 2010。 我不知道如果OpenGL标头来与VS或Windows,但我会认为这是VS. 由于我们都使用相同的VS版本,虽然不是相同的SKU,我还假设我们都有相同的OpenGL头和版本运行在我们的系统上。 也就是说,我的系统上安装的版本(注意,我没有安装任何OpenGL相关的)是2.1,它支持GL_GENERATE_MIPMAP ,我不需要诉诸GL_GENERATE_MIPMAP扩展。 但是,Windows标头仅支持版本1.1。 为了解决这个问题,我使用了GLEW。 我也注意到GL_GENERATE_MIPMAP_SGIS和GL_GENERATE_MIPMAP都有相同的确切值。 所以我的问题是,我应该对我的纹理加载例程执行以下操作: if(GLEW_SGIS_generate_mipmap) { glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE); glTexImage2D(GL_TEXTURE_2D, 0, glFormat, texWidth, texHeight, 0, glFormat, GL_UNSIGNED_BYTE, texPixels); } else { gluBuild2DMipmaps(GL_TEXTURE_2D, glFormat, texWidth, texHeight, glFormat, GL_UNSIGNED_BYTE, texPixels); } …或者我可以只承担一切工作,只是这样做: glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); glTexImage2D(GL_TEXTURE_2D, 0, glFormat, texWidth, texHeight, 0, glFormat, GL_UNSIGNED_BYTE, texPixels); ? 如果OpenGL版本不支持mipmapping这样的代,我认为这个代码会失败(而且游戏也许不会运行),但是现在大多数人可能在他们的系统上有OpenGL 2.1,也可能在Windows […]

(XNA)可能隐藏,压缩或重命名.XNB文件?

我对XNA还比较陌生(在这一点上,只有一个星期到C#和XNA),但是我现在开发游戏已经有一段时间了,我使用的程序在创建可执行文件时并不需要任何外部文件。 我对外部文件(大部分)完全没问题,但是阅读时,好像.XNB文件很容易被其他人使用,从而使你的资源无法使用。 经过一番思考,我想知道是否可以做以下三件事情之一:1.将.XNB文件隐藏在.exe中,在这种情况下,它可能只在运行时在外部位置创建它们(wouldn'真的解决了主要问题,但仍然)? 2.将许多.XNB二进制文件压缩成一个单一的二进制文件(比如声音为1,精灵为1等)3.(这个是我自己OCD的一个)把扩展名从.XNB改成我的select? 例如,为了使.DAT减less直接指标,我使用了XNA和/或这些文件可以用.XNB松土器访问? 这些都不会特别解决我最初的问题,但我仍然怀疑它们是否可能。 无论如何,先谢谢你们!

为什么OBJ没有扩展到支持蒙皮?

除了我所知道的每种格式之外,唯一可以完美应用于所有应用程序的是OBJ。 我认为这是一个很好的格式,我会使用它的一切 – 除了它不支持蒙皮。 我想知道,为什么规范从来没有延伸到包括支持皮肤。 它不需要检查格式 – 只需在结尾添加一个“顶点权重”和“顶点骨骼ID”参数,以及一个骨骼和变换列表(或者可以将所有的蒙皮数据存储在一个单独的文件中,方法与材料参数是) 它与所有其他格式的挫败战斗,而OBJ只是坐在那里缺乏这一点。 能有更多的行业经验的理论,为什么这个扩展从来没有被添加?

为什么GL_TEXTURE_MAX_ANISOTROPY_EXT未定义?

所以我在我的opengl游戏中编写我的纹理类,到了我通常会设置GL_TEXTURE_MAX_ANISOTROPY_EXT的部分,我很震惊地发现它是未定义的! 这个完全相同的扩展在另一个应用程序中完美工作,所以我知道这不是一个错字或什么东西。 值得注意的是,我使用glcorearb.h而不是glext.h来获得扩展名,因为我无意支持兼容性configuration文件。 这可能是我的问题,如果是的话,我该如何解决它?

使用lua扩展的类

我在问一个非常小的域名。 一次性扩展脚本。 IE,定义了焦土的新武器。 当为小型扩展提供API时,我已经看到了两种方法。 API暴露扩展器然后子类的类,覆盖所需的方法。 –# weapons/flame_missile.lua –#extender pulls in a predefined weapon base class require "weapon.missile" –# luabind syntax for classes class "flame_missile" (missile) function flame_missile:__init() self.hotness = 10 self:set_cost(42) end function flame_missile:on_hit( who ) who:take_damage(self.hotness) who:ignite() end 在另一种方法中,api只是公开访问器和沙箱脚本,用每个新的导弹重新执行文件,并使用全局variables作为实例的状态。 –# weapons/flame_missile.lua hotness = 10 cost = 42 –# extender just knows that an on_hit […]

如何平衡一个非对称“扩展”的游戏?

大多数策略游戏都有固定单位和可能的行为。 不过,想一想像万智牌那样的游戏:每张牌都是一套规则。 定期创建新的卡片types集合。 我记得第一版的游戏在官方比赛中被禁止,因为这些游戏卡通常太强大了。 游戏的后期扩展为卡片提供了更多的细微效果/规则,并且显然有效地平衡了游戏,即使有成千上万种不同的卡片也是如此。 我正在做一个有点相似的战略游戏:每个单位都是由扩展提供的,至less这个游戏被认为延续了几年。 即使设置了一些基本的devise限制,以确保它的可管理性,各种单位的效果是非常大的。 每个玩家在玩之前select一组玩家(定义他们的全球策略)(就像select一张魔术卡主题组合)。 因为这是一个策略游戏(在某些POV中,你可以把魔术看作是一个策略游戏),所以游戏必须是公平的,即使玩家在开始玩之前不select相同的单位。 那么,如果你知道这种非对称(战略)游戏总是被扩展的话,你将如何进行平衡呢? 目前,我正试图应用这些规则,但是我不确定是否正确,因为我没有足够的devise经验知道: 每个单位将提供一个独特的效果; 每个单位应该有一个相反的单位,具有相反的作用,可以取消对方; 基于游戏的一些限制; 尝试在每个扩展版本发布之前进行大量的betatesting? 看起来我是最复杂的情​​况?