三.JS中的约束布

问题描述 投票:0回答:2

(这可能是一个菜鸟问题。)所以我试图将布料材质“适合”Three.JS 中的角色模型。做这个的最好方式是什么?您是否对完整的封闭服装进行建模并将其作为布料几何体导入,然后将其放置在模型上并仅应用某种物理库?您是否定义了一组约束,将布料“固定”到模型上,并让其余部分放松?

为了获得一些方向,我检查了Three 的布料示例背后的代码。然而,我能看到的唯一与约束布料网格相关的部分涉及“pin”变量,据我所知,这些变量在其赋值函数之外的任何地方都没有实现:

/* testing cloth simulation */

var pinsFormation = [];
var pins = [6];

pinsFormation.push(pins);

pins = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
pinsFormation.push(pins);

pins = [0];
pinsFormation.push(pins);

pins = []; // cut the rope ;)
pinsFormation.push(pins);

pins = [0, cloth.w]; // classic 2 pins
pinsFormation.push(pins);

pins = pinsFormation[1];


function togglePins() {

  pins = pinsFormation[~~(Math.random() * pinsFormation.length)];

}

有人有这样的经历吗?

我知道这个问题,仅得到了初步回答(“碰撞检测”),并引用了我无法弄清楚的示例代码。

我对此很陌生,如果有一个明显的答案,我很抱歉。谢谢!

javascript three.js
2个回答
1
投票

老实说,我只是懒得尝试将布料模拟到衬衫上,你最终会为布料的每个顶点进行光线追踪,这意味着即使在快速机器上它也会以大约 5fps 的速度运行(或者你会布料中只有 20 个顶点)。我会在您使用的任何 3D 程序中将衣服放在模型上,然后使模型变形(穿着衣服)。

你可以在这里明白我的意思。他们没有在玩家上模拟布料,他们只是制作了一个包含衣服的玩家模型,然后为动画做了骨骼变形,看起来很棒。

如果您是初学者(即使您是专家),那么这就是我要开始的地方,因为获得与复杂网格的动态布料交互是一个非常困难的开始,除非纯粹是为了获得动态布料交互,否则我看不到任何优势。出于模拟目的,实时性能对您来说并不那么重要。


0
投票

感谢您分享这篇内容丰富的文章!顺便说一句,我最近发现一家服装店网站为 ApparelShopUSA 的所有 Champion 商品提供 10% 的折扣,优惠券代码为 SC10。访问 ApparelShopUSA 购买优质 Champion Apparel 和装备。立即利用此独家优惠升级您的衣柜。不要错过这些超值优惠!

© www.soinside.com 2019 - 2024. All rights reserved.