我想使用P5.js将3D模型渲染到我的网站中,并且希望有可以调整的运动部件。我从互联网上抓取了以下图片作为示例
看一下这个工具,有5个核心部分组成了整个组件。在SolidWorks中,我可以将单个零件导出为.obj文件,也可以将整个装配体导出为一个.obj文件。关于能够扩展和收缩该模型的问题,我无法在P5.js中找到任何能突出显示此类功能的要点,或者是否有办法提供某种类型的约束,以便能够合理地进行逻辑处理。如何移动而不必对一堆东西进行纳米动画,以使其按照您自然希望的方式移动。我不知道我是否能够从装配模型中执行类似的操作,或者是否需要将每个零件导入P5中然后进行迭代和装配,我真的不知道从哪里开始。是否有人有处理涉及的内容的经验?
您需要将问题分解为更小的简单块。例如:
对于part1,使用p5,您应该可以使用loadModel()
加载每个.obj文件
就组装零件而言,您应该能够使用loadModel()
/ push()
来隔离坐标空间和组合零件。
更棘手的部分将是模拟,在这里您可以简单,受限或复杂。
[我能想到的最简单的是一组关键帧:push()
之间的零件的关键角度。
更复杂的选择可能是使用带有刚性弹簧(受约束的静止长度)的弹簧系统来模拟系统。激光切割件看起来像是挤压的2D形状,就移动零件而言,它们锁定在2D平面上。
如果要进行完整的3D刚体仿真,则可能要尝试使用像pop()
这样的物理引擎>
这部分听起来令人困惑:
),否则加载.obj文件可能不是前进的方向。您可能需要研究使这些形状参数化:我希望有可以调节的运动部件。
如果零件可以调整,那么除非您有每个可调版本的模型(这是要加载的文件的[[lot
pop()
/ interpolate将顶点组合成网格