MakeHumanのバグのとりあえずの対処
さて、先日のOS X版MakeHumanがOS Xのファイル情報を保持するためのドットファイルも自分関係のファイルと勘違いして読み込もうとした結果失敗してロード画面のファイルセレクタに何も表示しなくなる問題ですけど、とりあえずの対処として、都度、そのドットファイルを消してやるってのがあります。
で、そんな時、最近のソフトらしく(そしてオープンソースのツールらしく)自前で機能を拡張できるってのがあります。
設定→プラグイン でロードするプラグインを選択できます。ここで、7_example にチェックを入れてアプリを再起動。
すると、ユーティリティの中に Expampleってタブが出来ていて、GUIのサンプルが表示されます。
これを実現するスクリプトは、アプリケーション本体の中の
Contents/Resources/plugins/7_example.py
です。なもんで、これを開いて見比べて、簡単なGUIのプラグインをつくってやればいいわけですね。
class ExampleTaskView(gui3d.TaskView) の中身を適時いじっていけば簡単なものがつくれそうです。
ということで、フォルダを指定してやって、ボタンを押したらそのフォルダの中の、MakeHumanのファイルと同じ拡張子を持つドットファイルの削除を行う、という物をつくってみます。
初期化時に箱を一つ作るようです。
box = self.addLeftWidget(gui.GroupBox('Del dot files'))
場所の指定はフォルダの選択ダイアログでやればいいわけですけど、このExample.pyにはそれを出す参考事例は入っていないのでした。仕方ないので他のコードを眺めてそれっぽいのを探します。Contents/Resources/apps/gui/guiload.py にそれっぽい記述がありました。
self.fileentry = self.addTopWidget(gui.FileEntryView('Browse', mode='dir')) self.fileentry.filter = 'MakeHuman Models (*.mhm)' # Declare new settings gui3d.app.addSetting('loaddir', mh.getPath("models")) @self.fileentry.mhEvent def onFileSelected(event): self.filechooser.setPaths([event.path]) self.filechooser.refresh() # Remember load folder gui3d.app.setSetting('loaddir', event.path)
ここの部分を丸写し。ただし、つくった箱の中に置きたいので box にたいして addWidget しております。
self.fileEntry = box.addWidget(gui.FileEntryView('Browse', mode='dir')) # Declare new settings gui3d.app.addSetting('loaddir', mh.getPath("models")) @self.fileEntry.mhEvent def onFileSelected(event): # Remember load folder gui3d.app.setSetting('loaddir', event.path)
これでとりあえずフォルダ選択の機能が出来たように見えます。
続いて、ボタンを押したら、選択したフォルダパス内のドットファイルを削除する処理をつくります。
ボタンは以下のようにしました。あらかじめ、import os でosモジュールをインポートしています。
self.aDelButton= box.addWidget(gui.Button('Delete')) self.aDelButtonLabel = box.addWidget(gui.TextView('Click After Selecting Directory')) @self.aDelButton.mhEvent def onClicked(event): tgtDir = gui3d.app.getSetting('loaddir') for tgtfile in [ '.*.mhm', '.*.thumb' ]: cmd = 'find ' + tgtDir + ' -type f -name ' + tgtfile + ' -delete' rtn = os.system( cmd ) if rtn == 0: self.aDelButtonLabel.setText('Success') else: self.aDelButtonLabel.setText('Failure')
という感じ。findコマンドでドットではじまって拡張子が.mhmと.thumbのファイルを削除する、って内容です。
とりあえず、これで動いているように見えるので、これで放置ですよ。
#!/usr/bin/python2.7 # -*- coding: utf-8 -*- # We need this for gui controls import gui3d import mh import gui import log from getpath import getHomePath import os class DeleteDotFilesTaskView(gui3d.TaskView): def __init__(self, category): gui3d.TaskView.__init__(self, category, 'Delete dot files') box = self.addLeftWidget(gui.GroupBox('Delete dot files')) self.fileEntry = box.addWidget(gui.FileEntryView('Browse', mode='dir')) #self.fileEntry.setDirectory( mh.getPath("models") ) self.fileEntry.setDirectory( getHomePath()) # Declare new settings #gui3d.app.addSetting('loaddir', mh.getPath("modesl")) gui3d.app.addSetting('loaddir', getHomePath()) @self.fileEntry.mhEvent def onFileSelected(event): # Remember load folder gui3d.app.setSetting('loaddir', event.path) self.aDelButton= box.addWidget(gui.Button('Delete')) self.aDelButtonLabel = box.addWidget(gui.TextView('Click After Selecting Directory')) @self.aDelButton.mhEvent def onClicked(event): tgtDir = gui3d.app.getSetting('loaddir') for tgtfile in [ '.*.mhm', '.*.thumb' ]: cmd = 'find ' + tgtDir + ' -type f -name ' + tgtfile + ' -delete' rtn = os.system( cmd ) if rtn == 0: self.aDelButtonLabel.setText("OK -- Click After Selecting Directory") else: self.aDelButtonLabel.setText('Failure -- Click After Selecting Directory') category = None taskview = None # This method is called when the plugin is loaded into makehuman # The app reference is passed so that a plugin can attach a new category, task, or other GUI elements def load(app): category = app.getCategory('Utilities') taskview = category.addTask(DeleteDotFilesTaskView(category)) # This method is called when the plugin is unloaded from makehuman # At the moment this is not used, but in the future it will remove the added GUI elements def unload(app): pass
茨城県北部へ
五浦海岸と呼ばれる場所で、岡倉天心となじみ深い土地ということです。興味を持っているなら天心記念五浦美術館 とか見てくればいいのですけど、とりあえず風景写真を撮りたかったので六角堂です。
六角堂越しの風景。そう、六角堂の全体をみたければ、六角堂を目指して施設に入っちゃダメなのですね。その場合は大津岬灯台を目指すと良いようです。
六角堂は震災の津波で流されてしまっており、再建した物なのだそうです。
画面中央の六角堂の左手に登ったところに広場が見えますけど、その場所が下の写真です。
ここまで津波が到達したそうで。
ちなみに灯台はこんな感じの建物でした。
このへんそれなりに景勝地が色々あるようなのですが、地図を見ていたら、ここから大子町まで一時間半ほどじゃないですか。
ってことで、そっちに足を伸ばすことにしたのです(ちなみに大洗も同じぐらいの時間ですけど、大洗を見るには時間が足りなすぎるので)。
高萩まで南下してそこから国道461号線で西進し、大子町に突入です。目的地はこちら。
旧上岡小学校です。
昨年4月の桜のシーズンに一回行っているのですけど、おそらく、その頃から客層がちょっと変化しているのでしょう。こんな↓注意書きが貼られておりましたw
校舎内の見学は16時までという事でした。
もうちょっと遅くまで、夕日がさす時間までやってくれるとうれしいんですけどね。まぁしょーがない。
管理人さんですかね。おっちゃんが言っていたのは、今年9月から茨城県北芸術祭(pdf)の会場のひとつにこの校舎が選ばれているということでした。11月20日までの会期で、会期末は紅葉のシーズンのような気もしますので、その頃にまた訪ねてみるのも良いですな。
ちなみにこちらに足をはこぶ気になった原因の作品、ガルパンの劇場版のブルーレイが届いていますけど、まだ見れていません。ディスクが二枚ついているから、見るのに結構時間かかるのでしょうけど、早いところ見たいっすなぁ。
でも、水曜日に平和島に行って4DXのエクストリーム上映を体験してきました。グワングワン揺れるもので、頭をイスに何度もぶつけるし、イスからずり落ちるしで、ほどほどがいいかもしれませんねw(でも体験できて良かった。チケット争奪戦に敗れて、劇場の隅っこの席になっちゃったもんで、劇場の真ん中で見ることが出来たらまた感動も違ったかもなぁ)
MakeHuman 1.1.0のMac版のエラー
人体モデルを生成するツールで、オープンソースで無料で使うことが出来ます。素敵です。
先頃、それのバージョンがちょっと上がって1.1.0となり、出来る事が色々増えました。
それはいいんですけど、データの保存部分で問題が起こっています。主に職場で。
このソフトは、ファイルのロード画面では、指定した階層内の全てのmhmファイルを「ファイルセレクタ」に表示するようになります。
上図はローカルの場所にファイルが存在している状態を示しています。
この階層がネットワーク越しの場所(Linux上のSMB or NFS共有された場所)である時に問題が起こってまして、「ファイルセレクタ」に何も表示されなくなっちゃうのですね。だから編集するためのファイルを選ぶことが出来ず作業を続行できない。
例えばこのフォルダを別の階層にコピーして、そこからファイルをロードしようとすると「ファイルセレクタ」にファイルが表示されますが、そこでファイルを新たに保存(あるいは上書き保存)すると、また見えなくなります。
ってことで、その原因はなんだろうと自宅で確認しようとしてみたのがこのエントリなんですけど、自宅にはLinuxサーバーなぞ存在しません。SMBで問題が起こっていたのだから、OS Xの共有フォルダやWindowsの共有フォルダに対して同じことが起こるだろうと思っていたのでが、問題が再現しないのですな。
んー、ってことはLinuxサーバーの設定の設定の問題ってことでしょうか。
Mac側で書き込み処理を行った時に、MakeHumanが参照しようとしている情報が正しくないものに書き換えられるんだろうと思われますが、それが何なのか…。
ってことで、思いついたのがドットファイルの存在です。
Windowsの共有フォルダがNTFS上にあった時や、もちろんOS XのHFS+の時、Macはファイルを保存する時にドットファイルを作りませんが、それを作ってしまうファイルシステムがありますよね。例えば、FAT32でフォーマットされたUSBメモリとか。
ってことで、USBメモリ上にファイルを保存してそれを開いてさらに上書き保存した上でロード画面を呼び出すと、
症状再現。
その階層をターミナルからのぞいてみると、ドットファイルが出来ていることが確認されます。
そのドットファイルを削除することで、「ファイルセレクタ」にサムネイルが表示されるようになりました。
続いて、既存のMakeHumanのファイルを複製し、そのファイル名の頭に"."(ドット)をつけてみます。
すると、当然Finderからは見えなくなりますが、MakeHumanには表示されてきます。
ということで、ドットファイルな拡張子がMakeHumanのデータを読み込もうとして、でもそれはMakeHumanのファイルではなく、(大ざっぱに言えば)OS Xが作成したファイル管理のための情報だから、MakeHuman的には壊れたファイルとして認識され、読み込むのを諦めるようです。
バグと言っていい感じですかね?
ってことで、とりあえずの対処としては、階層内の拡張子がMakeHumanファイルのうち、ファイル名の頭がドットの物を都度削除してやるって事になりましょうか。
Adobe Creative Cloudが反応しなくなったこと
で、正常起動しなくなりました。
事の発端は、Creative Cloudのアプリ内でアップデートがあるとの知らせがあったんでアップデートを試みたら、2つのアプリがアップデートに失敗し、以降、何度試しても同じ状況になったことにあります。
だから、ネット上にある対処法、
【解決事例】Creative Cloud「アップデートできない」 [Adobe Community]
こちらを試してみたらですね、以降、ぐるぐる回り続けて処理が先に進まない状況に陥りました。
サインインに失敗するという状況と認識し、それをキーワードに検索すると対処法は先のアップデートに失敗する時と同じような感じでした。ということで、その方法を何度か試してみたり、こいつのインストーラをダウンロードしてきて入れ直してみたりと試したのですけど、状況は改善せず。もっとも、インストーラを使って入れ直していたつもりになっていただけで、どうも、規定の場所に該当アプリがあるとインストール処理を行わず、既存のアプリを起動させるだけという動作だったようです。どうりで一瞬でインストールが終わるわったように見えたわけです。
そんなわけで、
Creative Cloud デスクトップアプリケーションのアンインストール時にエラーが発生する [helpx.adobe.com]
こちらに書いてある、「CC Cleaner Tool の使用」を試すことにしました。
Adobe CC Cleaner Toolというのはこちら[helpx.adobe.com]によると、
Creative Cloud および Creative Suite アプリケーションのインストールレコードは破損することがあり、インストール時の問題の原因となることがあります。Creative Cloud Cleaner Tool を使用することで、これらのインストールレコードを確実に削除することができます。というものだそうです。
ダウンロードして実行すると、Adobe Creative Cloud Desktop が選べますから、それを選択し、「選択したファイルをクリーンアップ」を実行します。
それでこのツールのお役目は終了。
続いて、Creative Cloud Installerを使ってインストールを行います(先に上書きインストールのつもりで試した時、一瞬でインストールが終わったように見えた物です)。今回はCreative Cloud Installerを実行するとそのツール内でアプリのダウンロードがはじまり、その後、インストールとなりました。小さなツールだからダウンロード時間はそうかかりませんでしたが、それでも一瞬とは行きません。先ほどとは明らかに違う挙動を示します。
ということで、起動したCreative Cloud は起動処理を成功させ、見慣れた姿を見せてくれました。
Creative Cloud Cleaner Tool、非常に有用なようです。
久しぶりに緊急地震速報を聞いた
幸い今回、都内はそれほど揺れず、地下鉄もすぐに動き出したのだけど、その後しばらく走ったら急停止し、すぐに車内の電気が消え空調が止まるという事態に遭遇しました。急停車は何度か経験あるけど、停電した車内に滞在することになったのは初めてです。急停止の結果、どうも送電に影響のある区間に止まってしまった可能性があるからその確認をする為にパンタグラフを下ろして云々って事になっていたようです。
ちょっと身動きしたら前後左右の人にふれるぐらいの混み具合で、うっかり前後の女性のお尻を触ったりしないよう気をつけながら時を過ごすわけですが、このような状況になった時、室温が上昇していくのがつらいところでございます。
空調が止まってた時間は10分程度で、外気温が19度ぐらいとまだ低めだったから、そこまでつらいことにはならなかったのだけど、朝の殺人的なラッシュ時にこのように空調が止まってしまうことを想像すると、これからの季節、とてもそんな電車には乗ることが出来ませんな。
ちなみにこの急停車は、特に地震の影響というわけでは無いそうだけど、常磐線の取手より先に行く列車は地震の影響をもろに受けた模様。
震度5弱を記録したところは常磐線が通る場所なもんで、点検を経ないと運転再開できないってことなんでしょう。こればっかりは仕方がないことだけど、勘弁してほしいものです。
システムドライブをSSDに換装
こーいう感じにSSDにげたを履かせてPCI-Expressスロットに刺しております。
げたはSEDNA ってところの PCI Express SATA III (6G) SSD Adapter with 1 SATA III port ってやつ。Amazon価格で4400円程でした。SSDはSAMSUNGの850EVO。この結果、システム情報ではリンク速度は6ギガビットと表示されます。速度はそこまで伸びずBlackmagic Disk Speed TestにてRead 380MB/s超、Write 350MB/s超といったところ。驚いたことに、TRIMサポートが「はい」になっております。
とはいえ、インストールはちょっと苦労したと言いますか、例によってうちのMac Proの特殊事情なのだけど、NVIDIAのWebドライバが読み込まれていないと画面が表示されないから、Recovery HDから起動させたら何も操作が出来ないことになるわけです。通常なら、Recovery HDから起動させてディスクユーティリティでHDD上のシステムをSSD上に復元させてやればおしまいなのですけど、それが出来ない。ということで、今回ちょう久しぶりにCarbon Copy Cloner を利用しました。
Carbon Copy Cloner [Bombich Software]
ディスクユーティリティが復元機能を持つ前にはこちらのツールで起動ディスクを複製してやるのが定番だったわけですが、現在はこのツールは高機能なバックアップツールに進歩しているようです。有償のツールとなっており、日本円で4950円でございました。ただ、無料でお試しは出来るので、その内容でシステムのコピーをSSDにとった次第です。
CCCを利用したSSDへのコピーは9時間近くかかりました。優秀なのは、Recovery HD領域も複製してくれる事です(ちゃんと動くかは、何せ前述の問題があるために、確認できていませんが)。もちろんそれを複製しない選択も可能です。
というわけで無事にSSDからシステムが起動するようになりました。やはり起動時の動作が非常に高速化します。現在、OS XはSSDのようなドライブを搭載していることを前提に設計されているのでしょう。ランダムアクセスを起動したばかりのタイミングでとてもとても繰り返す動作になっているのだと思います。それゆえにHDDだと電源を入れてから使えるようになるまで実に待たされることになってたわけですが、SSDにすることで、そのイライラがほぼ無くなります。
アプリケーションの起動も高速化しますな、当然ながら。
最近のOS環境で使うにはHDDでは本当につらい時代になってきているのだなぁというのをメインマシンをSSDに換装することで実感しました。
銀色Mac Proをまだ現役で使っているところがいくらかあろうかと思いますが、もう1年2年あるいはそれ以上使うつもりなら、SSDに換装するという選択肢はものすごく意味があると思いますぜ。
なを、CCCについてはバックアップツールとして優秀そうなので、ちゃんと検証してみたいところですね。システムドライブじゃない特定のフォルダのバックアップのために既にツールを一個導入しているから、それと併用して或いは置き換えるような使い方が出来るのか。気が向いたら調べてみたいと思います(気が向く保証はなにもないけど)。
Windows 7起動不能
HDDを取り出してUSBクレードルに乗せて他のマシンにつなぐと、そのHDDの中のデータはちゃんと見えるしブラウジング中にエクスプローラが固まるということもなかったので、HDD自体は正常のようです。だから、OSの起動に必要なソフトウェア部分がどこか壊れてしまったのでしょう。ということもありエラーメッセージを参考にググって見つかった対処法の幾つかを試しましたが、復帰させることはできませんでした。
ということで別のHDDをぶち込んで、そこにWindows 7を新規インストールすることにしました。
その作業自体に特に問題はなかったのですが、Windows 7のプロダクトキーがわかりません。や、そのPCに入れたWindows 7のパッケージが行方不明というか、どのパッケージのWindowsがどのマシンにインストールされているか不明なものがあるというか。管理が杜撰だったってことなんですけど、とにかくわからないのです。なのでこのままでは認証できません。
旧Cドライブの入ったHDDからプロダクトキーを吸い出せれば万々歳、という事態となったわけです。
Windowsのアプリケーションでプロダクトキーを見ることができるものは幾つか存在していますが、稼働していないWindowsの起動ディスクから読み出せるものは限られているようでした。とりあえずその一つを試してみましたが、見つけることができませんでした。
んで、ネット上で見かけたのが、
Scankeylx - プロダクトキー検索ツール on Linux
でございます。
こちらのページの趣旨としてはUSBメモリ上にインストールされたUbuntuに、こちらで配布しているScankeylxってツールを入れて、PCをUSBメモリから起動させてHDD上のプロダクトキーを見つけ出す、というものでした。
やっていることは、USBメモリ上にインストールされたUbuntuのルートの階層にそのツールの関連ファイルを展開しているだけだったので、同じことをParallels Desktop上で動くUbuntu上でできるのではないかと考えます。
ubuntu-ja-14.04-desktop-i386.isoをダウンロードしてきてParallels Desktop上に仮想マシンを構成します。Ubuntuを実行後、scankeylx_r1512a.zipを適当な階層で伸張し、出来上がったファイル全てに実行権限を与えて、その上で、それらをルートに移動させました。
で、USBクレードルに問題のHDDを乗せてUbuntuに認識させて、あとはScankeylxのサイトに書かれているScankeylxの操作方法の通りに作業を行った結果、吸い出せましたよ、プロダクトキー。
スキャンされたデータを整理するreportlogってツールを走らせることで出来上がるファイルのうち、25DigitsSort.txtの中に
DigitalProductId4=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (略)Professional (略).win7sp1(略) (data)
というそれっぽい文字列が存在しました。ここの25桁の英数字XXXXX-XXXXX-XXXXX-XXXXX-XXXXXがまさに問題を起こしたPCで動いていたWindows 7のプロダクトキーで、無事にそれを使って、問題を起こしたPCに新規インストールしたWindows 7を認証できました。
とかいう、そんな記録でございます。
GeForce GTX 1080という化け物
前ハイエンドTITAN Xの2倍の性能&3倍の電力効率で3割も安いという化物グラボ「GeForce GTX 1080」をNVIDIAが発表 [GIGAZINE]
GeForce GTX 980のSLIより速いとか。
GTX 1080は$599~$699。そのまま円建てにして発売してくれれば、結構リーズナブルに高パフォーマンスが手に入るという期待が高まりますな。まぁMac上で動くかは微妙かもですが。
一方でAMDはPolarisっていう新アーキテクチャの市場投入を発表していますし、Appleがそれを採用すると言う噂が流れていますけど、$300程度の価格帯のものがGeforce GTX 980 Tiにせまるパフォーマンスを示す、って言われてはいるようです。
それにしても、この発表を受けて、ブラックマジックデザインの日本の公式が
「NVIDIA GTX 1080のリリースにより、多くのユーザーがDaVinci Resolveなどの映像系ソフトのプラットフォームをMacからWindowsに移すことを考え始めるに違いない」[twitter]
っていうツイートしているのが興味深いですね(リンク先の記事の中の文章を引用している形なのだろうけど、たぶん、本音なんだろうなぁ)。
NVIDIA製品を乗せなかったりGPUを自在に増やせなかったりCPUパワーが足りなかったりと言う最近のAppleにいらだっているような印象を持ちます。
Appleにおかれましては、何かを制作している人たちに受けるとんがった仕様のマシンを投入していただきたくって感じっすねー。
とりあえずガルパンの劇場観賞は最期かな
イオンシネマの一部の劇場ではULTIRAってスクリーンを備えているそうです。
たぶんIMAXとコンセプトを同じくする物なのだと思いますけど、つまりは大画面で高音質なわけですが、春日部の劇場は確かに大画面でございました。そして音もなかなかにクリアかつ迫力のある印象で、2Dの映画を見るにはとても良い選択肢になるんじゃないかって思いました(大画面でクリアな映像と割と大きめの音量ででもそれぞれの音がつぶれることなく聴き取れる音響は、なかなか良かったかな、と。このスクリーンと4DXと立川の音が組み合わさったら最強じゃないでしょうかw)。
ちなみに大画面であるだけに、劇場も大きめで春日部のイオンシネマでは363席です。通路は二本あり、それで分けられた席の塊が劇場右・真ん中・左の三つあるわけですが、その真ん中がほぼ埋まっておりました(昨日予約を入れようとしたタイミングでは初回は真ん中は全席埋まっていたように思います)。
7日初回上映の6日21時半頃の状況。
公開から五ヶ月目にもかかわらず、これだけの観客を集めるのだからたいしたコンテンツです(まぁ特典が配られるからかもしれませんが。それでもとりあえず5/7からの一週間はこの劇場で一番大きなスクリーンの上映回のうち3回をガルパンが占めるという決断を劇場の人にさせるのだから、すごいですね。ちなみに、僕は2回目上映回を観に行ったわけですが、入るにはちょっと早いからとロビーでもたもたしていたら、「入場者特典はただいまをもちまして終了いたしました」ってアナウンスが入りまして、つまりは手に入れられませんでした…。)。
思い起こせばこの映画のおかげで、各所の劇場に足をはこぶことが出来ました。数えてみると9箇所ですかw。立川の爆音や水戸の4DX、今回の春日部のULTIRAといった特徴ある劇場に足をはこぶ機会をくれたと言えますかな。
というわけで、回数的には十分に行ったんで、たぶん劇場で観るのは今回で最期なんじゃないかって思っております。今月末にブルーレイが出るから、どんぐらいリテイクカットが生じているか、そこにも注目して今度は家で楽しみたいと思っております。
でも間が開いて、4DXや立川で上映されることがあったら、また観に行っちゃうかもしれませんなぁ。