WebGL实现云朵效果,及遇到的问题,已解决

效果如下:
在这里插入图片描述
1.源代码地址:https://github.com/wdm510708502/webgl-clouds

2.打开index.html,有可能你会惊奇的发现,云呢?云呢? 你可能用的是谷歌浏览器或者360浏览器,而使用Microsoft Edge是可以正常显示的,为什么呢?

3.打开F12的console,你会发现,图片被跨域拦截了,因为这并不是img的src,跨域都是浏览器方的安全策略问题
在这里插入图片描述
4.要怎么解决呢?
在Chrome的快捷图标上点击鼠标右键
在“目标”里面,在原chrome路径的基础上加上 --disable-web-security --user-data-dir=C:\chromedata //注意–之前有空格
在这里插入图片描述
5.在C盘创建chromedata目录

6.一定要以修改目标的快捷方式打开
在这里插入图片描述
7.把index.html拖进来,就可以了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
这里提供一个简单的 WebGL 层次化运动模型案例代码,仅供参考: 首先,我们需要加载一个模型文件,这里使用的是 Wavefront OBJ 格式的模型。可以使用第三方库如 Three.js 来加载。 ```javascript var loader = new THREE.OBJLoader(); loader.load('model.obj', function (model) { // 将模型添加到场景中 scene.add(model); }); ``` 接下来,我们需要为模型的每个部分添加骨骼。这里使用的是 Three.js 中的 SkinnedMesh 类。 ```javascript var skinnedMesh = new THREE.SkinnedMesh(geometry, material); // 为每个部分添加骨骼 var bone1 = new THREE.Bone(); var bone2 = new THREE.Bone(); skinnedMesh.add(bone1); bone1.add(bone2); ``` 然后,我们需要定义每个骨骼的动画。这里使用的是 Three.js 中的 AnimationMixer 类。 ```javascript var mixer = new THREE.AnimationMixer(skinnedMesh); // 定义动画 var animation = new THREE.AnimationClip('animation', duration, [ new THREE.NumberKeyframeTrack(bone1.uuid + '.scale', [0, duration], [1, 2, 1, 1, 1, 1]), new THREE.NumberKeyframeTrack(bone2.uuid + '.quaternion', [0, duration], [0, 0, 0, 1, 0, 0, 0, 1]) ]); // 将动画添加到混合器中 var action = mixer.clipAction(animation); action.play(); ``` 最后,在每一帧渲染时,更新混合器的状态。 ```javascript function animate() { requestAnimationFrame(animate); // 更新混合器状态 mixer.update(clock.getDelta()); renderer.render(scene, camera); } ``` 这是一个简单的 WebGL 层次化运动模型案例代码,具体实现还需要根据实际情况进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值