threejs 在微信小程序中,我回答过的一些问题

Posted 刚开始

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了threejs 在微信小程序中,我回答过的一些问题相关的知识,希望对你有一定的参考价值。

小程序玩了一段时间后,又把之前搁置的threejs,捡起来,做了一点东西,对它的了解又多了一些,也回答过群友的几个问题,这里做一次罗列。

不过我也承认threejs真的是很多坑,一个人学是真的很烦。但请耐住性子,毕竟在你前面,别人也是这么一个个踩坑踩过来的,总能搜到办法的。


Q1为何示例里面的模型,在真机预览上都看不到?

如果只是想真机浏览下效果,不考虑日后上线问题,可以在真机预览轻快下,打击页面右边上面的3个点,选择打开调试即可,这相当于开发工具勾选不效验合法域名。

或是日后要上线,那就把模型放到你自己的服务器上,要有域名的,icp备过案的,https的服务器。这是微信的要求,不是threejs的要求,谁都没办法。


Q2:模型能看到了,但是贴图看不到?

:如果引用都正确的情况下看不到,那就是,贴图尺寸的问题,threejs有限制图片尺寸,目前测试最大为2048。并且图片的大小要为2的冥数倍。

 

Q3:出现module libs/three.weapp is not defined ?

本不想收录这个,但确实是有人问过,回答的让人很无奈。


Q4:几何体如何才能上下无限旋转?

:上下旋转也就是绕X轴旋转。下面提供一段我自己的绕Y轴旋转的代码


其中seletedModel,就是加入场景的模型,改成你自己的命名就行

rotationSpeed就是你旋转的速度,变量你自己赋值

 

停止旋转就一句,canvas.cancelAnimationFrame(rotId);


Q5:模型怎能引入?

threejs的使用是,先初始化threejs也就是小程序上获取canvas,然后注册进引入的threejs.js

threejs 在微信小程序中,我回答过的一些问题(1)

然后初始化场景,包括场景内的相机,灯光,最重要的渲染器renderer

完成到这里,后面就可以加载模型了。注释写的还是比较详细的了,理解起来应该没有问题。

最后面的相机位置,是调整了一下相机距模型的视角。


Q6:如何才能在touchstart或touchend中获取到canvas里面的模型

:建议在好好读一下我上面的Q5的答案,毕竟,canvas只是用来展示,模型都是才three的scene里面的。所以要获取模型,应该打印scene信息来看,而不是从canvas里面来。Canvas只是个画布工具而已。

 

Q7:我不想只在调试模式下能看到模型,但是域名服务器那些,我也搞不明白,有没有办法,让我在正常体验版下也可以给别人浏览我的模型?

:这个算是问题1的延伸版,之前我也被这个问题困扰过,后来解决后,觉得自己是蠢的可以。

微信小程序如果是云开发版时,会有一个免费的5G的云数据库和存储空间,我们的突破就是它。



以上7条,是我目前回答过的,群友们提出来的问题,这里做下总结与梳理,如果再遇到一些新的问题,我会再开一篇,进行整理

以上是关于threejs 在微信小程序中,我回答过的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序在微信上怎么显示?

微信小程序ThreeJs加载3D模型

微信小程序怎么授权登录

echart在微信小程序中的应用

在微信小程序中截屏

微信里的小程序有哪些功能,谁能给一个具体详细的回答