そういう、モデルなんです。

ビジネスモデル、3Dモデル、設計図、模型などの現状と動向を考察、関連書籍の紹介

フリーの地理情報 GIS ソフトウェア「QGIS」で精緻に地図を分析する

  • OpenStreetMapは、タダだけど地図(ベクトル)の品質は甚だ怪しい。
    地図そのものが無いアジアの辺境などでは使えると思うが先進国では使えない。
  • GoogleMapは、昔はゼンリン地図だったので信用できたが、今は何がベースマップなのかよくわからない。
    実用上は問題ないが。

ということで、国土地理院の地図などをパラパラ見ていたのだが、ツールを使った方がよさそうだった。今は QGIS というものがよいらしい。

Elaborate map analysis with QGIS, free geographic information GIS software

I was looking at some maps from GSI, but I thought it would be better to use a tool. I heard that QGIS is a good tool now.

  • OpenStreetMap is free, but the quality of the map (vector) is very questionable.
    I think OpenStreetMap can be used in remote areas in Asia where there is no map itself, but not in developed countries.
  • GoogleMap used to be trustworthy because it was a Zenrin map, but now I don't know what the base map is.

It is not a problem in practical use.

このツールのインタフェースは分かりやすいものではなかったので、練習するにあたっては以下の書籍が役に立った。書籍で参照しているURLを、サイトからダウンロードできるのでコピペで済ませられるのが特に良い。

素人には全然、意味が分からないのだが [ XYZ Tiles ] で国土地理院のサイトのURLリンクを参照する新規接続を登録すると、とにかく地図が表示された。

WMSとかWCSとかワケわからんが、他の地図も手順としては同様に読み込めるらしい。

f:id:tombi-aburage:20210613080910p:plain

なおURLの末尾にスペースが1文字入っているだけでも、地図の表示はされなくなるので、よくよく注意する必要がある。空白のトリムくらいはしてくれてもいいのに...

ジオコーディングされていない地図なのか、地名や住所で場所(地物)を特定する方法はよく分からなかったので、ズームイン・ズームアウト・マウスでの位置調整で見たい場所(地物)にたどり着いた。 

tombi-aburage.hatenablog.jp

Google Maps の地図では、以下のような精度だったが、

f:id:tombi-aburage:20210613082441p:plain

国土地理院の標準地図ではもっと詳細だった。拡大縮小の刻みが細かいし、表示も早いので、明らかにこちらのほうが便利だ。

  • 但し、この地図では北西にある建屋は、全国最新写真を見ると存在しないので、標準地図と全国最新写真は、同期はしていないらしい。
  • また Google衛星写真と思っていたものは、どうやら全国最新写真と同じだったようだ。
  • Bing の衛星写真は、色合いが鮮やかだったので、全国最新写真とは出所が違うようだ。

 

f:id:tombi-aburage:20210613082707p:plain

出典:国土地理院タイル、以下同じ

さすがは専用ソフトウェアで便利。

  • 地理院タイル(全国最新写真)のレイヤ表示と地理院タイル(標準地図)のレイヤ表示を高速に切り替えたりすることが簡単にできる。
  • 切り替えすらも面倒くさい場合、透過表示による重ね合わせもできる

    f:id:tombi-aburage:20210613090641p:plain

  • 距離の測定ももちろんできる、地図の回転も小数点以下1桁のレベルでできる。
    もちろん複合させることも...

    f:id:tombi-aburage:20210613091303p:plain

  • 様々な解析もできる(アマチュアなので使い方は分からないが色々ある)

不便だったところは、QGISダウンロードサイトがやたら重く、予想以上に時間がかかったところくらい。

しかし、こんな便利なツールがタダとなると、世の中の有償 GIS ソフトウェアは立つ瀬がなくなるな。

 

舶用エンジン工場の3Dモデリング(トレーシング)Blender 2.9

舶用エンジン工場の敷地レイアウトが分かる工場案内リーフレットをトレーシングして建屋部分を3Dモデルとして作成した後、テクスチャとして航空写真の画像を張り付けることにより、舶用エンジン工場の3Dモデリングを行った。

3D modeling (tracing) of a marine engine factory Blender 2.9

The 3D modeling of a marine engine factory was carried out by tracing a factory information leaflet showing the site layout of the factory and creating a 3D model of the building part, and then attaching an aerial photograph image as a texture.

工場紹介リーフレットを入手する

ここでは例として日立造船 Hitz の有明工場とする。

本社・事業所・生産拠点|企業情報|Hitz 日立造船株式会社

日立造船は、神聖ローマ帝国と同様、もはや日立でもなければ造船でもない会社で造船からは撤退しているが、船用エンジン(原動機)などは製造している。

工場レイアウトを画像にする

工場紹介リーフレットにはレイアウトも記載されている。

  • モデリングの下絵とするために工場レイアウトを入手したい。
  • 日立造船のサイトで公開されている有明工場の紹介資料をダウンロードする。
  • これはPDFファイルなので、Snipping Tool で工場レイアウトのページを画像として保存する。

f:id:tombi-aburage:20210605155422p:plain

Google Maps で寸法を測る

上図では敷地面積は分かるが寸法が分からないので、Google Maps で近辺を検索して、空中写真で測定を行う。

www.google.com

地点間の距離を測定する - パソコン - マップ ヘルプ

大きめの建屋を2つくらい選んで、測定しておく。

  • 最南端「中型エンジン工場」建屋の長辺が304m、短辺が43m
  • 中央「製缶工場」建屋の長辺が289m、長い方(北東)の短辺が99m

Google Maps から縮尺付きで衛星写真を取得する

  • Google Maps では縮尺ゲージが右下に表示されるので、これを含めて取得する。
  • 縮尺ゲージが20mになるまで拡大してから画像として保存する。
  • 縮尺ゲージは5mまで拡大することができる。

f:id:tombi-aburage:20210605161251p:plain

衛星写真はマテリアルやテクスチャのネタにもなる。
なお工場の周辺(柵とか樹木)については、ストリートビューもネタになる場合がある。

2021.6.13追記 後日の調査で、 国土地理院の地図も併用すると良さそうという感触を得た。

tombi-aburage.hatenablog.jp

視点を真上に切り替えてから、平面メッシュオブジェクトを追加

  • この平面メッシュオブジェクトは、先ほど測定した「中型エンジン工場」の建屋の敷地ということにする。
  • Blender のオブジェクトは、見かけの寸法は大きくても、実際の寸法は(工場の建屋と比べると)かなり小さく設定されている。実寸値を設定して合わせておく。
  • この後、工場レイアウト図(画像)を取り込んで、工場レイアウト図を拡大・位置合わせする予定なのだが、そのさいにはこの建屋(平面オブジェクト)を位置合わせのアンカーとして使う予定である。

最初から表示されている立方体を削除する前に、実寸を表示させる設定をやっておく。
辺の長さ、面積あたりを表示させればよいだろう。

【Blender】デフォルトで辺のサイズ等を表示する – Unityの使い方|初心者からわかりやすく

表示されるのは、編集モードの時だけ。オブジェクトモードでは表示されない。

f:id:tombi-aburage:20210605155735p:plain

平面メッシュオブジェクトの寸法を測定した建屋敷地の実寸に合わせる

オブジェクトモードに切り替え、右上のサイドバーを展開表示させる。

  • 目を凝らしてよくよく見ると < マークがあるのでそれを押す
    [ビュー] からサイドバーにチェックでもよい
  • アイテム - トランスフォームが表示される
  • ここに寸法という欄があるので、ここに先ほどの測定値を入力する。
  • 最後に [オブジェクト]-[適用]-[スケール] を行って実寸に変更する
    これをやらないと、このオブジェクトは編集画面上で見かけ上の大きさしか変更されていない扱いになる。
  • 実寸に変更されたかどうかテストしておく。
    [オブジェクト]-[クリア]-[スケール]を行っても、大きさが変わらなければ実寸に変更されている。
  • 下絵の実寸サイズは、サイドバーの寸法の数値で確認することもできる。 

表示されるのは、オブジェクトモードの時だけ。編集モードでは表示されない。 

f:id:tombi-aburage:20210605164932p:plain

Blender にとっては巨大すぎる物体らしく、入力すると画面全体がこのオブジェクトになるが、ズームアウトすれば別に問題ない。

視点を真上に切り替えてから、工場レイアウト画像を取り込む

  • 余計な操作をしていなければ、視点は真上になっていると思うが念のため...
  • [ファイル]-[インポート]で取り込むつもりだったが、PNG形式の画像をインポートすることができないようだったので、ドラッグ&ドロップで取り込む。

おまえの次のセリフは「ちっちゃ!」という!

  • Windows エクスプローラから工場レイアウト画像をドラッグ&ドロップ
  • この小さいのが、工場レイアウトのエンプティオブジェクト

f:id:tombi-aburage:20210605172225p:plain

とりあえず拡大しなければ話にならない。

  • [S]を押してから、倍率を数字で入力
    適当に100を入力したら、割と近いサイズになった。
  • さきほど追加した中型エンジン工場の平面メッシュオブジェクトの大きさを基準(アンカー)にして、手作業で工場レイアウト図面エンプティオブジェクトのほうをリサイズ

短辺の長さは合わないが、まあ、こんなもんでしょう。

f:id:tombi-aburage:20210605173659p:plain

  • [オブジェクト]-[適用]-[スケール] を行って実寸に変更する
  • 実寸に変更されたかどうかテストしておく。
  • 下絵の実寸サイズは、オブジェクトデータプロパティのサイズの数値で確認することもできる。 

工場レイアウト画像(下絵)の位置をオールゼロにし、位置・回転・スケールをロック

  • 右上のサイドバーを展開表示させ、位置を全てゼロにする
  • 位置・回転・スケールをロックしておく

マウスドラッグでの拡大縮小は何故か利いたままだが、その他の位置・回転・スケール操作についてはロックされる。

寸法合わせ用の「中型エンジン工場」平面は非表示にしておく

どうやら図面の寸法と航空写真から測った寸法が一致していないことが分かったが、寸法は工場レイアウト(下絵)に合わせることにする。

最初に作った平面オブジェクトは、しばらく用済みなので非表示にしておく。

透視投影のカメラ位置を、資料の写真に合わせる

最初に入手した工場紹介リーフレットには、上空から撮影した工場の写真もある。

これを画面の左半分(またはセカンドモニター)に表示し、右半分の Blender に反映していく目論見なのだが、Blender のカメラが近すぎる状態になっているはずなので、カメラを遠ざける。

  • Blender をカメラ・透視投影に切り替えてみる。[0]キー
    カメラの位置にもよるが、こんな感じに見えるのではないか。
    f:id:tombi-aburage:20210605181451p:plain
  • 全部が見えるようにカメラを遠くに動かすと、あるところで下絵の工場レイアウトが消えてしまう
  • カメラの範囲が近く 0.1 m ~100m に初期設定されていることが原因らしい。
    工場レイアウトがカメラが撮影する距離(範囲)の圏外となってしまい、下絵は存在するが見かけ上は消えたようになってしまう。

カメラの「範囲の終了」を十分遠くに設定する

  • 範囲の開始の下にある、終了を十分に遠く、例えば 5,000m くらいに設定する。

f:id:tombi-aburage:20210605205015p:plain

ビューの「範囲の終了」も十分遠くに設定する

カメラだけ設定しても、ユーザー視点の表示は変わらないので、以下のように下絵の一部がスリット状に見えているような状態になっているかもしれない。

f:id:tombi-aburage:20210605205337p:plain

 似たような設定がサイドバーのビューにもあるので、これも同じように設定して治す。

f:id:tombi-aburage:20210605205417p:plain

固定 - カメラをビュー に設定して、カメラの位置合わせ

カメラの位置とは関係なく、編集時のビューは自在に変更できるので、この作業は後回しでもよいが、時々、カメラ視点キー [0] を押すクセがあるので先に設定しておく。

  • マウスホイールでズーム調整
  • [Shift]+中央ボタンドラッグで枠内に入るように調整

f:id:tombi-aburage:20210605211819p:plain

なおリーフレット表紙には、陸側から海側を見た写真もあるので、もう1つカメラを追加して設定しておいてもよいし、このカメラの設定を都度変更してもよい。

視点を真上に切り替えてから、建屋を追加する

写真を見ながら建屋を追加する。高さについては目分量でやっていくつもり。

単純に立法体オブジェクトを追加すると

  • 例によって、すごく小さいものがカーソル位置に作成される
  • 原点が重心にあるので、地下室が作成されたかのようになる

毎回100倍に拡大して、原点を直す操作を繰り返すほど暇ではないので、大きさと原点を初期設定した立方体のテンプレートを用意し、それをひな型として複製する。

原点を底面の左下隅の頂点に移動させる。

地下室は要らないと思うので、原点を底面の左下隅の頂点に移動させる。

  • 立方体を追加して、100倍に拡大する [S]-100
  • 編集モードで、頂点選択にして左下隅の頂点のみを選択
  • 頂点に3Dカーソルを移動させる

    f:id:tombi-aburage:20210605220446p:plain

  • オブジェクトモードに戻す
  • 頂点に原点を移動させる

    f:id:tombi-aburage:20210605220715p:plain

  • [サイドバー]-[アイテム]-[トランスフォーム]位置の Z をゼロにする
    これで地上物になった。

これで立方体の原点は移動され、地上に配置された。
拡大縮小がだいぶやりやすくなったはずだ。

背の低い建物から先につくる

高さについては、全ての建物を建ててから調整したほうがよさそう。

  • 写真から背の低そうな建物を選ぶ。
  • [オブジェクト]-[オブジェクトの複製]で立方体をコピーする。
  • 視点を真上に切り替えて、X、Yの大きさを合わせる。
  • 視点を斜めに切り替えて、[S][Z] で高さを調整する。
  • [オブジェクト]-[適用]-[スケール] を行って実寸に変更する

必要に応じてワイヤーフレーム表示に切り替えながら、建物を作成する。

戦後の住宅公団の団地みたいに、全く同じ見た目の建物がある場合には、この時点で作成しなくてもよいが、今回はそのような 建物はないようだ。

f:id:tombi-aburage:20210605223359p:plain

屋根にテクスチャを張る練習

Google Maps衛星写真は、ほぼ真上からの映像なので、少ない手番で屋根のテクスチャにすることができる。

まだ建物の造形すら終わっていないので、後で真面目にやるが、やり方のみ少し練習しておく。

  • 建屋のオブジェクト全体を選んで、スマートUV投影などで展開する。
  • UV Editing のウインドウで、先ほど保存した衛星写真を開く。

f:id:tombi-aburage:20210605231102p:plain

  • 3Dビューポートのウインドウで、建屋の天井の面を選択する。
  • UV Editing のウインドウで、UV選択と表示モードを頂点にして、天井の四隅の頂点を画像に無理やりにでも合わせる。

f:id:tombi-aburage:20210605231649p:plain

  • 3Dビューポートのウインドウで、マテリアルプロパティのサーフェス欄にあるノードを使用をクリックして青色にする。
  • 項目ベースカラーの黄色い小さな目立たない丸をクリックして、画像テクスチャを設定する。

f:id:tombi-aburage:20210605232212p:plain

側面のテクスチャは Google Map の画面の一部がそのまま映り込んでいるため明らかに異常だが、天井だけなら、それっぽくは見える。

本当は天井以外のテクスチャは適用したくなかったのだが、天井以外の面を UV Editing で削除することはできなかった。

f:id:tombi-aburage:20210605233841p:plain

端的に言って、この練習の結果は満足できないものだったが、

  • この建屋の敷地は実際には長方形ではないし、手前側の天井は奥側よりも高いので、造形をちゃんとやらないとリアリティは高まらないことが分かった。
  • また、側面のテクスチャも用意しないとダメらしいということが分かった。

側面を含むテクスチャを用意する方法は?

側壁のテクスチャを用意するためには、真横や斜めからの写真が必要になる。

その候補になりそうな映像ソースを考えてみた。

  1. 工場紹介リーフレットにある外観の写真を全て集める
    表紙の陸側情景写真の他にも、数枚、外観の写真があったのでむろん活用する。
  2. Google Mapsストリートビューで、側壁が偶然にも映っているものがないか調べる
    残念ながら、この工場は道路からは遠すぎて壁は移っていない。
  3. Google Earth で斜めからとった航空写真とかないか調べる
    Google Maps と同じく真上からの写真だった。
  4. もう忘却寸前だったがマイクロソフト Bing にも Google Earth もどきがあった。
    その名も Bing Maps。
    航空写真は真上からだったが、昼間に撮影したのか、屋根の色が鮮やかだったので、こちらを使ったほうがよさそうだった。Google Maps では鼠色だったが、Bing では緑や茶色がかった色のようだ。
  5. 他の工場の工場紹介リーフレットにある外観の写真も全て集める

    f:id:tombi-aburage:20210606075248p:plain

    同じ会社の工場なら外観も似ているのでは?と思ったのだが、まちまちだった。
    忠実な再現を目指すのではなく、雰囲気だけなら、他の工場や他社の工場の壁を張ってもよさそうではあるが。
  6. 工場萌えが海側からボートなどで接近して撮った写真を探し出す
    工場萌え

    工場萌え

    Amazon

    しかしネット上に転がっている工場萌え写真は、夜間のライトアップ写真がほとんどだった。そのかわり別の遠景写真などは数枚あったけど、リーフレットの者と大差はないものだった。

これらすべてをかき集めれば、多分リアルなテクスチャ材料ができるハズだが、面倒くさい。

ブログを書きつつ、トラブルに対処そながら、ここまでの作業で8時間かかった。
もう寝る。

テクスチャの最大サイズは?

翌朝、テクスチャ準備についての調査を再開。

Blender マニュアルを見る限り、とくに最大サイズの制約はないが、

メモリを最大効率で利用するため、画像テクスチャは2の乗数で表せる寸法の正方形にすべきです。例えば 32x32、64x64、128x128、256x256、1024x1024、2048x2048、4096x4096 です

とのことだった。

の例では

部位によってマップを分けると、UVのつなぎ目の処理が面倒だったため、8,192ピクセル×8,192ピクセルのサイズ一枚にまとめることにしました。

とあった。プロも、やっぱり面倒だと思っているんだね...

なおこの本にはカラーテクスチャをもとにバンプマップを作成する手順の説明もあったので、屋根の凹凸をつけるために、やってみることにする。

テクスチャ保存されてなかった...

昨晩、保存した Blender プロジェクトを開いた...が、屋根のテクスチャは忽然と消えていた。よくあることらしい。

Blenderで設定したテクスチャが消えた

まあ、テクスチャそのものを入れ替えるから、別にいいけど気を付けよう。

巨大テクスチャ画像を GIMP 2.8 で製作

面倒くさいのだが、どのみちやることであれば今やっておこう。

Bing Maps で同じ場所を検索し、[Windows]+[Shift]+[S] で画像をクリップボードに切り取り、GIMPクリップボードから画像を生成したら以外と小さかった。

f:id:tombi-aburage:20210606083833p:plain

ほとほどのサイズということで、キャンバスサイズは 4096×4096 に変更した。

2枚目以降の画像は [編集]-[クリップボードから生成]-[レイヤー]で別のレイヤーに張り付けていく 

f:id:tombi-aburage:20210606085335p:plain

途中、張り付けたレイヤーが移動できないトラブルに見舞われたが

レイヤーの移動・編集ができないときの対処法 – GIMP | カンデザWeb

で解決した。

おそらく屋外と思われた以下の建屋についても切り出しておいた。

  • 第2エンジン実験棟
  • 焼鈍炉
  • ガンマ線遮蔽機能検査設備
  • 技能研究所

また後で画像を足すかもしれないので、GIMP のプロジェクトも保存しておく。
あわせてテクスチャを画像でエクスポートしておく。

テクスチャの材料は集まったので、貼り付け先の建屋のモデルを、より実物に近いものに修整することにした。

なんという奇妙な建屋の形状であることか...

とりあえず立方体で表現できるところまで縮めて、そこから伸ばしていこうかと思ったのだが、やり方が分からなかった。

f:id:tombi-aburage:20210606091652p:plain

ワイヤーフレームにしてループカットしたら内壁が作れたが、位置が中央になってしまった。ループ選択で辺ループを選び、Y軸方向に固定してスライドさせたら丁度良いと位置に内壁が移動した。

f:id:tombi-aburage:20210606093604p:plain

ここから右側の面を押し出せば建屋が伸びるか?

と思ってやってみたが当然それだけではダメだった。

  • 一旦、面を差し込んでから押し出せばX軸方向へ伸ばすことはできた。
    但し、この方法では差し込んだ面の大きさを調整する必要があり、面倒だった。
  • その後、わざわざ新たな面を差し込まないでも、面を選んでから[法線に沿って面を押し出し]をすればもっと簡単にできることに気付いた。
  • [透過表示を切り替え]すれば、裏側の面が選ばれないようにできることに気付いた。
  • 的確に面を選択するのは難しく、選択ツールのモードを除外モードに何度も切り替えたりするのが面倒だった。

部屋割りを後から行う方法は、編集が難しすぎた。

写真をよく見ると、総組立工場の部分だけ天井が高いのだが、さきほど区切ったメッシュとは区切りが合わないので、上方向にそのまま押し出せない。面倒くさい...

f:id:tombi-aburage:20210606102645p:plain

  • 一旦、上に別の立方体を乗っけて、合成するか?
  • それとも区割りを完全に工場レイアウトと合わせるか?

先々、中を作ることを考えると区割りを合わせておいた方がいい気がしたので、総組立工場の周囲に関しては、工場レイアウトの部屋割りの線に合わせてループカットすることにした。 

総組立工場の天井だけ [法線に沿って面を押し出し] を行って嵩上げ。

f:id:tombi-aburage:20210606110857p:plain

でも写真をよく見ると、手前の側面は高さが低いようだった。
屋根とかもついているようだし...横には張り出し部があるようだ...

f:id:tombi-aburage:20210606110820p:plain

部屋割りどおりに作って、組み合わせる方法に変更した。

この後、2時間くらいかけて部屋割りをしていたのだが、色々ミスをしてモデルが壊れた。外枠を作ってから中を分割するのは難しい手順だったようだ。

主棟のオブジェクトは、すべて削除して更地にして、最初からやり直す。

  • よく見ると、工具室の天井が低い
  • よく見ると、大型機械工場の天井の形は部屋割りと異なる張り方
  • よく見ると、天井は斜めになっている

などなど、色々見落としがあった。

  • 新しい部屋を小さめに作り、スナップ先を面にして、既存の部屋に隙間なくつなげるようにする

のがコツのようだ。

これまでの半分以下の時間で、主棟をいい感じに造形できた。

スナップさえ怠らなければ、ぴったり位置合わせした複合の建屋が作れた。
ループカットや細分化で部屋割りするよりも数倍、操作は簡単だった。

f:id:tombi-aburage:20210606134508p:plain

一部の部屋割りは省略しているが、おおむね図面どおりになった。

f:id:tombi-aburage:20210606134638p:plain

それではテクスチャを張るぞ。

分かりやすいところから。まずは総組立工場のメッシュにテクスチャを張る。

マテリアルを作成、ノードを使用、ベースカラーから画像テクスチャ...最後に [UV]-[スマートUV投影]でUV展開したら、バカでっかい展開図が出来た。

まずは展開面を縮小して適度な大きさにする。調整。調整。調整...

6時間くらいやって、ようやく出来た。

f:id:tombi-aburage:20210606160115p:plain

だいぶ、それらしくなった。

ここまで作って思った、隣のジャパンマリンユナイテッドの造船廠のほうが萌え要素があると...

数時間後、テクスチャは剥がれていた orz

数時間後、作業を再開したらほとんどのテクスチャが剥がれていた。

どうやら、テクスチャを割り付けるたびにテクスチャ画像を保存しないといけないらしい。またやり直すのも嫌なので、剥がれたオブジェクトはそのままにしておいて、そもそもテクスチャの質を上げる方法について再考することにした。

  • テクスチャを張った壁面を拡大すると、かなりぼんやりしていることが明白に分かるので解像度は高めたい。
  • 繰り返しの模様になっているテクスチャは、精度の高いものを1つ作って繰り返し表示するなどできないだろうか。
  • 参考写真がない側面に張るテクスチャをどうするか。

普通(プロ)はUV展開した後、テクスチャを展開図に合わせて用意するらしいぞ。

これまでの手順では、

  • テクスチャはアリモノの資料をそのまま集めて貼り付けただけで、一切編集していなかった。
  • UV展開された図形を拡大縮小したり、UV展開された図形の頂点を資料の画像の適切と思われる位置に移動させるなど、展開図の方を編集してテクスチャに合わせていった。こんな風に。
    f:id:tombi-aburage:20210605231649p:plain

これが普通なのかと思っていたが、

  • UV展開したワイヤフレームの図面を外部ファイルに出力
  • その画像に(まともな)テクスチャを割り当てたり、ペイントしたりする

やり方が主流らしい。ほとんどの書籍(プロを目指す方向け?)では、

  • モデルを完成させるまではテクスチャに着手しない
  • 高品質のテクスチャを作成するか割り当てるかして、しっかり仕上げる

ことを暗黙の前提としており、上記のような考え方になっているらしい。

確かに、今回は逐一テクスチャに合うようにUV展開図の方を変形させた結果、

  • UV展開図は、惨たらしいほど歪んだ多角形の集合体になってしまっている。
  • 資料では見えていない実体部分については、割り当てるべき写真がテクスチャにないので、仕方なく他の似たような部分を流用して割り当てた結果、モデルのどこがUVのどこにマップされているのか分かりづらくなった。
  • UV展開図とテクスチャの対応関係が、1対1ではなく、N対1になってしまった。
    テクスチャを修正すると、最大でN個のメッシュに修正の影響が伝搬してしまう。

ので、これをベースとして、高品質を目指すのは難しそうだ。

  • テクスチャを作る(直す)工数はゼロなので、この品質で良しとする
  • これはこれでプロトタイピングと割り切って、本番は(プロにとって)普通のワークフローで作る、テクスチャも含めて。

のがよさそうだ。

2021.6.19追記 以下の書籍(入門)では、2種類あるよネとの解説があった 

  • テクスチャ画像がある場合、例えば写真など
  • テクスチャ画像が作成する必要がある場合、例えばオリジナルキャラやテロップ(小物)の制作

ゲームエンジン Unreal Engine 向けのアセット

これは Unreal Engine 向けのもの。マテリアル、コリジョンなども設定済み。

unrealengine.com

UE のマーケットプレイスのトレンド記事の1番目はコレだった。

サイトに登録しない限り価格は表示されないようだったので、購入を押してサイトに登録したところ Steam アカウントで登録できた。無料だった。すごいな。

ゲームエンジン Unity 向けのアセット

無料 FREE の工場アセットを検索。そこそこある。

assetstore.unity.com

Blender 向けのアセット

BlenderKit というサイトがあるらしい。

www.blenderkit.com

ライセンスは再販不可のRFと CC0 の2つで分かりやすく商用利用も可。

 Everything you download is available for commercial use. 

BlenderKit - Get free 3D models, materials & more directly in Blender

 

Blender で3Dモデリングとアニメーション 3DCG ができるようになるまで

Unity の練習中に出来合いの 3Dキャラクター(モデル)を使っていたのだが、こういうものを自分で Blender で作るとしたら、どうやればいいのか気になったので調べた。

細かいことは分からないが、少なくともモデルを作って、アニメーションさせる必要はあるだろうと思って、それらについて書かれた本を探した。

Blender 2.8 での 3Dモデリングについて

何冊か読み比べたが、下記の本が大判・フルカラーで網羅的に説明されており分かりやすかった。

Blender の画面操作は、慣れるまでは分かりにくい、かなりクセがあるものだが、細かい画面操作含めてたくさん実物の画面イメージが示されていたので迷うところが少なかった。

アニメーションについて

3Dモデルの作り方は大体分かったので、アニメーションについて学ぶことにした。

そもそも最近のアニメーションって、どのように作っているのかすらも分からなかったので、図書館でそれらしいテーマの雑誌を見つけて読んでみた。 

tombi-aburage.hatenablog.jp

Blender で 3DCG 作画といった記事もあったので、Blender で作ることは普通のことでもないが、異常なことでもないということは分かった。

しかし、どちらかというと背景のほうを Blender で作っているという話であって、人物のほうを作っているわけではなかった。

キャラクター(人物)のアニメーションについて

ツールとは関係なく、3DCGというのは一般にこうだよ、という概念とか理論の部分は、以下の書籍が最も分かりやすかった。 

3DCGアニメーション入門

ツールを Blender に特定した場合のテクニックや手順については、以下の書籍が分かりやすかった。モデリングの説明は巻末に少しあるだけで、ほぼ全編がアニメーションのやり方となっているので、モデリングが分かっている段階では、余計な説明がない。

上記の3冊を習得しておけば、Blender で出来ることは(品質はともかくとして)ほとんど出来るようになる。

Unity への取り込み方について

モデルにアーマチュアを適用してアニメーションが出来るようになったが、Blender の中で動いているだけであり、Unity に取り込む方法は分からなかった。

tombi-aburage.hatenablog.jp

作法を守って作る必要はあるが、取り込むこと自体には問題はなさそうだ。 

王侯貴族は 3ds Max を使っているらしい

色々調べているうちに、お金持ちの方々は Blender ではなくて 3ds Max とかいう代物を使っているらしいと分かってきた。

冒頭の Blender 2.8 3DCG スーパーテクニック とカバーしているトピックはほとんど同じだが、ツールが 3ds Max の場合の解説本がこちら。

操作方法が違うだけで、機能については Blender との違いは分からなかった。
お金かかるの嫌だから Blender でいいや。

 3ds Max を使いこなして高度なモデリングをするテクニックについてはこちら。

すごくフォトリアルなモデルを作るためのテクニックが書いてあるようだったが、自分のレベルが低すぎる(箱人間レベル)ため、ちょっと今は関係なかった。

質感を出すには、3Dペインティングの専用ソフトを使うといいらしい

人間のモデリングはともかく、物体についてはフォトリアルに作りたいと思って、色々試していたのだが、その過程でテクスチャとかマテリアルとか3Dペイントを使いこなさないとダメらししいと分かった。

tombi-aburage.hatenablog.jp

金がかかるのでやらないが、 3Dペイントについては Substace Painter というソフトが高品質なマテリアルやペイントができる定番商品になりつつあるらしかった。

 Blender では

  • マテリアルの標準テンプレートがほとんどない
  • テクスチャを適用するための手順が複雑
    色々なマップを別々に用意しておいてシェーダに複合処理させるフローを自分で構築しないといけない
  • 表現を実現するために必要な設定がどれで、どこにあるかが分かりにくい。
    設定方法も統一されていないので直観的には分からない

などの分かりにくさがあるが、Substance Painter はテンプレートも多いし、適用する手順もほぼ同じ(塗るメタファーのみ)なので分かりやすそうだった。

 

 

 

 

Fast Data Strategy 2021 Japan(デノド Denodo)

デノド Denodo という会社は知らなかったし、申し込んだときは正直なところ、何のセミナーなのかも分かっていなかったが、データ仮想化のサービスの話だった。

www.denodo.com

データレイク・アクセラレーションvs. データ仮想化 – その違いは

スライドの出来栄えはいまいちだったが、話はいちばん面白かった。

あらゆるデータソースを1つに統合できるという主張するベンダがいるが、無理くり統合するより仮想化の方が安上がりで現実的でしょう?という話。

データのシングル・ソース・オブ・トゥルースを実現するSnowflakeのご紹介(Snowflake

データソースからのデータ統合は Snowflake でやって、利用者向けのデータ仮想化の方には denodo を使うという使い分けを提案していた。

Snowflake 自体は、信頼できるデータを自分のところ(1カ所)に集めるという考え方なので、この点においては、上記の主張(無理に集めないまま、仮想化で論理統合)とは相容れないところはある。 

クラウドファーストによるデジタル変革を阻む壁事業現場で直面するデータ活用課題に対するベストプラクティスのご紹介(大日本印刷

パートナーの大日本印刷 DNP から。
超大手企業で、自社でも使っているという点が信頼の源か。
話の流れは普通だったが、導入効果(数値)も説明していたので参考になった。

Denodoを核としてデータ起点で進めるデジタル変革の取り組み(大林組

ユーザ企業(大林組)からのプレゼン。

一番関心があったのだが、セミナーサイトへのログインができず、パスワード再発行とか色々やっているうちに時間が経ってしまい半分以上、聞き逃してしまった。

製造業に向けた工場のデータ活用からはじめるデータ仮想化(日本システムウエア

話の流れは、よくある流れであり普通。

Toami という製造データのIoTサービス(ソリューション)の解説があり、これ自体は普通のものに見えたが、サービス実績のロゴを見ると、そこそこ大手にも食い込んでいるようだった。

しかし Toami と Denode が統合されているというわけでもないように感じた。

Toami もあるけど、それとは別に Denode もデリバリできるよ(製造業のデータを熟知しているから)と言っているように感じた。

「PoCを成功させるジール支援サービスの紹介」~大林組様など多数の実績・隠れた課題の洗い出しから解決までを支援~(ジール)

コンサルサービスのご紹介。資料をそのまま読んでいたようだった。

大林組からのプレゼンが冒頭にあったので、かぶらないように、こちらの話はサービス紹介にとどめたのか。

クラウドの仮想化- 新しいエンタープライズデータアーキテクチャの機会

データマネジメントの最近のトレンドについて、外国のコンサルファームの方のお話。

Denodo導入パターン例および導入効果のご紹介(日鉄ソリューションズ)

NSOL金融営業より。パターンと名付けるほどのものでもなかったが、素人にも分かりやすい典型的なユースケース2つが紹介されていた。

Unity で利用できる人物モデル(キャラクタ)を Blender で作るには?

モデルを Unity のヒューマノイド humanoid に合わせるべし

  • Blender では、骨(ボーン Bone)を組み合わせてモデルのポーズを簡単に操作できるようにする骨格の全体構成のことを、アーマチュア armature と呼んでいる。
  • アーマチュアに相当するものを、Unity ではメカニム mecanim と呼んでいる。
  • 人間の骨は 206本あるらしいが、もちろん全てをモデリングするほど暇ではないので、最低限で済ませたい。
  • Unity に取り込む(インポート)場合の最低限の骨格は、Unity 側で定められているヒューマノイドアバター humanoid avatars モデルのメカニムとなる。

    https://docs.unity3d.com/uploads/Main/AvatarIntro.jpg
    出所:Unity - Manual: Humanoid Avatars

  • よって、これを鑑として、Blender でアーマチュアを作成すればよい。

ヒューマノイドアバター humanoid avatars モデル

  • 上図の濃い二重丸◎の部分を、骨にすればよい。必須は15個ある。
    点線の二重丸の骨は必須ではないが、名前は決まっているので作る場合には合わせる。
  • 骨を命名するさいの英字名称は、以下のキーワードで検索すれば分かる。
    unity humanoid bone names
  • Blender の骨の名前を、上記と一致するように合わせればよい。

取り込みの手順

HumanBodyBones - Unity スクリプトリファレンス

シェイプキー Shape Keys

  • シェイプキーによるアニメーションも取り込みたい。
  • 以下のようなキーワードで検索すれば色々な記事が見つかるだろう。
    unity blender shape key animation
  • シェイプキーが移行されたら、キーの値を変更するようなスクリプトを実装することにより、アニメーションさせることができる。

素人がマテリアルやシェーダで質感を出すのは不可能、テクスチャでしのぐべし

以前の Blender はショートカット依存で使いづらかったので、Steam でダウンロードはしていたものの、しばらく放置していたが、2.8 以降、とても使いやすくなった。 

以前の記憶はあまりなかったのだが

を読んだら

従来の「ショートカット・キー」を主とした作業内容からの脱却を試みました。

と記述があったので、やはり大幅な改善がされたようだ。

少しやる気出てきたので Blender 2.8 の書籍を参考にしながら 2.9 で練習を再開。

ガラスのコップに入った水をモデリング 

グラスBDSFなどを使って、周囲のグラス部分はそれらしくなったが、中の水の質感が出せない。

f:id:tombi-aburage:20210529073805p:plain

設定だけで、それらしく見えるようにしたかったので、マテリアル Material とモディファイアー Modifier を色々いじってみた。

すぐにマテリアルでは望み薄だと分かったので、モディファイアーを色々試した。
水に関係しそうな名前のモディファイアーは以下の3つだった。

モディファイアー「波」

表面にさざ波を立てたかったのだが...

レンダリングしても何も変化がなかった。

アニメーションレンダリングにしてみたら、中の水が上下運動を始めた。
静止画を変化させるためのものではなかったようだ。これはこれで面白いが。

モディファイアー「海洋」

コップの水が大海原になったw

f:id:tombi-aburage:20210529075528p:plain

 波と組み合わせたら面白いかもと思って、アニメーションレンダリングをさせたら、処理が終わらなかったので中断した。大海原全体をレンダリングしていたのだろうか。

モディファイアー「流体」

設定は物理演算タブにあります

という書き置きが表示された。物理演算タブを見て、

を選んでレンダリングしたが何も変化はなかった。

アニメーションレンダリングを行ったら、処理が終わらなかったので中断した。

コップに穴を空けたらどうなるのだろう?

円柱を側壁に刺して、モディファイアー:ブーリアンから差分とやれば、側壁に穴が開くかもしれない...と思ってやってみたところ、側壁に穴が開いたが円柱そのものが嵌まりこんだままであり、結局穴は開かなかったw

f:id:tombi-aburage:20210529082638p:plain

アニメーションレンダリングすれば物理演算されて、水圧で栓が抜けたりするかもと思ってやってみたが、やっぱり処理が終わらないため確認できず。

結論としてはテクスチャが一番もっともらしい結果に

テクスチャ 水面 でぐぐって、それらしい画像を探してきた。

www.beiz.jp

テクスチャを 張り付けたら、ほぼ納得できる結果になった。

f:id:tombi-aburage:20210529071735p:plain

でも、まださざ波は立っておらず、のっぺり感は否めない。

同じテクスチャをノーマルマップとしても使用して凸凹をつけた

さざ波向けのノーマルマップを作るのも探すのも面倒だったので、同じテクスチャをノーマルマップとして適用してみた。手抜きもいいところだ。

f:id:tombi-aburage:20210529085714p:plain

強さを調整すれば、多少の凹凸感は出せたが、ちょっとコップの中の水には見えない。

f:id:tombi-aburage:20210529085739p:plain

そのものズバリのテクスチャを探し直し、張り直した。
ノーマルマップなしでも、それらしくは見えているのでよしとする。

f:id:tombi-aburage:20210529092514p:plain

 

AutomationAnywhere 手書きの帳票も、フォーマットが可変の帳票も- IQ Bot で手が届く、紙業務の自動化

たぶん2年位前のソフトバンク主催のセミナーで話を聞いた後、しばらくRPAのことは忘却の彼方だったが、最近、書籍が出ていたので一通り読んだ。

当時のセミナーでは IQ Bot とかいう機能がウリらしかったのだが、あまり細かい話はなかった、もしくは自分が最前列なのに半分寝ていたらしく覚えていなかったので、オンライン・セミナーに参加して詳しい話を聞いてみた。

同じ業務なのだが異なる相手先フォーマット(例では注文書)で事務処理するケースで、情報項目の読み取り設定を相手先フォーマットごとに定義するという面倒くさい準備作業のところを、かなり AI (IQ Bot ) が支援してくれるようだった。

但し、OCRのIT基盤の統合はされていないようで、Tegaki サーバだけは Linux で、これはクラウドでは使えないらしい。これによって生じる機能差異が何かはよく分からなかった。オンプレで使うのが安全そうだ。

質疑は、他の RPA や OCR との違いに集中していて、かなり参考になった。
というかメインディッシュはこちらだった。

  • 実際に日本のお客様に適用して、読み取り成績が良かった帳票の種類
  • 逆にうまくいかなかった例

を説明していて、何でもできますみたいな胡散臭い話ではなかったので、信用できる内容だった。

  • 対応しているOCRは5種類のうち3つが日本語OK(うち1つがTagaki)

という判断のようだった。Tegaki 以外は、クラウドもOKとのこと。
Tagaki も未定といっていたが、まあ時間の問題だろうとは思うが。

読み取り精度は明言しなかったが、必ず聞かれるからということで、色々前提については念押しの上でサンプルは出していた。