热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

与金属的角色动画

如何解决《与金属的角色动画》经验,为你挑选了1个好方法。

我刚刚钻研了金属世界,我想我已经掌握了它!但后来我发现,如果我想制作游戏,那么在屏幕上移动的静态物体就不够了.所以我的问题是,'是否有可能为使用Metal的模型创建动画?'

我已经看过使用其他API,例如SpriteKit和SceneKit,但我发现它们不支持着色器,并且没有Metal那么强大.

我能想到如何实现这一目标的唯一方法是创建60种不同的模型,然后依次加载每种模型,以产生"停止运动"的效果,但我认为这样做可能是非常低效,并希望有一个更容易的答案?

非常感谢!



1> rickster..:

是的,还有其他更有效的动画制作方法.但在进入之前,一个警告:看起来你真的在这里咆哮错误的树.

Metal是(概念上)非常低级的接口.你使用Metal(几乎)直接与GPU交谈,所以要使用它你需要像GPU一样思考(类似):在数据缓冲区,顶点转换等方面你似乎工作得更高概念级别,所以你可能更好地服务于一个高级游戏引擎:SpriteKit for 2D或SceneKit for 3D.(或者像Cocos或Unity这样的第三方引擎.)另一方面,Metal更适合构建这些游戏引擎.

SpriteKit和SceneKit 支持着色器.看看SKShaderSCNShadable在文档(和一定要点击"更多"链接来阅读完整的概述).SceneKit还支持角色动画(也称为骨骼动画,也称为蒙皮):通常在外部创作工具(Maya,Blender等)中设计和装配动画模型,然后使用SceneKit在运行时使用动画.

可以在Metal中执行基于GPU的骨架动画等操作.但我还没有看过任何关于它的教程或类似内容,可能是因为Metal是一项新技术.但从根本上说,它基于你在OpenGL或Direct3D中用于骨骼动画的相同技术 - 并且已经有很多关于这些技术的动画的文章.如果您愿意将时间和精力投入到低水平的工作中,那么从GL/D3D教程中调整主题相对容易.


推荐阅读
author-avatar
mobiledu2502889153
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有