2023年8月19日

機械系3DCAD入門 : Fusion 360 vs Onshape vs SOLIDWORKS

 

機械系3DCADを試してみました。

今回テストしたのは以下3製品。(と、おまけ2つ)
いずれもヒストリーベースの機械系3DCADです。
かつ、無料あるいは超低価格で、素人が手を出せるローレンジ3DCADです。
ごく浅いところまでですが同じモデルを作ってみて概要を把握しました。
  1. Fusion 360 
  2. Onshape
  3. SOLIDWORKS for Makers




2022年3月1日

Rhinoceros 7 SubD

 
今さらだけどRhinoceros7のサブディビジョンサーフェスモデリングを試してみました。


Mayaや3ds maxと何が違うの?

基本的にはCG系ポリゴンモデラーのそれと同じです。ただ、CG系のそれに慣れていると細かい部分で機能不足を感じます。

というか、CG系モデラーに慣れているとついつい作りすぎてしまうからそう感じるんですよね...。

そもそもRhinocerosの場合、あくまでコンセプトモデリングとか初期サーフェースを貼るとかの想定でしょうから、SubDモデルに過剰にディテールをつけなくていいはず。

用途が違うんですよね。



Organic Shape Modeling

SubDは簡単に自由曲面を作れるので、とにかくヌメッとした曲面が欲しいだけならとても便利です。ただし、慣れないとなかなか思い通りに作れませんけどね...。

とはいえ、有機的で彫刻的な造形をしたい場合は重宝すると思います。アクセサリーデザインとか彫刻的な家具とかオブジェとか?

なにより、Rhinocerosに慣れている人にとってはひとつのソフトで出来るというのが素晴らしいのではないでしょうか?









CG系ポリゴンモデラー → Rhinoceros

他のCGソフトで作ったメッシュを互換してRhinocerosでSubDにすることもできます。

面の再分割手法がCatmull–Clarkなら同じようなSubD形状になるはずです。ただし、Rhinoceros上ではできないことがあるので、あくまでシンプルに作っておく必要がありますけどね。たとえばEdgeのCreaseの重み付けを値で指定したりはできません。

もっとも、ビジュアライゼーションだけならCGソフトだけで完結するわけですが、いろんなソフトを使い分けるのって結構大変ですよね...。

Blenderでレンダリングしたもの




2022年1月11日

2020年3月28日

Python3 ! for 3ds max 2021

ようやく、Python3 が3ds maxでも使えるようになるようです。
CG系のツールは、長らくPython2系が使われてきたので、これは大きな一歩ですね。

あとは、同じオートデスク製品である、Mayaの次期バージョンがどうなるのか楽しみですね。


2019年3月22日

IoTデビュー : obniz

今、流行りのIoTデビューしました!

obniz

はじめてのIoTなので、Raspberry PiでもArduinoでもなく、obniz
他の2つに比べてちょっと高価なのですが、とても敷居が低いので初心者向きです。
Wifiさえつながれば、その場でobnizのサイトにログインしてobniz cloudからプログラムを実行出来ます。

ペットフィーダー

実はウチの猫が毎朝4時半に「ご飯ください」と起こしに来るので困っていました。
少しご飯をあげれば大人しくなるのですが、そんな時間に毎日起きるのがしんどい...。
そこで以前から興味があった電子工作で自動給餌機でも作ってみようと思い、今回の導入に至りました。
当初、市販のペットフィーダーでも買おうかとも考えたのですが、どれもダサくてイマイチ購入意欲が湧かない...逆に良さげなのは高いし...。
そもそも、早朝に少しだけご飯をあげられればいいだけなので、大仰なペットフィーダーは要らないということで電子工作になりました。
なにより、こちらのほうが面白そうだし。

サーボモーター

"サーボモーターで蓋を開ける"というシンプルなものを作りました。
obnizのボードは、電源をMicroUSBポートからIOポートまで給電しているので、サーボモーターを接続するだけでクラウド経由で動く機械が作れます。

今回はサーボモーターのコネクタをIOポートに直結です。
ただし、ブレッドボード経由じゃないので、そのままだとメス-メス。
普通のピンヘッダを挟んでみると、片方が短いのでやっぱりうまく付きません。
仕方ないので、ピンヘッダを2組用意してケツ合わせでハンダ付けしました。
ほんとは両端ロングピンのピンヘッダがあるといいんですけどね。

そしてゴミを組合わせて1号機完成。
"サーボモーターを動かす"だけの数行のプログラムを、obniz cloudのイベント機能で、時間をトリガーにして自動実行すれば自動給餌機の完成です。

結果

1日目で蓋を壊されました...。食べすぎて吐き戻して廊下がゲロまみれ。
2日目は蓋を強固に固定した後、猫がいじらないようにちょっと高い位置にある水のポットに引っ掛けておきました。早朝、このポットごと引き倒されて、どんがらがっしゃーん、盛大に水浸しに...。
3日目、4時半の給餌は無事クリアした模様。でも6時前に起こしに来られて、もうちょっと寝たい時間帯に邪魔されるという...カリカリの量が足りなかったようです。

感想

カリカリの粒が出てくる機構を工夫しないと、一度に理想的な量をあげるのが難しいです。ペットボトルみたいな漏斗状の入れ物は、出口のサイズとカリカリの粒のサイズの関係で、出過ぎたり詰まったりで、なかなか難しいです...。
こんなシンプルなものでも、解決しないといけない問題が結構あって楽しめます。
ものづくり、面白いです。

あと、2匹以上の場合、それぞれの子が食べる量を管理出来ないので、こういう単純なペットフィーダーって微妙ですよね...。

将来的には、猫の顔を判定して、ご飯の量をコントロール出来るようにする必要がありますね。








2018年7月28日

Modo to 3ds max

久しぶりのModo。
今回はModoデータを3ds maxへ互換したかっただけなのですが、
どうしてもマテリアル情報がちゃんと互換されません...ビューポートには表示されているのに...。

原因は元がVrayマテリアルだからじゃないかと疑っています。(※Advanced Materialが一つも出てこないので。)
3ds maxにはFBX互換ですが、とにかく、テクスチャファイル名が出てこないのが痛いです。救いなのは、マテリアル名がちゃんと互換されていること。


そこで、テクスチャだけでも、Modoのスクリプティングでなんとかしようと、ちょっと勉強してみました。
正直、初めてでよくわからかったのですが、なんとか、マテリアル名とテクスチャノードらしきものの名前のリストを出力できました。
テクスチャファイル自体のパスには辿り着けなかったのですが、このテクスチャノードの名前は、画像ファイル名と一緒らしいので、これは使えそうです。







あとは、3ds max側でMAXScriptを使ってなんとかすれば、マテリアルにテクスチャノードを付けるくらいは出来るはずです。
最悪、うまくスクリプトを作れなくても、一覧があるので、手動でなんとか出来ます。


2018年7月7日

"色が違う!"



色の修正指示は、正直、つらいです。
最近は写真のごとくキレイなCGが作れるわけですが、それでも「指定した色と違う!」といったフィードバックを貰うことがあります。
そりゃそうです。CGなんですから


でも、これがお客様には理解しにくい...。


たとえ、現物を写真に撮ったって '指定色' になんかなりませんし、RGB値を指定したって、同じ色にはなりません。
CGや写真をやる人には常識でも、クライアントにはなかなかご理解頂けないことがあります。


写真に撮ると

そもそも、3D空間に配置されたモノを撮ると、その空間にある様々な要素の影響を受けて '見た目' の色が違ってきます。

照明、床、壁、天井などの周囲の環境や物、外光、陰影などに加えて、カメラの露出設定、ホワイトバランス、カメラアングルなど様々なものが影響を与えます。
これはCGのカメラでも基本的に同じです。

CGの場合は、空間の影響を模倣するのにHDRIライティングという手法を使うことがありますが、これもまた非常に大きく影響を与えます。

光源の色

見た目の色は光源次第でどんな色にでも寄ります。
白いものを '白い' と認識するのは人間の脳です。でも実際は白くないです。
大抵は光源の影響を受けるからです。


表面材質

大抵の素材には '反射' があります。
これもモノの見た目に大きく影響を与えます。
拡散反射が強ければ白っぽくなるし、鏡面反射が強ければ、周囲が映り込んで違う色に見えてきます。
金属など特殊な反射をするものでは、さらに違った見え方をします。
表面の仕上げの差も大きく影響します。
粗い表面仕上げなのか、ツルツルの鏡面仕上げなのか等。


カラーブリーディング

3D空間にある物体は、互いに表面の拡散反射光を受けて、その色味を帯びます。
たとえば、明るいフローリングの部屋の、白い塗装の天井がオレンジがかって見えたりします。
白は、特に影響を受けやすいです。


露出調整

最近のレンダラーは、高精度のシミュレーションを実現するために、人間の目で認識できる範囲を遥かに超えた領域を含めて演算を行なっています。その結果として、いわゆるHDRという画像を生成します。(スマホのカメラでも撮れるアレです。)
これを普通の絵として出力するには、普通のディスプレイで表示できる適切な露出範囲に収まるように補正することになります。(トーンマッピングと言います。)この時、どの程度の明るさに出すかは、作業者の感覚でしかないので、画像の明度に影響を与えます。




そもそも、正しい色を見ているか?

ディスプレイ

'見ている色' が違うという場合もあります。
クライアントと、我々が使っているディスプレイが違うからです。
ディスプレイというものは、メーカーや個々の製品で出力される色が違います。

また、液晶ディスプレイの場合、ディスプレイを見ている角度がちょっと違っただけでも、大きく色が違って見えます。
ノートPCなど輝度が低いディスプレイだと、かなり暗く見えたりもします。
そんな状況でクライアントと色の話しをしても混乱するだけです。

印刷

プリントアウトしたものにチェックを入れてくれるクライアントもいます。
一般的に、ディスプレイ以上に違った色になってしまいます。
正直、オフィスの複合機で出した印刷物を見て、色の話をされても困ります...。


カラープロファイル

より厳密な色管理が必要な現場では、'カラープロファイル' という仕組みを使って、制作工程の上流から下流まで一貫した色を使えるようにします。
環境に左右されない色管理ができるようにするためです。

ただし、カラープロファイルに基づいて正しく表示できる環境がなければ、正しい色を見ることは出来ません。
正しくカラーキャリブレーションされたディスプレイで、ちゃんとした画像処理ソフトで開いている人だけが見ることができます。


ただ、そもそも、街場の建築CG屋で、そこまで徹底してやってるところはほとんどないと思いますが...。



CMYK変換

デジタル画像というのは、使用される分野によって、色空間をどのように定義するかが異なります。
大きく、RGBとCMYKの2つに分かれます。(*Red, Green, Blue) (*Cyan, Magenta, Yellow, Black)

CGなど映像業界ではRGBが使われますが、
出版物などインクを使う媒体ではCMYKを使うのが一般的です。
さらに、各業界で異なるカラープロファイルが使われたりします。

CGを出版物に使う場合は、必ずCMYKに変換することになります。
このCMYK変換をすると、色空間の違いから、色味が変わってしまいます。
これをイメージ通りの色に近づけるのは印刷屋さんの仕事です。











じゃあ、どうやってCG作ってんだよ?
ってことになると思います...。


雰囲気です。


正直、最終的に 'い雰囲気の絵' に仕上がれば良しと思っています。
そもそも、CGなんて、空間を見るのとは印象が違うし、所詮、ただのグラフィック。
CG屋の納品としては、クライアントが納得するような 'いい感じの絵' が出来ればそれでよいと思っています。


もちろん、準備の段階では、出来るだけ指定色や資料に近づくように注意を払います。
日塗工で指定されれば、RGB値を検索しますし、
画像が提供されれば、それからテクスチャを作ります。
現物サンプルがあれば、スキャンしたりします。
でも、どの方法でマテリアルを準備しても、様々な理由で完璧な再現は難しいです。


逆に、レンダリングされた画像を、サンプルチップの色味に近づけようと強引にマテリアルを調整してみたことがあるのですが、正直、'不自然な感じ' に仕上がりました。周囲の影響を無視して色味だけ合わせたからです。


結局、雰囲気だけ信じたほうがいい感じに仕上がります。