我已经用Google完成了我的3D模型的设计,我的模型包含场景和动态移动,换句话说,我的模型响应用户的点击(单击模型,然后移动模型或做某事),我的查询是,如果我将模型上传到three.js,它是否仍然与用户交互,还是只作为一个实体(不响应单击)查看。很长一段时间以来,我都在寻求这个问题的帮助,如果有可能的话,那怎么做呢?
发布于 2013-09-15 10:03:56
步骤1.将Sketchup模型加载到Three.js中
您可以从sketchup导出(例如作为.obj ),并将模型文件加载到Three.js中。在这根线中有一个例子。这将不会转移任何动画或“点击逻辑”,但你提到。我不认为有一种方法可以转移这种应用程序逻辑。
步骤2.检测单击事件
一旦将对象导入到Three.js场景中,就需要检测用户何时单击对象。你可以通过将光线投射到场景中来“挑选”。Three.js有一个雷克斯特类来执行这个任务。关于如何使用雷克斯特的下面是一个例子。
步骤3.动画对象
一旦你得到一个对象的点击事件,是时候动画它了。在场景中有两种动画方式:第一,你可以在场景图形级别做刚性动画:如果你有一个盒子,你可以把它移动到你的场景中。盒子移动,旋转,也许是鳞片,但它不会改变它的形状。
然后是非刚性动画,这是大多数像人类角色这样的有机事物所做的事情。这种类型的动画不是在场景图级别上完成的,而是通过转换不生动的顶点来完成的。有关如何使用顶点皮肤进行此操作的下面是一个例子。
场景图形级的动画可以说比蒙皮动画更简单。如果你刚开始的话,你可能应该专注于这种简单的动画类型。
https://stackoverflow.com/questions/18803367
复制相似问题