Unity3d 在atlas中使用纹理偏移创建带有NGUI的动画精灵
在Unity3d中,我从NGUI插件获得了一个带有UISprite组件的游戏对象。 所以我需要使用一个带有纹理的图集来设置UISprite的纹理 现在我希望UiSprite被动画化。不同的框架在地图集本身的精灵表中 我了解到,通过更改偏移量,可以使用精灵表设置某些对象的动画。 我的问题是,如何设置当前纹理而不是整个贴图集的偏移?到目前为止,我只能更改整个地图集的偏移量 是否有可能从地图集或其他地方确定纹理的位置,并以此计算偏移量 我不知道该怎么做。Unity3d 在atlas中使用纹理偏移创建带有NGUI的动画精灵,unity3d,offset,texture2d,sprite-sheet,ngui,Unity3d,Offset,Texture2d,Sprite Sheet,Ngui,在Unity3d中,我从NGUI插件获得了一个带有UISprite组件的游戏对象。 所以我需要使用一个带有纹理的图集来设置UISprite的纹理 现在我希望UiSprite被动画化。不同的框架在地图集本身的精灵表中 我了解到,通过更改偏移量,可以使用精灵表设置某些对象的动画。 我的问题是,如何设置当前纹理而不是整个贴图集的偏移?到目前为止,我只能更改整个地图集的偏移量 是否有可能从地图集或其他地方确定纹理的位置,并以此计算偏移量 我不知道该怎么做。 非常感谢您的任何见解。您实际上不需要手动执行此
非常感谢您的任何见解。您实际上不需要手动执行此操作。方法有点取决于您的场景。如果要播放动画一次或在循环中播放,只需使用组件(添加组件>NGUI>UI>精灵动画) 这允许您创建一组特定的命名和编号精灵。设置正确的前缀、帧率以及是否循环,就可以开始了 但是,即使您想以某种方式手动控制它,也不需要直接使用偏移。通过设置的
spriteName
,可以在运行时动态更改显示的精灵。所以你只需要设定精灵的名字,剩下的就交给NGUI了
如果你想做全面的精灵动画,NGUI可能不是最好的选择。它毕竟是一个GUI框架。其他可供研究的工具包括
- ,它现在还包括一个UI系统
- ,其中也有一个免费版本
dehinrsu@gmail.com我已经看过这些选项,但它们不支持我正在使用的SpriteSheet。很不幸,我不得不这样做。你是说你有一个外部精灵表?也就是说,一个不是由NGUI自己的atlas generator生成的?或者让NGUI为您生成atlas。或者开始研究其他二维工具。NGUI并不是真正用于成熟的精灵动画/2D游戏。这是一个用户界面工具。你可以部分到达那里。但这可能不是最好的选择。我得到了一张精灵表,我将它添加到NGUI生成的图集中。然后我将导出单个精灵,并将它们添加到图集中。NGUI不处理开箱即用的外部SpriteSheet。