HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0104
アキアキノヒロロ[GPPBIND_MESH / NOSCALE] とコリジョン / 画面表示との関係11未解決


アキアキノヒロロ

リンク

2022/1/4(Tue) 14:25:20|NO.94873

[gppbind] のヘルプ解説や
「HGIMG4プログラミングガイド」の「19.コリジョングループ設定と衝突検知」「21.物理挙動の設定」
一応理解したつもりですが、実際にプログラムすると、頭が混乱して、訳がわからなくなってきます。

[箱/床/板]と[3D]のノードでの、次の全組合せの違いは?

>[GPPBIND_MESH / NOSCALE] 指定の違い。
>[setscale]有無の、コリジョンサイズの違い。
>その、画面表示サイズの違い。
>[重さ=0 / ≠0] での違い。
あと、
>[板ノードだけでオブジェクト合成したノード]と[3Dノード]の違い。

これら色々組合せを替えて、やってみましたが、逆に余計分からなくなってしまいました。
何をテストしていたのかさえ、曖昧になり、そこに統一された、規則性みたいなものが一向に見えてきません。

どなたか、分かる方、お教え願います。



この記事に返信する


アキアキノヒロロ

リンク

2022/1/4(Tue) 14:31:58|NO.94874

このことは、私のツイッターに、その試行錯誤の過程を載せています。
1月2日からのものです。
https://twitter.com/akiakinohiroro



youdai

リンク

2022/1/4(Tue) 15:01:04|NO.94875

自分も全てを把握しているわけではないのですが、分かっていることだけ書きます。

>[GPPBIND_MESH / NOSCALE] 指定の違い。

GPPBIND_MESHはメッシュそのものが衝突判定になります。
この時、メッシュの単位はFBXスケール単位基準になります。
HGIMG4のスケールの基準もつまりはFBXスケール単位基準ということです。
このFBXスケール単位のFBXでFBXファイルを出力しないとHGIMG4上で同一のスケールにはなりません。
このFBXスケール単位での出力は、blenderでFBX出力する時に指定できます。

NOSCALEはメッシュの形状とは無関係に、Sphia形状の衝突判定になります。
正確にはSphiaのメッシュを持っているのではなく、このモードではHGIMG4の内部ではおそらく距離で衝突を簡易的に判定しているのだと思います。
大雑把な判定ですが、GPPBIND_MESHよりも高速に動作します。

どちらのモードを選択すべきかはケースバイケースです。

>その、画面表示サイズの違い。
画面サイズと衝突判定に関連性はありません。



アキアキノヒロロ

リンク

2022/1/4(Tue) 17:27:06|NO.94877

>このFBXスケール単位での出力は、blenderでFBX出力する時に指定できます。
「指定できる」というのは、FBX出力したその時の「blender」での大きさが
FBXスケール単位での出力としての大きさ、ということですね。
ということは、
[GPPBIND_MESH]指定すれば、FBX出力した「blender」での形と大きさそのままが、
衝突判定としてのコリジョンになる、こういう理解でよろしいですか。
[blender画面表示サイズ]=[コリジョン]

>NOSCALEはメッシュの形状とは無関係に、......
「Sphia形状」というのが調べてもよく分かりませんが、
[箱/床/板]ノードでは、[setscale]でのサイズで画面表示されるが、
[GPPBIND_NOSCALE]指定すれば、もともとの形状がコリジョンになる、
すなわち、結果として、FBX出力した「blender」での形と大きさそのままがコリジョンになる、
[blender画面表示サイズ]=[コリジョン]であって、[hsp画面表示サイズ]≠[コリジョン]となる。
一方、
[3D]ノードでは、[GPPBIND_NOSCALE]指定は、[GPPBIND_MESH]指定しないことと同義になり、
標準扱いになり、[setscale]でのサイズで画面表示されるが、モデル全体を覆うスフィア(球体)がコリジョンになる。
[hsp画面表示サイズ]≠[コリジョン]となる。

ひるがえって、
>画面サイズと衝突判定に関連性はありません
についてですが、
直接関連はないのでしょうが、実際に[hsp画面]での表示を見ると、
[GPPBIND_MESH]指定では、[箱/床/板]ノードは、[setscale]でのサイズで画面表示され、
すなわち、その表示されたサイズの、それぞれの形状がコリジョンになる。
[hsp画面表示サイズ]=[コリジョン]、と考えていい。
 〓〓この場合、[blender画面表示サイズ]≠[コリジョン]になってしまう。〓〓
[3D]ノードでは、[GPPBIND_MESH]指定は、モデルの形状そのものをコリジョンとするから、
[blender画面表示サイズ]=[コリジョン]となるのは分かるが、
 〓〓この場合、コリジョンが作成された後は、ノードのスケール値は反映されないため、
 [setscale]でのサイズで表示されず、[hsp画面表示サイズ]=[blender画面表示サイズ]=[コリジョン]になってしまう。〓〓
このことは、[GPPBIND_MESH]指定で物理設定を行なったノードオブジェクトは、[setpos]などの座標変更は無効なうえ、[getpos]もできないことと関係しているのか。



アキアキノヒロロ

リンク

2022/1/4(Tue) 17:41:43|NO.94878

私の次のツイートは、
>[setscale]でのサイズで表示されず、[hsp画面表示サイズ]=[blender画面表示サイズ]=[コリジョン]になってしまう。
このことを言っています。
https://twitter.com/akiakinohiroro/status/1478153343575142403

また、
>[重さ=0 / ≠0] での違い。
>[板ノードだけでオブジェクト合成したノード]と[3Dノード]の違い。
も、実際プログラムしてみると、あれこれと、想定外な結果を生じることがありますが、
何が関わっているのか、つかめないでいます。



アキアキノヒロロ

リンク

2022/1/4(Tue) 18:55:44|NO.94879

しつこいようですが、もう一つ。

凹みを持ったノードのコリジョン領域専有排除について。
[GPPBIND_MESH]指定すれば、それほど込み入った[3D]ノードでなければ、
モデルの形状そのものがコリジョンとして機能するはずですが、
凹みがあると、その凹みの空間領域もそのノードにコリジョンとして専有され、
他の物理設定したノードを排除してしまいます。凹凸の組み合わせができないで困ります。
逆に、物理挙動のための面がなくとも、面があるかの如く、その方向へ物理的な力を加えて
動かすことが出来てしまいます。



youdai

リンク

2022/1/6(Thu) 13:22:19|NO.94901

>「指定できる」というのは、FBX出力したその時の「blender」での大きさがFBXスケール単位での出力としての大きさ、ということですね。
違います。FBX出力する時のオプションで「FBX単位スケールで出力する」という項目があるのです。
その項目を設定しないとBlender独自の単位で出力されます。

>「Sphia形状」というのが調べてもよく分かりませんが、
単語の綴を間違えていました。正しくはスフィア(sphere)形状です。



アキアキノヒロロ

リンク

2022/1/7(Fri) 06:30:57|NO.94907

youdaiさん、度々のご指摘、ありがとうございます。

「FBXスケール単位基準」、まだ正確には理解できていないですが、
「Blender」で「FBX単位スケールで出力する」という項目を設定して、FBX出力し、
それを「GPB converter」で変換、「HSP」で表示してみました。

「Blender」でそのままFBX出力したものと、大きさを比較すると、
「Blenderそのまま出力」は、「FBX単位出力」のほぼ100倍であることが分かりました。

[gppbind] すると、[setscale] 無効になるので、
もとの「Blender」ファイルを、1/100にリサイズして「Blenderそのまま出力」してみました。
これと、前の「FBX単位出力」とで、[gppbind] なしでの実行は、同じ結果でした。
[GPPBIND_MESH] なしでの [gppbind] 実行も、同一結果。
[GPPBIND_MESH] ありでの [gppbind] 実行は、物理挙動の様子は少し違いましたが、
同じ仕組みが働いていると判断できるものでした。

>メッシュの単位はFBXスケール単位基準
ということが、以上のことから確認できました。ありがとうございます。

ただ、このことは、また、実際の[hsp画面]での表示は、
やはり「NO.94877」で申し上げたことが当てはまっているということでもある、と思います。



zrs90(5さい)

リンク

2022/1/21(Fri) 12:43:27|NO.95130

このスレッドと別の話題になりますが...

blenderの解説書(pdf 1400ページ⁉︎)が
窓の杜で、無償公開されたそうです。

私はダウンロード出来ませんので...
実例とか、サンプルがどの程度
記載があるか不明ですが。

https://www.google.co.jp/amp/s/forest.watch.impress.co.jp/docs/news/1302/036/amp.index.html



youdai

リンク

2022/1/21(Fri) 21:52:14|NO.95138

>https://www.google.co.jp/amp/s/forest.watch.impress.co.jp/docs/news/1302/036/amp.index.html
このPDFは解説がいい加減な部分や間違っている部分が多く、あまりお勧めしません。
どうせ読むのであれば、blender.orgが直に出しているBlender Reference Manualをgoogle翻訳を通しながら読むのがいいと思います。
ちなみにBlender Reference Manualは日本語表示モードもあるのですが、完全ではないので、英語版をgoogle翻訳で読んだ方がよいです。
このマニュアルはblender 3.0だけではなく、全てのバージョンが存在しますので、自分が使っているバージョンを選択しましょう。

Blender 3.0 Reference Manual
https://docs.blender.org/manual/en/3.0/



zrs90(5さい)

リンク

2022/1/21(Fri) 22:24:25|NO.95140

youdai さん ご指摘ありがとうございます。

私、スマホのみで投稿、osも7のみ
の環境の為、内容が新しい物なら
書籍とかよりは、ページが多い分
色々載せてあって、使えるかな?
としか、思ってませんでした。

Google翻訳で、元の説明書を翻訳して
読んだ方が、正確とは...
blender経験者の方から、教えて頂いて良かったです。
ありがとうございました。



アキアキノヒロロ

リンク

2022/1/22(Sat) 09:47:10|NO.95143

zrs90(5さい) さん、youdai さん、情報提供ありがとうございます。

zrs90(5さい) さんご紹介のPDFですが、膨大な量なので、ざっと見た感想です。
正直申しますと、これなら、Yonaoshi さんのYoutubeの方が分かりやすく、その8シリーズ/90以上の動画の高い実用性を買います。
Yonaoshi3D
https://www.youtube.com/channel/UCyQJXfs46GMeQJoD-MxuOLQ
ただ、609頁からの「ライティング」と、1187頁からの「流体シミュレーション」は気になったので、試してみようと思います。
しかし、ここで取り上げている「FBX単位出力」についての解説は、どうも見当たりませんでした。

youdai さん、毎回、有益な情報に驚きます。
ブレンダーの各バージョンのリファレンスマニュアルがあるなんて、知りませんでした。
内容の理解は別として、読みやすさ(項目分け)や、検索機能など、とても助かります。
取りあえず、「アドオン」「インポート/エクスポート」「FBX」等、調べてみます。



ONION software Copyright 1997-2023(c) All rights reserved.