GAMESH

游戏美术动画unity资源搬运工!

剧情党,完美控!
桐崎千棘
当前位置:首页 > 学习 > 正文内容

使用Three.js在WebGL中导入Json 3D模型和动画

admin9个月前 (04-20)学习2990

当您使用3ds Max创建带有动画的模型时,并且需要快速的工作流来使用Three.js将它们加载到WebGL中时,我建议执行以下步骤:

1.从3ds Max导出模型

通过使用Json Exporter,您将能够轻松地将资产从3ds Max导出到Json 3D Format。导出器支持许多有用的功能,例如程序纹理,皮肤和体形修改器,多个动画剪辑,uv变换等等。

杰德

2.加载模型和动画

下载用于ThreejsJson 3D Loader,将其包含在html中并创建一个加载器:

<script src="three.js"></script><script src="JDLoader.min.js"></script><script>var meshes = [];var mixers = [];var clock = new THREE.Clock; 
var loader = new THREE.JDLoader();// ... the rest of your init code</script>

现在要将模型加载到您的场景中,类THREE.JDLoader将为我们做所有事情,您所需要做的就是指定模型文件路径并定义在加载模型时将调用的回调函数。回调函数具有一个对象参数,其中包含材质,jd_materials,对象和boundingSphere。data.materials是Three.js MeshPhongMaterial数组,而data.jd_materials是原始Json3D材料数组。如果需要创建自己的材质(例如ShaderMaterial),则应该解析data.jd_materials。

loader.load("anim.jd",
            function (data)
            {
                for (var i = 0; i < data.objects.length; ++i)
                {
                     var obj = data.createObject(i);
                     scene.add(obj);                     if (obj.geometry.animations)
                     {
                        var mixer = new THREE.AnimationMixer(obj);
                        mixers.push(mixer);                        var action = mixer.clipAction( obj.geometry.animations[0] );
                        action.play();                     }
                }
            });

最后,我们必须在动画循环中调用其update函数:

function animate(){   var delta = clock.getDelta();
   for (var i = 0; i < mixers.length; ++i)      mixers[i].update(delta); 
  // ... the rest of your code}

就是这样。您可以使用AnimationMixer类添加代码以在多个动画之间混合。


扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由GAMESH发布,如需转载请注明出处。

标签: 3dmax插件
分享给朋友:

相关文章

unity传递参数给安卓

unity传递参数给安卓

package com.psvwifi.gamesh;import android.content.Context;import android.content.Intent;import andro...

RealFlow流体模拟牛奶

RealFlow流体模拟牛奶

RealFlow流体模拟牛奶(一)学习重点:学习目的:Maya中场景文件的准备Maya和RealFlow的交互RealFlow系统设置本案例通过牛奶作掌握Maya与RealFlow的交互,RealFl...

unity游戏引擎开发的ARPG游戏DEMO

unity游戏引擎开发的ARPG游戏DEMO

耗时一个月左右终于完成了这个ARPG游戏的demo,基本框架已经达到了我的要求,只是还有些小bug需要后面慢慢修复!demo功能包括:移动(走动-小跑-疾跑)普通攻击无限连击空中攻击空中对地攻击8个技...

我的AE作品合集

我的AE作品合集

接触AE快五年了,当初因为一个特殊原因开始使用AE!发现自己很容易就上手了,无论是视频修剪处理,还是特效合成都能玩转!近几年由于改做游戏动画行业对AE接触渐渐减少,也慢慢地感到陌生了,电脑里的AE也很...

表演小建议

表演小建议

1.一场戏在中间发生,而不是一开始。2.一个角色应该在100%的时间里都一直“在做”什么。3.一个角色进入场景有因,退出也要有因。4.思考通常导致结论;情感通常导致行为。5.一个姿势不需要语言去说明。...

UNITY自学总结

UNITY自学总结

GameObject1. GameObject.transform   表示获得游戏的对象 2. GameObject.camera   &...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。