claygl
claygl copied to clipboard
dota模型的项目
当我试图加载两个或以上模型的时候,FPS降低到只有5,有没有什么方式可以解决么??
能否看下你的代码
我只是把heroCtrl.js 的代码改了一下。
LoadHero 的代码类似
后面的内容一样
对了,顺便问一下,起源2之后的dota2模型似乎都导不出来了,有什么方法可以拿到并且转换成项目里的格式么?
@jacobxy dota2hero 的项目用新的 claygl 和 vue 重写了,你看下是否还有卡顿的问题。
现在的 dota2 模型从游戏中我也不确定怎么能取到,但是 workshop 里有 fbx 的文件 http://www.dota2.com/workshop/requirements 可以用 https://github.com/pissang/claygl#fbx-to-gltf20-converter 或者 https://github.com/pissang/clay-viewer 转成 glTF 格式的
现在用claygl的app.loadModel的方法去加载gltf的文件,模型成功加载了,但是动作该怎么导入呢,dota2hero的项目,一直使用的gtek,代码中似乎没有显式的调用gltf文件,是因为用的原生api么?
dota2hero 最新的代码现在也是 claygl 的了,动作是直接解析的 smd 文件然后导入到 claygl 里,见 https://github.com/pissang/dota2hero/blob/gh-pages/src/common/readSMD.js
原来我看的是allhero.html里的代码,新的代码是写在vue的项目里的,看到了,学习中! : )
模型加载成功了,clip的值也是有的,但是模型并没有运动,是什么原因呢? 打印了this._currentClip 发现其中target的值是undefined,跟这个有关系么
主要是这两行 https://github.com/pissang/dota2hero/blob/gh-pages/src/components/Hero.vue#L121
skeleton.addClip(this._currentClip);
app.timeline.addClip(this._currentClip);
这大概就是全部的代码,能帮我看一下么,去掉了shader部分,其他的一样
readSMD.js 我改了一点头
保证加载成功
// import { Quaternion, animation, Matrix4, Vector3 } from 'clay';
Quaternion = clay.math.Quaternion
animation = clay.animation
Matrix4 = clay.math.Matrix4
Vector3 = clay.math.Vector3
结果是模型成功加载了,但是没有动作
examples 中,如果可以的话,放一个clip的使用例子,学习学习。