クソコード:シーン内の子供と親を持たないEmptyの削除
先日書いた読み込んだfbxファイルでマテリアルを共有するオブジェクトをjoinするスクリプト(クソ遅いw)を実行したらEmptyが大量に発生したので、これを削除するのを考えてみたのです。
import bpy scene = bpy.context.scene objs = bpy.data.objects for obj in scene.objects: parentObj = obj.parent if parentObj == None and obj.type == 'EMPTY' and len( obj.children ) == 0: objs.remove(objs[ obj.name ], do_unlink=True)
Amazonプライムデーで買ったものが届いた
プライムデーが6/21と22に開かれて、せっかくなので購入してみたものがCPJ500 [CyberPower] というUPSです。プライムデーが終わった現在1.35万円ほどなのが1.14万円ほどでした。割とお得なお値段で購入できたようです。
こちらのUPS、CyberPowerの小型の正弦波出力可能な常時商用な給電を行うものですけど300WとMac miniを接続するには十分すぎる容量を持つモデルです。
小型なため片手で持つことも可能な重量(3.69kg)なのだけど、M1 Mac miniだけならば相当な時間稼働できそうです。実際、Mac mini M1 2020の消費電力は、待機中で6.8W、CPU最大稼働時で39Wらしいので、上の写真で2%って値が出ていますけど、待機中はそれぐらいの負荷で済むし最大稼働時も15%に満たない計算だから、外付けHDD(Drobo 5シリーズあたり)も余裕で接続可能と言えます。安心して使えそうですね。
Apple、Mac mini (M1, 2020)の電力消費と熱出力情報を公開。M1 Mac miniの消費電力は最大時でも39WでIntelモデルの約3分の1に。[Apple Ch.]
なを、CyberPowerのソフトウェアはまだApple Siliconネイティブ対応していないようで、なのでインストールしていません。macOSは標準でUPS接続による停電時のシャットダウンに対応しており、またMac mini M1 2020にUSBで繋いだら、UPSを繋いでいるとちゃんと認識したので、とりあえず問題はないでしょう。詳細な動作状況を知りたい場合にはそのソフトが必要となりますが、当面はいいかな。
ということで、まぁまぁ有用な買い物だったのではないかと思うわけです。
Windows 11への対応
うちで動いているWindowsはParallels Desktop以外はMac mini Late 2014でBootCampで動いているWindows 10 Homeだけだったりします。
Windows 11は古いマシンの足切りをだいぶ積極的に行ったようで、Intel CPUだと8000番台のCPU以降の対応となるらしいことから Haswell Refresh(4000番台)を採用しているMac miniはそもそも対応不能ということになります。ちなみにmacOSは次期OS MontereyにもMac mini Late 2014は対応しているから、Appleよりも厳しい対応をしてきたとも言えるので、そこはちょっと驚きですね。
Windows Processor Requirements Windows 11 Supported Intel Processors [Microsoft Docs]
ということでそもそもうちのマシンはWindows 11にハードウェアの仕様として対応していないのだけど、Appleのマシンはハードウェア要件を満たしていたとしても、BootCampがそのハードウェアの機能をオフにしていることから、とりあえずWindows 11の起動が現時点ではできないらしい。これはAppleの対応如何ということになるので、Winodws 11がリリースられてからのAppleの対応の注目ということになりますか?
もしくはWindows on ARMのライセンスがApple Siliconでも認めるのかっていうマイクロソフトの対応如何でしょうか。
Windows 10の延長サポート期間は2025年10月4日までだそうです。これが明示されているのはマイクロソフトの偉いところだと思いますけど、それはともかくあと4年ですね。現行機はほぼ問題なくWindows 11に対応するでしょうし、PCの耐用年数を考えると、セキュリティのサポート面で問題になることはないでしょう。Windows 10終了時にWindows 11サポート外のマシンを使っている人は、それは流石に買い換えなさいよってのが一般的な意見になるでしょうしね。
ちなみに個人的にはWindows 11で興味ある話題はSoftimageが動作するのかです。職場PCを導入するとき、来年以降のPCについてはWindows 11インストールモデルを選択するし、そうすっとそのタイミングで古いソフトを諦めるってことになるのかもしれませんな。
いつ出るのかなぁ
WWDCでは結局ハードウェアが出ず、M1の上位あるいは後継チップを積んだマシンの登場は秋以降でしょうか? 7月に出たMacも過去にはあるし、もうちょっと早く出てほしいとは思いますけどね。
そんなわけで現時点でApple SiliconといえばM1なのだけど、そいつにネイティブ対応しましたってアプリがAdobeもポツポツと出しています。
現状でネイティブ対応しているアプリはPhotoshop, Illustrator, Lightroom, Lightroom Classicで、ベータ版が公開されているもので有名なところがPremiere Proっすかね。
そのPremiere ProはAdobeのブログでベータ版のパフォーマンスについて語ってて、各メディアはそこをソースに記事を載せていました。。最新のベータ版では同等のIntelベースのシステムと比べて77%も高速化されているとかもうちょっと細かく色々と早くなっていると述べている。
でも元ブログを見ずにいたもので、何と比べてそれだけ早くなったのって思っておりました。が、元ネタのブログに書いてあったのですね。比較はMacBook Pro M1 2020とおそらく2020年モデルの13インチMacBook Pro(2.0GHz Quad Core)です。なるほど、確かに同等のIntelベースのシステムっすな。
この比較ベンチマークでのシステム条件はPhotoshopやIllustrator、InDesignでも同様だったようです。詳細なレポートがpdfファイルで公開されていました。
ということであくまでもローエンドのマシン同士の比較だったってことで、何割速くなっているって情報を鵜呑みにしてあまり過度な期待はしない方が良いけど、それでも、MacのM1マシンぐらいの価格帯で、互換性以外の理由でIntel CPUのマシンを選ぶ理由は無いってことがサードパーティーツールのメジャーどころから示されるのは興味深いです。
ちなみに、16インチMacBook ProやMac miniのプロ向けモデルが噂されているけど、そんなミドルレンジ以上においてはIntelにするかM1にするか迷いどころな現状っすね。それを解消するM1XだかM2だかを積んだマシンの登場を期待するわけですが、いつになりますか。
クソコード:シーン内の同一マテリアルのメッシュを結合する
import bpy scene = bpy.context.scene materials = bpy.data.materials for material in materials: print("Material:", material.name) objsUseMat = [] for obj in scene.objects: if obj.type == 'MESH': if len( obj.material_slots ) > 0: if obj.material_slots[0].material == material: objsUseMat.append( obj ) if len( objsUseMat ) > 0: for obj in objsUseMat: print( obj.name ) bpy.data.objects[ obj.name ].select_set(True) bpy.context.view_layer.objects.active = obj bpy.ops.object.join( ) bpy.ops.object.select_all(action='DESELECT')
映画鑑賞記録
3月後半にエヴァを観てから書いてませんでしたけど、年度末やら緊急事態宣言で公開延期やらでそんなに観れておりませんでしたな。本来ならドラえもんとかクレしんとかもあったはずなのにね。
とりあえずガルパン最終章第3話は無事に公開され、特に問題なく観に行くことができました。3/26から公開されたこちらの映画は、第2話の続きが決着し、その次の試合の途中で終わるという展開でしたが、これは今後もそうなのか、途中で負けて残り話数は後日談になるのか。ともあれ3話のラストは次はどうなる?ってモヤっとする感じで第4話を早く公開してくださいと思うわけです。
その第4話は今日の監督のツイートでコンテが完成したと報告されていました。
で、それからはガルパンとシン・ヱヴァンゲリヲンを観に行く日々というか、それらも回数はいってないけど、それだけしか行っておりませんでしたな。
シン・エヴァンゲリオンについては6/12からカットの差し替えを行って3.0+1.0とかバージョンが変更されての上映が始まっていたのを今日観てきたのですが、数回見た程度じゃどこが変わったのかさっぱりわかりませんでした。何度観ても素晴らしい作品でございますね。
そんな何度観ても素晴らしいクオリティの作品だろうってことで観てきたのが機動戦士ガンダム 閃光のハサウェイです。何を思ったか最初に4DX劇場に行ってしまいました。公開3日目に観に行ったのだけど、週替わり歴代ガンダム劇場フィルムは在庫が終わっていたのかもらえませんでした。まぁ特典はいいのです。大事なのは映画の内容です。
素晴らしいの一言で済ませていいのですけど、原作を読んでいるはずなのに、何一つ思い出さなかったのにちょっとショックを受けています。原作のラストの風景は印象強く残っているのだけど、そこへの経過が全く思い出せない。この映画を見ても全く思い出せない。それはそれで映画を楽しめそうだからまぁいいやって思いますが、映画を全部見終えたら原作を読み直してみましょうかね。
ちなみに2回目を観に行ってて、その時は二週目のフィルム特典をもらえてます。未開封だけど。
そしてもう一個観に行った作品がありまして、それが漁港の肉子ちゃんでござます。
明石家さんまがプロデュースし製作に吉本興業が名前を出していることから色眼鏡で見られそうな作品なのですけど、そこ抜きに観てもらえばStudio 4℃で渡辺歩監督ですから期待しない方が無理じゃない?ってものになるはずです。そしてその期待は裏切られなかったと思います。渡辺歩監督の前作、海獣の子供のような、もう見るからに超絶作画アニメだろこれってものじゃないのですけど、しっかりとした良い作品に仕上がっていたと思います。
劇場での上映回数が減っているように見受けられそれは残念な限りなので、みんな観に行くといいと思いました。
上映中作品の中では映画大好きポンポさんは観に行きたいと思っているけど、足を運ぶことができるか。劇場版 少女☆歌劇 レヴュースタァライトは元ネタを観た事ないのだけど、なんかすごいらしいので足を運んでもいいが、優先順位は低めかな。シドニアの騎士 あいつむぐほしはテレビシリーズを完走してないからなぁ…
スクリプトからシェーダノードを触ってみる
メモっす。読み込んだfbxファイルのマテリアルの中の接続を一括で変えたい事情ができたような気がするので、その予習というか。
import bpy for obj in bpy.context.selected_objects: #mat = obj.active_material material_slots = obj.material_slots for material_slot in material_slots: #マテリアルスロットごとのマテリアルを取得 material = material_slot.material #マテリアルのノードツリー nodetree = material.node_tree #シェーダーノード内のノードタイプの一覧 for node in nodetree.nodes: print( node.type ) #以下 Principled BSDF を探しているが、 #inputs = material.node_tree.nodes[ "Principled BSDF" ].inputs #で直接取得もできる模様 if node.type == 'BSDF_PRINCIPLED': inputs = node.inputs #Principled BSDFのベースカラーの色を設定 inputs['Base Color'].default_value = [ 1.0, 1.0, 0.0, 1.0 ] #後の行程で使うために取っておく principledBsdfNode = node #Principled BSDFのベースカラーにテクスチャを設定 img = bpy.data.images.load( 'テクスチャファイルへのパス', check_existing=False ) imgTex_node = nodetree.nodes.new('ShaderNodeTexImage') imgTex_node.location = ( principledBsdfNode.location.x -300 , principledBsdfNode.location.y ) imgTex_node.image = img nodetree.links.new( imgTex_node.outputs[ 0 ], principledBsdfNode.inputs[0] ) #ちなみに以下をコメントアウトすると、上でせっかく繋いだリンクを切断する # link = principledBsdfNode.inputs[0].links[0] # if link is not None: # nodetree.links.remove( link )
Photoshopで深度マップ
Photoshopのフィルタにニューラルフィルターってのが追加されたのはいつだっけ。まともに使ったことがなかったのだけど、都市の空撮的な広い空間に奥行きを感じさせて欲しい、という注文が発生した時、こいつで深度マップを作成できるらしいって話を思い出しました。
もちろん、単純に奥行き方向に向けて白黒グラデマスクを作ってやって、それでそれっぽく作ることはできるだろうけど、ある程度凹凸のある都市風景ですから、それなりの深度マップを作ろうとすると結構大変なことになります。
ということで、深度ぼかしって機能がニューラルフィルターにベータ版ながら追加されました。で、実行するとそれでそれっぽい深度マップを作成できました。
上からオリジナル素材。次がニューラルフィルターで出した深度マップ。最後がそれでちょっと霧っぽくしたもの。
深度マップの生成速度もそれなりに早く、ってことは結構ぬるいマップなんだけど、それでもこれが作れるのと作れないのとでは(短時間の作業では)雲泥の差ということで、大変にありがたく思った機能でございました。
WWDC始まる
8日ってだけおぼえてて、だから日本時間9日だと思ってたら日本時間8日でした。起きたらキーノートが終わっててWWDCが始まってました。
キーノートは、また例によって作り込まれたムービーが作られているわけですが、発表はソフトウェアに絞られました。iOS 15、iPadOS 15、iCloud、健康に関すること、watchOS 8、ホームについて、macOS 12。そしてデベロッパに向けてのお話でした。
iOS 15。FaceTimeの話から始まりました。音と映像と、そして繋がるための新たな工夫と。Appleデバイスだけって印象が強いFaceTimeがAndroidやWindowsからもブラウザを介して可能になるというのはちょっと大きい話題かなって思うです。普通に仕事に使えるようになるかな、って。
Live Textは画像からテキスト要素を認識し、それをコピペしたり検索対象にしたりする、たとえばGoogleが割と実現している技術だと思うけど、iOS内でシームレスに利用できるのが魅力ですかね。まあ日本語には未対応だけど。この文字認識はSpotlightにも拡張されているようで、これは今後の進化が楽しみです。
ウォレットに鍵が紐づくのがいいですね。職場やホテルといったところの鍵を手元の端末に持たせることができるなら、利用する側にも管理する側にもメリットが大きそうです。建物に実装するにはハードウェアの設備投資が結構なことになるのかもしれませんが。
マップの進化は、日本でいつからどれぐらい利用できるようになるのかかねぇ。立体感のある道路情報は魅力的だけど、日本の道路が対象となるのでしょうか。
iPadOS 15のところは、iPadのホーム画面のカスタマイズ性の向上は嬉しいですかね。
マルチタスキング周りの機能は個人的には難しく感じておりまして(利用頻度が低いために時々使おうとする時、どうやるんだっけ?ってなる)、使いこなせる方向の進化だといいなぁと思っております。
一番嬉しそうなのはメモ周りの機能かもしれません。クイックメモ、メモ内のタグの追加方法。これは楽しみです。
watchOS 8。Apple Watchは個人的には個人の健康データを収集するセンサーとして駆動していると理解していて、睡眠時の呼吸回数を記録するようになるのは良いではありませんか、って思うわけです。
文字盤のポートレートとかは全く興味ないし、フィットネスは日本ではサービスしてたっけ?(まだみたい)。
スクリブルが日本語対応しているようで、それがwatchOSもそうだとするならApple Watchからのメッセージも使うようになるかもしれないなぁ。
macOS Monterey。12.0から始まるバージョンナンバーとなります。
目玉はデバイスを横断してマウス・キーボードで操作するユニバーサルコントロールでしょうか。MacのカーソルがそのままiPadに移動し、その状態でキーボードで文字入力もできる。ファイルのドラッグ&ドロップをデバイス間で可能にする。このデバイス間ってのはMac同士でも当然可能で、iMac, MacBook Pro, iPadの3台をカーソルが横断する様子をデモしていました。これは素敵だと素直に思うわけです。
AirPlayをMacのディスプレイやスピーカーに拡張したのは、これはそのMacを使用しているユーザが許可すればそれを求める別の人のAppleデバイスからの映像や音楽を再生できるってことかな。とするなら、これも素敵じゃないかと思うです。
ShortcutsがmacOSにやってきたってのはどうなんだろう。macOSを操作する機能のプリセットが多く揃っているなら有用だと思うし多分そうなんでしょう。これは使ってみないと何とも言えんけど、出たらちゃんと検証しないとですね。
macOSの中でSafariについて話されます。タブの管理・表示方法がデザインし直されてだいぶ見た目が変化しました。これも使ってみないとなんとも言えない変化だけど(タブを恒久的に残すような使い方をしていなかったってこともある)、タブを積極的に残して管理していく使い方にしたら便利さを実感するのだろうか。
タブについてはmacOSだけでなくiPadOS 、iOSでも同様に管理され、結果としてiOSではアドレスバーが画面の下側に移動したようです。これも慣れるのだろうけど、使いかってはどうなのか、触って確認したいっすね。
そんな感じで一般のユーザに向けての機能紹介が終わった後にデベロッパに向けての発表が続きます。
デモ映像が流れたのがObject Captureで、これは3DCG界隈の人々からも反応がありましたな。いわゆるフォトグラメトリのための機能をAPIとして用意したってことで、デモではCinema 4Dでの動作を見せていましたが、さてどれほど使えるものになっているのか。ライトな用途としては商品のusdzファイルを作成しお店のページから配布するためのモデルを簡易に作るって方向だろうけど、その精度がどれほどなのか。
そういえば実際のサードパーティのデベロッパを呼んで何かを見せるってのはなかったですな。
ってことで、秋に出てくるらしいこれら新OSで、どんだけいい感じに変わるか、楽しみに待ちますかね。
んで、ハードウェアはいつ出るの?
AirTagをようやく開封
予約開始日に予約していたAirTagをようやく開封し、とりあえずカバンと車の鍵に取りつけました。
ケースがないとどうにもよろしくなさそうだということでApple Storeで売っていたBelkinのホルダーも一緒に注文したら、4個いりのAirTagとホルダー3個は4/30に、残りのホルダー1個は5/12に届いてました。随分と放置をしたものです。(Apple純正は高いので比較的お安いBelkinのを購入しました)
それにしても、Apple Storeの梱包は大雑把です。雑に梱包されているってわけじゃなくて、Belkinのホルダーが一つずつ段ボールに入って出荷されている。
故にAirTagが入った箱と合わせ5箱がこんな感じで積み重なっておりました。
Belkinのホルダーなんて、この段ボールの中に無理すれば4つ全部入るぐらいのサイズなのにね。
ビニールで段ボールに商品を固定している部分含め、この段ボールは展開すると1枚になるので、商品を段ボールに包む際はたぶん商品をビニールでくるんでから箱の形に整形すると思われるので、その工程の都合上、1つしか入れられないのではないかと想像するけど、とてもかさばるので少し考えてもらえたらと思ったりします。(コストとの兼ね合いなんだろうけど)
それにしてもAppleデバイスで固めるとそのサービス内では本当に楽ですね。AirTagの設定もiPhoneをAirTagにかざすだけ。あとはiPhoneの画面でAirTagの名前付けのための数ステップ踏んだら完了。この手の装備で楽なことはいいことです。セキュリティ方面で若干の不安はありますが、そこは、まぁ…
このAirTagが活躍する事態にならければいいなぁ。