僕は発展途上技術者

アメリカのオンラインバンキングサービスに悪戦苦闘

アメリカに住んでいたときに使っていたWellsFargoの銀行口座のオンラインバンキングサービス、これまでずっと使えていたのに最近になってログインできなくなってしまった。ログインしようとすると、認証用のコードを送ろうとするのだが、どうも日本の携帯電話の番号には送れないよう。。

というわけで、カリフォルニアの夕方にあたる午前中にカスタマーサービスセンターに電話で問い合わせ、2時間にも及ぶ激闘の末にようやく勝利してログインできるようになった。

最初の担当者は「認証用のコード送れない、無理!(いやだから問い合わせていて、何とかしてもらいたいんだけど。。)」の一点張りなので、あきらめてかけ直す。

次の担当者、女性でやさしそう。。からは、「Debit Cardを郵送するので、受け取ったらその番号を認証代わりに使える」「じゃあ、送って」「別の番号を教えるから、そちらで郵送の手続きして」とたらい回し。

そして、ようやく最後の渋めの声の担当者、いきなり電話に出たので、もはやコールセンターの担当者ではない様子、にChecking Accountの口座番号やらSaving Accountの口座番号やらSocial Security Numberの番号を聞かれ、ようやくDebit Cardを送るというところまでたどりつく。で、試しにログインしてみたら、Debit Cardを郵送する手続きをする、ということがどうやらトリガーになっていたらしく、受け取るのを待たずしてロックが外れていて、無事ログインできるようになった。

ログインできたときは、ガッツポーズ、何とも言えない達成感を味わったけれど、無事またログインできるようになったという考えてみたら別に大したことのない成果。。高度にゲーミフィケーションされたアメリカ生活の洗礼を久々に体験した。

サーバー(Ubuntu)上でBlenderを動かし、objファイルをインポートしてレンダリングする

最近はUnityやらARKitやら、Blenderを触っていてだいぶ3D慣れしてきました。

objファイルをブラウザからアップロードし、そのファイルで定義された3Dオブジェクトのスクリーンショットを表示したいという要望があり、いろいろと方法を調べたところ、サーバー側でBlenderを動かしてobjファイルをインポートしてレンダリングすればできるということがわかりました。その手順を紹介します。

まずサーバーにBlenderをインストールします。2018/1/11時点で最新の2.79をインストールするため、最新のパッケージを含んでいるレポジトリをadd-apt-repositoryで追加してからapt-getでインストールします。

% sudo add-apt-repository ppa:thomas-schiex/blender
% sudo apt-get update
% sudo apt-get install blender

参考 http://ubuntuhandbook.org/index.php/2017/09/blender-2-79-released-install-it-in-ubuntu/

BlenderはGUIで操作する3DCGソフトなのですが、操作内容をPythonで書くことができ、コマンドラインから実行することができます。

以下が、「--」以降の第1引数で指定した.objファイルを読み込み、第2引数で指定した.pngファイルにレンダリングしたイメージを書き出します。この.pngファイルがスクリーンショットになります。

Blenderを起動するとデフォルトでライトとカメラ、立方体のサンプルのオブジェクトが表示されるので、以下の命令で立方体のサンプルを削除しています。

bpy.data.objects.remove(bpy.data.objects['Cube'])

以下のようにして、Blenderをコマンドラインで呼び出します。

% blender --python import_obj.py -- cone.obj cone.png

--pythonオプションの後に、pythonスクリプトimport_obj.pyを指定し、-- 以降、第1引数にcone.objを指定し、第2引数に書き出す画像ファイルcone.pngを指定しています。

cone.objは円錐の3Dオブジェクトの頂点データを持っています。

上記コマンドで書き出されるcone.pngは以下の通りです。

cone.png

上記import_obj.pyは一つの.objファイルを読み込むだけの非常にシンプルなスクリプトでした。複数の.objファイルを読み込んだり、マテリアルを適用したり、カメラの角度やライトの当て方を変えるPythonのコードを追加することで自在に3Dオブジェクトのキャプチャを取ることができます。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ