問題タブ [sketchup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
three.js - 「(軸)に沿って反転」でミラー化されたSketchUpエンティティが変換マトリックスに反映されない
下部にある質問の更新....
Ruby でカスタムの SketchUp エクスポート プラグインを作成しています。次に、エクスポートされたデータを使用して、Three.js でジオメトリを再作成します。
一部のコンポーネント/グループの変換で問題が発生し、ミラーリング、または一部の軸に「フリップアロング」が適用されたジオメトリまで追跡しました。簡単に言えば、裏返しは尊重されません。特定のエンティティにこの反転が適用されているかどうかを調べるための SU Ruby メソッドが見つかりません。
変換行列を取得して変換することはできますが (この質問の方法を参照してください)、これらの反転されたオブジェクトでは機能しません。結果の例を次に示します。モデルの残りの部分は問題ありませんが、ボートは明らかにボートの半分を反転して作成されており、この写真ではそれらがいたるところに表示されています。
これらの反転したジオメトリを適切に考慮するにはどうすればよいですか? SU Ruby には別のマトリックスやエンティティ フラグがありますか?
注 1) 組み込みの SketchUp Collada エクスポータ (Three.js ColladaLoader でロードする場合) で同様のバグのある動作を観察しました。
注 2) これは SketchUp Ruby API の問題だと思いますが、ミラーリングとマトリックスに関して明らかな不足がある場合に備えて、Three.js でタグ付けしました。
注 3) 形状が反転/反転ツールの代わりにスケール ツールを使用して反転/ミラー化されている場合 (実質的に同じ結果)、それらは正しく機能します。
アップデート:
この情報を適用するのにまだ苦労していますが、この情報に基づいて近づいています。
更新#2:
Thomthom のおかげで、回転していないオブジェクトに対して正しい反転を検出して適用することができました。単純な回転/スケーリング/反転していないコンポーネントの場合、マトリックスは次のとおりです。
反転 (ミラーリング) コンポーネントの場合、マトリックスは次のようになります。
そのため、その反転を簡単に検出でき、すべて問題ありません。
しかし、同じコンポーネント (反転していない) をいくつかの軸で任意に回転させると、マトリックスは次のようになります。
これは私のエクスポーター/インポーターで正しく機能し、Three.js 側でこのマトリックスを再適用できます。
しかし、すでに回転したコンポーネントもミラーリングされている場合、マトリックスは次のようになります。
このマトリックスを Three.js で正しく動作させることができず、コンポーネントがミラーリングされないため、図に示されている動作が発生します。
だから、私は何をすべきかわからない。object.scale.x = object.scale.x * -1;
より単純なケース (反転のみ、回転またはスケーリングなし) を検出し、そのようなコンポーネントに対してたとえば Three.js を設定することで、正しい結果を得ることができました。しかし、反転されているか、回転またはスケーリングされているアイテムの解決策はありません:(
unity3d - Unity が .DAE ファイルのマテリアルをインポートしないのはなぜですか?
DAE ファイル (SketchUp からエクスポート) を Unity3D にアップロードしようとしています。
メッシュをインポートしますが、それらはすべて灰色です。素材も輸入しているのだろうが、素材はすべて灰色か何かになってしまう。ここに私が意味する写真があります:
スケッチアップ:
団結 :
色 (またはテクスチャ) を含むマテリアルをインポートするにはどうすればよいですか?
ruby - Windows 7 で ruby 1.8.6 で rubygems を要求するとエラーが発生する
以前の質問でいくつかのケースがありましたが、私は Windows 7 を使用しており、彼らは MAC または Linux を使用しているため、それらの回答は役に立ちませんでした。
私のRubyインストールに関する詳細は次のとおりです。
JSON gem を使用しようとしているので、コードの開始方法は次のとおりです。
コードは sketchup プラグイン用です。sketchup を開いて、sketchup がこのファイルを読み込もうとすると、次のエラーが表示されます。
gem がインストールされるはずのディレクトリを調べたところ、そこに gem が見つかりました: C:\Ruby\lib\ruby\gems\1.8\gems
.
libzlib-ruby または libyaml-ruby ファイルが欠落していないことも確認しました。これは、この問題を引き起こした可能性がある理由の 1 つでもあったためですが、これらのファイルはあります。
この試みは、私がインストールしたjson-pure gem.を使用することでした。
インストール時にSketchupが完全なRubyライブラリをインストールしないことを知っています. download.php/47082/ruby186-27_rc2.exe . おそらく、私の問題の理由は、複数の Ruby バージョンがあり、代わりに他のバージョンのファイルが使用されているためかもしれませんが、それを見つける方法や修正する方法がわかりません。
@Sachin Singh gem update --system コマンドを使用しようとしたところ、次のようになりました。
3d - テクスチャを含むSketchUpエクスポートオブジェクト - 方法
Windows 7 (64 ビット)、SketchUp Make 13.0.4812。
目標: three.js を使用して、 SketchUp .obj
.skp モデルを WebGL に変換し、ロードします。
問題: sketchup はモデルを.obj
外部テクスチャとともにエクスポートしますが、これらのテクスチャは three.js によってロードされません。
質問: SketchUp モデル.obj
をテクスチャ付きの 1 つのファイルとして保存することはできますか?