three.jsを使用して3Dモデリングツールを開発しようとしています......
ワイヤーフレームプラットフォームで3Dオブジェクトをレンダリングするためにurの例を使用しました!
ここで、マウスのドラッグイベントを使用するか、ボタンをクリックして3Dオブジェクトを拡大縮小することにより、3Dオブジェクトのサイズを変更したいと思います。
返信をお待ちしております!
Mesh
オブジェクトにはscale
プロパティがあります。 mesh.scale.x = 2
またはmesh.scale.set( 2, 1, 1 )
です。
私はあそこの男と同じ問題を抱えています: http :
スケールを変更した瞬間、次のようになります。
"Matrix3.getInverse():行列を反転できません。行列式は0"です。
3つで-r73.js:4482:5
同じエラーが発生します。 THREE.CylinderGeometryの使用
@gundersonヘルプが必要な場合は、stackoverflowを試してください。
オブジェクトのグループがある場合は、それらを_rendering parent_としてグループに追加し、親をスケーリングしてみてください...
const renderingParent = new THREE.Group();
// ...
renderingParent.scale.set(2,1,1);
renderingParent.add(groupOfObjects);
常に変化している場合はどうなりますか? (スケールを10回計算したくない)
ジオメトリの幅と高さを実際に変更する方法はありませんか?
最高、ルイス
@luisArandasヘルプリクエストについては、フォーラムまたはstackoverflowを使用してください。
ボックスジオメトリの場合、コンストラクタ!==スケールのように見えます。 オブジェクトがBoxBufferGeometry(1,1,1);の場合、スケールをx = 1に変更します。 それは私のオブジェクトのREEEEALY異なるビューを示しています。 正常ですか? = -1サイズに設定した後、オブジェクトが大きくなるだけで、ゲームが本当にクラッシュします。
ここにいくつかのスクリーンショットがあります。 したがって、コンソールの最初の数値は、プレーヤーキューブのx、y、zのサイズであり、
cubeSize.xyz = cubeSize.xyz-1;
cube.scale.set(cubeSize.xyz、cubeSize.xyz、cubeSize.xyz)
小さくなった後も同じサイズのままだったようですが、Yポジションで下げてから使うと
cubeSize.xyz = cubeSize.xyz + 1;
cube.scale.set(cubeSize.xyz、cubeSize.xyz、cubeSize.xyz);
ボックスジオメトリによって設定されたものよりもはるかに多くなりますが、変数が再び2になることはわかりません。 理由はわかりませんが、私にとっては、スケールはコンストラクターとはサイズが異なるようです。 多分スケールはメートルと幾何学の足を使っています、私は知りません。
それは私の問題なのか、それとも3つのjsバージョン101のバッグなのか? (100は実際には同じように機能します)
適切な回答を得たい場合は、質問をフォーラムに移動することをお勧めします: https : //discourse.threejs.org/
最も参考になるコメント
Mesh
オブジェクトにはscale
プロパティがあります。mesh.scale.x = 2
またはmesh.scale.set( 2, 1, 1 )
です。