光造形3Dプリンタ入門した

光造形とは

ここ最近安くなった光造形に手をだしてみた。最近安いLCD式光造形は液体のUVレジンをUVライトで固めて立体化する、3Dプリント方式の一つだ。というのも、LCD光造形はUVライト、解像度の高い液晶パネル、レジン容器(バット)、Z軸のリフトで大まかに構成されるため、メカ的にはFDMよりシンプル

自分はFDM式プリンタをすでに持っていたので光造形に手を出したが、3Dプリンタ初めてならFDMから始めたほうが良いだろう。今ならXyzPrinting社、FlashForge社、Creality社など確実性の高い機種が生き残っている

FDM

  • フィラメント(材料)がやすい
  • そこそこの大きさ(機種次第で2,3cm~25cm程度)が作りやすい
  • 耐熱性が低い
  • 最大解像度は0.1mm程度、最低厚みは2~3mm程度
  • プラのゴミくずが出る程度

光造形

  • UVレジン(材料)が高い(2倍程度)
  • 小さく細かいもの(機種次第で1cm以下~12cm程度)が作りやすい
  • 耐候性が低い
  • 最大解像度は0.01mm程度、最低厚みは0.2~0.5mm程度
  • 液体薬品管理、それらの洗浄、フィルタ処理、二次硬化(ポストキュア)、廃液処理が必要

と概ね、光造形は細かく精密な物、スケールモデルや装飾品には使えそうだがそれ以外はなかなか難しい。日用品を作ったり、おもちゃや実用物ならFDMがより向いている。メンテも簡単だ

が、まあ光造形がどんなもんかに興味もあったため購入

 

基本的には

はじめての3Dプリンター!造形準備と後片付けについて - やなか技術士事務所のホームページ

をお手本にして始めてみた。とても参考になりましたありがとうございます。

機種選定

前述のように、主要な造形の仕組みをUVレジン液とその硬化に頼っているため、わかりやすい性能/価格差は主に液晶パネルの解像度/サイズに出てくる。一昔前の家庭用光造形は、Z軸リフトの精度が出にくい、Z軸リフトが液晶を割ってしまう/設計不良、UV光源にムラがあり造形が均一でない、等など問題点があったようだが、今ではあまり聞かない

ざっと見てみると2Kモノクロ液晶機(造形サイズ12x8cm)が2~3万円台、4Kモノクロ液晶機(造形サイズ(造形サイズ18x12cm)が6万~という感じのようだった。Amazonを見ると、更に小さいFHDパネルやHDパネルのものもあるようだが、そこまでコストを下げる理由はない。逆に4K機はその分大量のレジン液を扱う必要が出てくるため、運用コストについては大は小を兼ねないだろう。

ということで、今回は2KモノクロのAnycubic Photon Monoを選択した。Elegoo Marsもほぼ同タイプの対抗機のようなのでそっちでも良かったかもしれない。あと、Amazonで買うと公式通販より高かった(失敗)

f:id:o_mega:20210616012233p:plain

アクセサリを揃える

本体には

が付属した。便利

追加で以下のものを買い足した。ニッパとスクレイパーで事足りるFDMとは大違い

水洗いレジンは光造形を試すきっかけになったレジンだ。水洗い以前は、アルコール洗浄が必要になり、IPAを家庭で使う必要があった。毒性も爆発性も揮発性もあるを家にドンドコ追加し、じゃぶじゃぶするのは気が引けるわけで、水洗いはそういう意味で革新的だ。

とはいえ水洗いできるようになっても、レジンアレルギーなどは警戒したい。そのため手袋を追加し、適時使い捨てるようにする

スクレーパーは使っていくうちに汚れていくが、樹脂ヘラ、金属ヘラともホームセンターやヨドバシで入手可能なようだ。光造形は何かと汚れて固着しがちなので、適時使い捨てて行くのが良さそう

プリセットで試す

本体同梱のキャリブレートマニュアルに従って、ビルドプレートの取り付け、キャリブレーションをする。終わったら、SKレジンをよく撹拌してからバットへ注ぎ、初回テスト出力

f:id:o_mega:20210616013118p:plainf:id:o_mega:20210616013125p:plain

本体付属のUSBメモリにテスト印刷データが入っていたので、そのまま使ったところ、ベッドから剥がしにくい以外は何事もなく成功した。すごい

いや嘘、途中でレジン液を追加してしまい、初回は失敗した。途中でレジン液を追加するのは、温度変化を招くためにNGらしい。上のは2回目

f:id:o_mega:20210616013521p:plain

造形と洗浄のワークフロー

ということで手持ちのSTLデータとかをあれこれしつつ、いろいろプリントを試す

 

f:id:o_mega:20210616014220p:plain

スライサーでSTLモデルを処理する

ここはFDMと対して変わらない。モデルをツール(うちの場合はPhoton Workshop)へロードして、必要に応じてサポートを追加し、スライス処理をして印刷データを用意する。

造形ベッドに造形物をそのまま固着させる形であればサポートは不要だが、その場合初期層はUV照射時間がことからかなり太ってしまう

それでだいたいの場合はサポートを付けるが、FDMと明確に異なるのがサポートの性質だ。FDMではサポートは上に乗せるフィラメントを最低限支えられればよかったが、光造形の場合はFEPフィルムからベリッと剥がしたときに引っ張りに耐える強度が要る。またサポートが偏った位置にあれば引っ張り時に位置がずれるリスクが高まるため、上下左右にバランスよくサポートを付けたい。オートサポートはあんまり賢くなかったので手付けでやってる

f:id:o_mega:20210616020910p:plain

レジン液をレジンバットに補充/かき混ぜる

レジン液をレジンバットに注ぐ。泡立たないように、レジン液はボトルの段階で優しく振って混ぜておく。すでにレジンバットに注いである場合は、樹脂ヘラでかき混ぜた方が良いかもしれない。使ってるSK水洗いレジンの場合、一日放置しただけでも色ムラができているのが分かる

レジン液は造形に十分な量あるのが望ましいようで、少なくなるとZ軸リフトが上がったときに造形物に泡が入ってしまう可能性があるようだ。結果的にレジン液は完全に使い切ることが難しい

泡穴が残っても、あとからレジン液を垂らし、UVライトで埋めるという手もあるようだ。ちょっと試した感じでは液体の扱いが難しくキレイに埋めるのは難しそう。パテの方がいいかもしれない

プリント

PhotonMonoプリンタを起動し、USBメモリを刺す。ビルドベッドが取り付けられているのを確認してカバーを掛け、Printメニューからプリントしたいモデルを選んで実行するだけ

f:id:o_mega:20210616014302p:plain
只管プリンタがレジン液にベッドを浸す、上げるを繰り返す。ちゃぷちゃぷするだけなので音は静かだ

一次洗浄とビルドプレートから剥がす

百均タッパー2つに水を張って、洗浄タンクにしておく。それぞれ一次用、二次用と分けた

f:id:o_mega:20210616014324p:plain

手袋をして造形物がくっついたビルドベッドをプリンタから外し、一次用タンクで筆を使いながらじゃぶじゃぶ洗う。レジンはとろみがあり、水洗い可とはいえ結構ぬめりが残る。また造形物だけでなく、ビルドベッド表面にもたっぷり付着した状態になったのを洗うため、プリント毎のレジン消費はそれなりにありそう。そして一次洗浄タンクはかなり汚れる

二次洗浄とサポート除去

サポート除去と二次洗浄、どちらを先にやるか。自分はとりま、サポート除去を先にすることにした。

というのも、サポートを取らないと筆洗いでは細かい所が洗いきれないから。超音波洗浄機を導入すればこの限りではないと思う。

サポートをプラニッパでパキパキと切断して取り除く。ポストキュア前だとレジンがまだ柔らかく折れにくい、白化もないためこの段階が良さそうな気がする。その後、筆で二次タンクでじゃぶじゃぶ洗浄。

f:id:o_mega:20210616014402p:plain

乾燥

サーキュレーターで風を当てて乾燥。現状よくわからないが、水洗いレジンは吸湿性があるらしいのでそうするとちゃんと乾かしたほうがいいのかもしれない

f:id:o_mega:20210616014424p:plain


ポストキュア(二次硬化)

手芸用のUVライトを買ったが高さが足りなかったので、100円均一アイテムでポストキュア箱を作った。タッパーにアルミホイルで遮光&反射で効率up狙い、あみあみ台座は排水溝のメッシュ

裏返しながら4分タイマーをまんべんなくあてて二次硬化させる

f:id:o_mega:20210616014343p:plain

以上でざっくり造形は完成。でよいと思う

メンテナンス

洗浄廃液処理

これもブログを参考に、日光浴/ポストキュアUVライトを当ててからストレーナーで濾して下水へ捨てる。

一次洗浄水は流石にビルドベッド周辺も洗ってるせいかレジンが濃いようで、湯葉みたいなものが多量に取れる。二次洗浄水はぼんやり油膜ぐらい。あとはベッドから剥がす時に割れたサポート片が混ざるぐらい

f:id:o_mega:20210616014438p:plain

どんどん汚れる。底にもレジン片がこびりつく。定期的に捨てるぐらいが良さそう


レジンバット洗浄

レジンバット洗浄は毎回しないといけないか…ぐらいに思っていたがそこまで不要だった。プリント前の撹拌をすれば問題なさそう。造形成功しつづけている限りあまり洗浄は不要という感触

ただ、長期間プリントしないなら、ボトルへ片付けたほうがよいだろう

f:id:o_mega:20210616013754p:plainf:id:o_mega:20210616013616p:plain

一方でプリント失敗した場合は確掃除が必要になる。造形失敗したパーツがFEPフィルムに固着しているので剥がして捨てる必要がある。剥がれ落ちた造形品がレジンに浮いてる可能性もあるだろう。樹脂ヘラでFEPフィルムを丁寧に撫でてゴミを剥がし、ストレーナーを通してレジンからゴミを除去する作業が必要になる。

 失敗だけでガッカリなのに、追加で掃除が必要というかなりの罰ゲームがある

 

f:id:o_mega:20210616013832p:plain

スライサからUSBの書き込みが完了する前にあせってUSBメモリを抜くと、スライスデータが破損するようで、気づかずに出力するとこのようにぶっ壊れ造形をされてしまうことが起きてしまった。レジンも大量消費するし、ベッドは固着して剥がしづらいし、洗浄タンクもバットもクソ汚れる。つらい…

パラメータ調整

正直よくわからんけど、プリセットでうまく行った。

概ねこの光造形で問題になるパラメータは、UVライトの照射時間ぐらいと思われる。SK水洗いレジンについては機種ごとの出力差はあるにしてもモノクロ機で2-3秒と公式が紹介しているのでこれを参考にした。PhotonWorkshopの初期値は2.0秒であり、これだと特に問題なく成形されるものの逆テーパー部がかなり太った。

照射を長くすればよりカッチリ固まるが、周辺部まで余計に固まることから太めになる。またXY平面に広いパーツは内部に応力がたまり割れやすくなる…らしい。逆に照射を短くするとだんだん柔らかくグニャグニャになるものの、周辺部の固まるがなく細く正確な造形になる。ただし、下げすぎるとベッドから造形物が墜落、レジンバッド内のゴミになる可能性が高くなる。

何度か試し、最終的に1.7秒程度に設定した。ただ、現状柔らかいことで反りが出ているような感触もあるので、この辺は詰めていくか、サポート設定の工夫が必要そうだ

硬化後の特性や塗装とか

硬化後のレジンはパリッとした硬さになった。ただ、靭性は低いようであっさり折れたり欠けるので、ガシガシ遊ぶタイプの模型にはキツイかな…。展示する模型にはベストマッチ。ヤスリをかけた感じ切削はしやすい。ラッカー塗料の乗りもいい

f:id:o_mega:20210616014833p:plain

サポートの付け方によるのか、結構歪むことがある。画像だと正方形の穴や後方カバー部が歪んでいる。精度があるのと歪むが両立しているのが不思議な気がするが、液体硬化はだいたいこういうものらしい

f:id:o_mega:20210616015424p:plain

感想

FDMと比べると格段に面倒になる。で得られるのが精度だけ、というのが思ったよりFDMより使い所が難しい。スケール模型を作ったりするにはメチャクチャいいんだけど、他の実用アイテムとかになると置き換えは厳しい感じ、という当初の予想だいたい通り

 

U10mk2デスクトップアーミー版を作る

ということで?日頃お世話になってた火事屋さんのU10mk2アバターを、デスクトップアーミー・バーゼラルドとミキシングして、それらしくしてみた。

U10mk2はアバター、VRChat、通りやすいイメージで言うとゲーム寄りのCG用途に作られているため、当然ながら3Dプリント適正はない。がそれなりにアバターとして使い込んでることでモデル形状はだいたい把握していたこと、フル再現ではなく部分再現とミキシングでやること、としてハードルは低めに。残りはblenderと気合で頑張って手を入れて、ガンガンプリントをして試作確認モデル修正をぐるぐる回して作る(プリントの練習を兼ねる)

blenderには3d print toolboxという公式プラグインがあってたので、多様体化はだいたいこれで解決している。閉じてないポリゴンに豪快に蓋をしてくれる

Photon WorkshopはFDMのスライサーと異なり、ポリゴンが交差している分には問題なかったので、そこの特性は積極的に活用した。一方でノーマルが間違ったポリゴンでは、プレビューでは表示されるがスライス時には消えるような怪しい挙動があったので注意が必要

blenderブーリアンモデファイアで穴あけ等をしたのだけど、どうも交差が複雑だったりすると上手くいかずにポリゴンが消える場面が起きてしまって、かなり手間取った。穴あけにいい方法があれば知りたい

 

ツールやプリント方法に依存しない問題点として、そもそも単純に縮小したものがリアルで実用的な模型になるとは限らないというのがある。U10mk2の足ブレードをそのまま出力すると0.5mm厚が生成されたり、腰の武器リングも1mmぐらいの輪っかが出来たり、パーツ同士の接合が1mmシャフトだったりしてしまう。すると普通に塗装したり組み立てるだけでパーツを破壊しがちだ。サポートから取り外せなかったり、そもそも途中脱落して造形失敗することも起きうる。空中に浮いてるパーツはそもそも造形できない。ので、おもちゃチックにわざと厚みを足したり、目立たないように裏に柱を追加したりの加工をしている。

他に今回の用途に合わせ、ジョイントパーツの接合用穴や、武器のグリップを追加などもする。ディテイルはそもそもノーマルマップで作られたディテイルは、ポリゴンだけが造形される3Dプリントでは作られない。またディテイルが造形できても、0.2mm以下の溝などスケール的に意味がなくなってしまうケースもある。必要に応じて作り直す/彫り込むのが正しいが、今回はスピード重視で楽しそうな所だけ施した

 

今回は顔パーツには手を入れなかったが、アバターによっては目のパーツを空中に浮かせる、目が陥没している、といったモデリングテクニックがしばしばあるため、それらを埋めたり違和感ないように修正したり、はたまたプリントサポートをどうするかといった工夫が必要なると思われる

光造形なら出来そうな気配がしたのでU10mk立体化を試してみた。思った以上に全体に手を入れる必要があった。大変だったが、なかなかいい所まで出来たのはよかった。喜んでもらえた

 

あと、久しぶりに模型塗料を触ったんだけど、クレオスのGXメタリックカラーシリーズが筆塗りでもキレイにギンギラになる、オススメ。一昔前のメタリックより格段に粒子が細かくてキレイ

f:id:o_mega:20210616023453p:plain



チェルノブイリ原発シミュレーター・Tips

チェルノブイリ原発シミュレーターの始め方はこちら

いろいろ試して発電したことで分かったアレコレと、理解してると理解が進むやつ集。Tips集と用語集がごっちゃになったもの

起動手順書はコイル男さんのが詳しいのでこちらもぜひ

 

アラートは大切

f:id:o_mega:20210128212125p:plain

  • この手の機械は、アラートがないとき=正常、という論法で設計されてます。ので停止状態は異常でありアラートまみれ。シミュレータ起動直後にアラートが埋まってるのは正しい状態です
  • ここからアラートを減らしていけば自ずと運転状態へ近づきます
  • 点滅しているのは新規で増えたアラートです。ACKボタンを押すと、既読状態になり、点滅から点灯に変わります。頻繁にACKを押して、新しいアラートを見逃さないようにしましょう

Xe核毒またはキセノンオーバーライド

f:id:o_mega:20210128212323p:plain

  • シミュレータ炉では常にXeが発生していて、Xe核毒による中性子吸収/出力低下が起きています
  • じっくり炉を起動させようとすると、Xeが溜まってしまいRODをどれだけ抜いても起動できなくなります*1。Xeが貯まる前に、手早く、思いきって臨界へ持っていくことが、Xe核毒に対しては重要です
  • Xe過剰により起動困難になった場合、シミュレータを再起動して最初からやり直すか、Xeチート*2をするしか手はありません

バルブとポンプの起動方法

f:id:o_mega:20210128212429p:plain

  • 流量が多いValve/VlvとPumps(Recirculation、Feedwater等)のセットには起動順序があり、それ以外の方法では起動しません
  • 開ける場合、InletValve/SuctionValve→Pumps→Outlet/DischargeValveの順で起動します。閉める場合は逆。
  • それぞれの操作には時間がかかります。そのため押しても即座には動作しません、計器盤もそれだけ遅延します。バルブで長いものは10秒ほど、Pumpsは2,3秒掛かります。
  • RecirculationPumpsなどはVoid発生によって停止させてしまうことがあります。その場合、そのままではポンプ再起動はできません。OutletValveを一旦閉じる→Pumpsを再起動→OutletValveを開く、といった手順が必要になります。

用語LevelとPressure

  • Levelは水位を示し、軽水が入るあらゆる場所にあります。
  • 水位が極端に上がったり下がったりすると、(水が入ってはいけない)次パーツに水を流し込んだり、空焚きになったりするため、これを維持するのが蒸気機関の運転ではキモになります。
  • DrumLevel,ReactorLevel,HotwelLevel,Deaerator(DA)Levelなど
  • 基本的にLevelで水の量を確認します。水が足りてるか足りてないかはLevelを見て判断します。安定時の基準値は0。基本的にはAuto任せ

f:id:o_mega:20210128214021p:plain

  • Pressureは気圧を示し、蒸気が入るあらゆる場所にあります。
  • 蒸気機関は蒸気圧から復水器の真空との落差でエネルギーをタービンに伝えます。一般に蒸気圧が高いほどタービンは高出力になりますが、起動準備が十分でない場合、耐圧性能のない部品に高圧蒸気が流れてしまい、機器を破壊します。(RuptureDiscアラートが上がり、シミュレータでは復帰する方法がありません)
  • DrumPressure,TurbinePressureSetpoint,Deareator(DA)Pressure,CondensorEjectorPressureなど
  • 基本的にPressureで蒸気のパワーを確認します。蒸気が足りてればPressureが上がり、足りなければ下がります。過剰分はMainSteamDumpValveからCondensorに放出されます

用語setpoint

  • 原子炉機器の中には、モジュール単位で簡易な自動化している機器がいくつかあります。その自動化において、目標値の設定がsetpointです
  • 例えばFeedwaterPumpsのDrumLevel setpoint 0の場合、DrumLevelを参照しDrumLevelが0未満ではポンプを起動、0以上でポンプを停止する、という挙動になります
  • 例えばMainSteamDumpValveのsetpoint 1000の場合、DrumPressureを参照し、DrumPressureが1000以下であればバルブを閉じ、DrumPressureが1000より大きい時はバルブを開ける、という挙動になります

タービンReset起動条件

  • TurbineSupportのSteamSealを起動していること + DrumPressureが2000ぐらいあると、CondensorVacuum,Ejectorが起動できます
  • CondensorVacuumが起動している + DrumPressureが3000ぐらいあると、タービンをリセットし、setpoint900rpm以上を設定できるようです

用語OpenとClose

  • 電気GeneratorBreakerにおいては、Openがオフ(開放)、Closeがオン(導通)になります。
  • 流体(水/蒸気)用の用語が電気系でもそのまま使われてるため、現代の感覚だと違和感があるかもしれません

AutoControlの起動条件

f:id:o_mega:20210128213107p:plain

  • タービンResetが出来ている状態から、AutoControlをオンにしてROD PULL操作をして臨界(HOLDボタンの横 N Rate log > 0)、でAutoControlが起動するようです
  • AutoControlに入ると、UIから%指定の出力調整PowerSetpointができるようになり、ROD操作をすべておまかせで一定の熱出力を出し続けてくれます。逆に言えば、このUIで%が操作出来ないならAutoControlになってません。
  • Error表示は正直良くわかりません。ERROR表示でも動いてます
  • 熱出力を一定で維持するのは人間業ではないので、早い段階でAutoへ引き渡したいところ

FeedwaterFlowアラートと3 ElementControl

f:id:o_mega:20210128212530p:plain

  • FeedwaterFlow < 5%アラートはFeedwaterの3 ElementControlがオフの場合頻発します。
  • というのも3エレメントがオフの場合DrumLevelを見て、足りなくなったらポンプ起動、足りたらポンプ停止と間欠駆動するからです。このポンプのオンオフの「オフ時」にアラートが上がります
  • 他にも3エレメントがオフの場合、不定期にDrumLevel,HotwellLevelが上昇下降したり、不定期にDrumに水が入ることから温度が下がり蒸気圧が不安定になったりと、安定稼働においてはよくありません
  • 3エレメントコントロールは、DrumSteamFlow、DrumLevel、FeedWaterFlowの3つを見て、いい感じにする画期的な機能です。ただし、蒸気が十分に循環してない場合にはうまく動かないため、オフがデフォルトになっています
  • 蒸気機関起動中は3エレメントをオフ(デフォルト)、蒸気機関が安定して動き出したら3エレメントに切り替えるのが良いでしょう。そうすればFeedwaterFlowアラート頻発はなくなります

スタートアップバルブとメインバルブ

f:id:o_mega:20210128213725p:plain

  • TurbineValveとFeedwater ValveにはStartup/Mainという2つのバルブがあります
  • Startupは流量が小さい代わりに制御が効きやすいバルブ、Mainは流量が大きい代わりに制御が効きにくいバルブです
  • Startupバルブで起動し、発電が安定したりバルブ開放率が大きくなったら、Mainバルブに切り替えます

Generator Reverse Powerアラート

f:id:o_mega:20210128214111p:plain

  • 送電を開始したとき蒸気量/蒸気圧が足りないと、GeneratorLoadが増えた後0に戻ってしまいます。この時、何が起きているかというと送電網と発電機の同期が取れてない状態で、発電ではなく逆に受電してしまい、発電機をモーターにしてタービンを回す、ということが発生してます。これがGenerator Revese Powerです(Generator Loadに負値が表示されると分かりやすいんですが、残念ながらありません)
  • そうなると、Generator Breakerは自動的に電力網側をカットします。カットされた瞬間にタービンがトリップ、VibrationとDiffExpasionが大きくブレてしまい、しばらくタービンに触れなくなります。
  • GeneratorReverseが出たら、タービントリップを防ぐために手動でGeneratorBreakerをOpenしましょう
  • 根本的にはタービンに与えてる蒸気量/蒸気圧が少ないことが原因です。炉の出力を高め、MainSteamDump setpointを高めに、炉とタービン3600回転の安定を待ってから送電を開始しましょう。安定化のために3ElementControlのオンも確認しましょう。

MeltDownと100%出力の条件

f:id:o_mega:20210128215847p:plain

  • 他にも条件ありそうですが、Neutron Fluxが100%をわずかでも超えるとメルトダウン判定されるようです
  • 熱出力はN Flux 100%からXe吸収分が引かれたものから算出されるようで、Xeチートなしの場合、溜まったXeが燃え尽きるまで熱出力100%は出来ない模様。その場合は熱出力95%ぐらい
  • AutoControlでは100%を超えて出力が設定できます。ほぼ即座にメルトダウンします。そりゃそうだ?
  • ThermalPowerCorrectionは、おそらくPowerSetpointの基準をNeutronFlux基準(Correctionオフ)にするかThermal基準にするかの違いのようです。ので、setpointが95%近いときにCorrectionをオンにすると、補正分の熱出力を炉が出そうとしてメルトダウンする可能性が高いです。ご注意

SCRAM条件

  • ゲーム的にはSCRAMをオンにする理由はあまりありません。アラートが消えるぐらい
  • イメージ的には自動車免許の仮免でブレーキ踏んでくる教官が乗ってる感触、でしょうか。危ない兆候があるとSCRAMで割り込んで止めてくれるのは安心感もあり、説明なしに止めてくるのは邪魔でもあり…
  • かなりの量の発動条件があるようです*3が、個人的に一番良く見るのは「N Rate > 12?%」で起きるSCRAMでしょう。ROD操作は慎重に。N Rate > 8%アラートを見ながら操作しましょう
  • SCRAMが動くとECCが連動して注水されるケースがよくあるようです。SCRAMをオフにすれば、連動するECCも止まります

*1:どっかで聞いたような話だな?

*2:Xeチートについては導入編をどうぞ

*3:だいたいの水位LevelがVery High、Very Lowで条件があるようですね。DrumLevel,RectorLevel,Deaerator(DA)Level,HotwellLevel等

チェルノブイリ原発シミュレータ・導入編

はい。

フレンドから「やろうぜ!というか一人だと攻略出来る気がしないので協力してやろうぜ」と誘われたので、Chernobyl Nuclear Power Plant(RBMK-1000) Reactor Unit3. Simulatorこと通称チェルノブイリ原発シミュレータをやっていきます。

やっていくんですが、いかんせんアプリが古いことや、バグなのかオリジナルの原子炉だと面倒なのか分からん点、英語資料しかないことから、スタート時点でコケる人が多数間違いないため、まず導入について書いていきます。

過去にもチャレンジしようとしたときがあった気がするんですが、その時は普通に挫折しました。今回はフレンドと教え合いが発生したことや、英語力、原子炉、熱機関、電力に対する知識が前回よりあったこと、Youtubeで他の人のプレイが共有されていたことで、なんとか「遊べる」領域まで行くことが出来ました。

 

というわけで攻略としてはゼロ、またはマイナス1ぐらいの記事になります

ちなみにプレイ時間ですが、マニュアル通りにやると3時間ぐらいでミニマム送電開始(10MW)出来るのではないか?という感じです。ここから更に出力を上げて、カタログ通りの1000MW?実効出力の800MW?またはマニュアルにある600MW送電まではたどり着けてないため、トータルのプレイ時間は不明。参考程度に、型が異なりますが国内のPWR炉の安定稼働&商業発電が、最短48時間であることを考えると、まあフルにリアルタイムで遊ぶはちょっとな?という感じでしょうか

安全ガン無視のオリジナルチャート/手順で炉を起動する場合、10MW送電開始は30分ぐらいにはまとまりそうな感触までは来ています。

 

[2021-01-26追記]1000MW送電達成しました。おそらく、オリジナルのチャートで煮詰めれば、炉の起動から1000MW送電まで1時間ぐらいだと思われます。RTAができますね

チェルノブイリ原発のバックグラウンド

詳しくはWikipediaとかで歴史的背景を読むといいでしょう。まあそうでなくても、発電や原発に興味があったことがあれば、ほんのり聞いたことがあるのではないでしょうか。関連wikipediaや再現ドキュメンタリー、さらには跡地をめぐるダークツーリズムや写真集、モチーフにしたゲームなどをたどっていくと無限に時間が溶けてしまいます。ほどほどにしてシミュレータに戻るために、ここではざっくり触れておきます

 

ソ連は建国当初から国内の電化を推し進めてました。そのために国内の特殊な石炭専用の炉を開発するぐらいには、ソ連は建国当初からエネルギー源を求めていました。そこに現れたPeaceful Atom原発は少なくとも当時は、理想のピースだったのでしょう。しかし、正式名V・I・レーニン記念チェルノブイリ原子力発電所は、その理想に反して86年に4号炉爆発事故という大惨事を起こし歴史を名を残しました*1。今回のシミュレータはその隣にあり、事故も14年間、2000年まで稼働し続けた3号炉です。

この爆発事故によって、一節にはソ連崩壊を決定づけたとか、日本にも放射線/能の影響が観測できたとか…。チェルノブイリ以外にも各地に散らばるRBMK-1000型は後に構造欠陥から改修されますが、4号炉が爆発後も、そしてソ連崩壊後も1,2,3号炉は電力需要のために発電を続けるなど、ソ連/ロシア/ウクライナの厳しい情勢が伺えます。

…って調べたら今でも普通に稼働してる個体いますね。レニングラード原発で4基、クルスク原発で4基。これらは置き換え計画が進んでる様子。出力増加型のRBMK-1500型イグナリナ原発は、揉めた結果最終的に置き換えなしで停止、市民の電気代アップ。うーむ、おつらい。

そりゃまあ使い続けるなら、作業員の教育のためにシミュレータほしいですよね?

 

GoogleMapで見るとここ。爆発した4号炉には新しいカバーがかかってます、その隣が今回シミュレータで試す3号炉です。更に右へ2,1号炉と続きます

f:id:o_mega:20210123011950p:plain

(googlemapから引用)

インストール

このあたりの情報は

を大いに参考にしています

本体のインストール

本家のダウンロードはここ。SimGenics社のページの一番下にダウンロードがあり、メールアドレスが要求されます。インストールしてください。

ちなみにこのシミュレータが事故前のものなのか、事故後の改修型なのかはわかりませんでした。詳しい人、情報お待ちしています。

本家パッチ

ダウンロードはここ。展開するとChernobyl04.ICDファイルが一つ入ってます。これをChernobyl SimluratorことRXMODELの同名ファイルと書き換えます

自分の場合は 「C:\Users\USERNAME\AppData\Local\Apps\2.0\なんとかかんとか\なんとかかんとか\CHRNOBYL\FILES\IC_DATA」に入ってましたが、場所はPCによるかもしれません。

おそらく、USERNAME\AppData\Local\Apps\配下ぐらいにはあると思うので検索しましょう

 

修正内容についてはこちらのRedditに情報がありました。RuputureDiscTroubleの条件が変更されている、とのこと*2。実際、このパッチ導入前はあれほど分からなかったRuptureDiscTrouble*3が激減し、少なくともタービン回転まではこぎ着けられるようになりました。発電に必要なので入れましょう

CheatEngineのインストール

CheatEngineはゲームのチートをするための汎用ツールです。動いてる他のプロセス、ソフトのメモリを覗き見たり、無理やり書き換えたりします。今回は、Xeチートのためにインストールします

 

上の参考に上げた2つの動画ですが、どちらも通称「Xeチート」と呼ばれる、このチートを適用しています。なぜこうしているか?というのはいまいち分かってませんが、

  • シミュレータのXe計算がそもそもミスっている説
  • Xe計算は正しいが、Xe由来で発生するキセノンオーバーライド(核毒)は48時間のような長いスパンで効果を発するため、無駄に長いゲームプレイになってしまう。まともなプレイ時間にするため、Xe発生をチートで消している
  • シミュレータは4号基事故直前の状態、つまりXeが溜まった状態で初期化されている。まともなプレイ時間にするため、Xe発生をチートで消している

といったパターンが考えられます。

いずれにしろXeチートを導入すると、キセノンオーバーライドを味わうリアルな原子炉プレイが出来ないことになりますが、ゲームとしてのプレイしやすさは格段に良くなります。「原子炉は原子炉だけ操作すれば良いはず。そのためにはキセノンオーバーライドを消してはシミュレータが簡単になってしまうのでは…」とパッとは思うかもしれませんが、RBMK-1000型特有?の動かすだけでNeutronRate変動する扱いづらい制御棒、蒸気を介して遅延する熱出力、付随する熱機関の制御も本シミュレーターではかなりの比率を占めてるため、そう簡単なプレイにはなりません。安心してください。

または一旦Xeチートありで腕を磨いてから、Xeチートなしにチャレンジするのもありかもしれません

 

[2021-01-26追記] 改めて自分で試した所、Xeチートなしでも原子炉の運転が出来ました。のでXe計算はどうもバグではなく、それなりには正常なようです。ただし、あくまでオリジナル手順での確認で、手順書通りで起動するかはわかりません*4。また、Xeチートをする場合と比べてかなり繊細な制御棒捌きを要求し、かつ起動に失敗すると炉心がXe核毒で汚染され、炉を起動できなくなります*5。 

Xeチートを入れずにプレイしたい場合、CheatEngineのインストールを飛ばして構いません。XeチートなしでXe値が高くなってしまったら…、操作に時間がかかって制御棒を抜いても起動しなかったら…、諦めてシミュレーターを再起動しましょう

 

しかし、起動もしてないのに勝手に増えるXeというのもなんかおかしい気がしなくはないですが…。

ドキュメントの用意

公式ダウンロードはここ

原子炉の操作にもマニュアルは必要です。というかマニュアルがないと何もわかりません。マニュアルがあっても難しいですがないより遥かにマシです

f:id:o_mega:20210123015416p:plain

(上記PDFより引用)

マニュアル内容はざっと読んでくれてもいいですが

  • 7p~13pまでが事故説明
  • 15p~28pまでが原子力発電の基本
  • 33p~59pまでがチェルノブイリ原発の循環系説明
  • 間に炉、タービン、発電の説明
  • 82p~93pがStep-by-step起動手順

ぶっちゃけ82pから読めば起動を開始できます。ただしUIの説明操作法は乗ってませんし、なぜこのボタンを押すのかこのボタンを押すと何が起きるのか、「望むだけポンプ動かしてね」の望むだけとは?、「他の計器を見ていい感じだったら続行」のいい感じとは?というのは炉の説明を見ないと全く分からんです。

 基本的にはマニュアルの文字列を、シミュレータの文字盤上で探す。という感じでプレイしています

まあ説明書はわからなくなったら見ろ[要出典]と言われますし、先へ進みましょう

 

ところでこの核熱ケトル図、めっちゃいいですよね。すごい分かりやすい。核で熱を出し、熱を回転に変えて、回転で発電する。これぐらい簡単に原子力発電ができればこんな厚いマニュアルはいらんのですが…

f:id:o_mega:20210123031554p:plain

(上記PDFより引用)

シミュレータの開始

シミュレータの起動

f:id:o_mega:20210123020532p:plain

RXMODELがシミュレータアプリです。起動しましょう。

f:id:o_mega:20210123021952p:plain
メニューのDisplays、Schematicsを表示し、全ステータス表示ウインドウを出すとこの画面になりますおめでとう

Xeチート

不要な場合はこの項目を飛ばしてください

シミュレータは一旦そのままにし、CheatEngineを起動します。権限要求okして進めます

f:id:o_mega:20210123022228p:plain

左上のPCマークをクリック、一覧から「Chernobyl RBMK Reacto…」を選び、Openします。

次に、右下の「Add Address Manualy」をクリック。「chrnob_32.dll+23210」をAdressへコピペしてください。Descrptionは何でもいいですが、ここではわかりやすく「Xe」と入れます

f:id:o_mega:20210123022629p:plain

「Xe」枠が増えて、Valueがぴくぴく変わってるはずです。Activeをチェック。Valueの変わってる値をダブルクリックし、ChangeValueを0に書き換えokします

f:id:o_mega:20210123022801p:plain

シミュレータへ戻ります。

CoreStatusを見るとXenon表記が0.0%になっており、Xeチートが成功していることがわかります。ウインドウが出てない場合はメニューSchematics - Core Statusを選んで表示しましょう

f:id:o_mega:20210123023007p:plain

 

さて、ここまででプレイの準備は整いました。お疲れさまでした。

 

ちなみにCheatEngineは終了時に.ctファイルという形で、チート方法を保存できます。保存しておくと次回からアプリを自動認識して(チート対象アプリを選択した時点で)保存した.ctファイルを使おうとしてくれるので、オススメです。

 

参考ダイヤグラム

ここから先は原子炉技術者としてのお仕事が待っています。祖国の電力供給のため、頑張りましょう!

理解のために説明と訳を書き足したダイヤグラムを作ったので、お仕事の参考にどうぞ

f:id:o_mega:20210123024315p:plain

*1:そういう意味では、日本も70年代のオイルショックからエネルギー源を模索、原子力へ舵を切りました。原子力の負荷調整困難な特性から、揚水発電や深夜電力を使うEV充電や給湯器の普及に務めました。が、その後、2011年に福島の事故があり、原子力から急転換。2018年には北海道での大停電や、今年2020年冬の発電用LNGの不足と、エネルギー源問題はあまり他人事ではありません。

*2:このバグはVB6からVB.NETへの移植の際に起きたのでは?と推測されています

*3:このアラートは解除不能で復帰する方法がない。RuptureDiscとはディスクが割れることで内部の圧力を逃し、機械の破損を防ぐ仕組みのようなので、正しい仕様

*4:一応出来るらしいという話も

*5:RBMK-1000に限らずどの原子炉でもXe核毒で汚染されると、Xeが抜けるまで数時間程度、再起動が困難になるようです。キセノンオーバーライドチェルノブイリ原発事故も当日の作業員はキセノンオーバーライドを理由に、作業の延期を提案していました

コトブキヤのアバターDP001 βテストをつらつら

 これに当選したので、VRChatでゆるゆる使います。

 使いました

f:id:o_mega:20201030231253p:plain

※この記事は利用規約に基づいて公開しております

アバターを用いた活動の様子や改変方法などを記録した「画像」「動画」「文章」「音声」を
SNS、動画サイトへ投稿、共有、配信いただけます。
(これらの投稿内容については、ベータテスト実施期間経過後も公開を継続いただけます。)

配布パッケージ

  • FBX、PNGテクスチャ、テクスチャ編集用のPSD

良くboothで販売されてるアバターのうち、UnityPackage依存のものがない、ぐらいの感触です。大昔のVRC向けアバターはわりとこんな感じで配布されていたらしい?…と風の噂で聞きました

ざっくりセットアップ

Avatar3.0のゼロからセットアップはやったことないので、慣れた2.0セットアップでさくっと。

fbxを投げ込んでrig設定。Chestとアゴが誤認識していたので変更する程度で完了。VRC_AvatarDescriptorを付けて、LipsyncもAutoDetectヨシ。

 

とりあえずVRCへ持ち込むとフルトラでも問題なく動きました。適当に踊ってみましたけど、フルトラ適正は十分に高い様子。ヨシ。

とりあえずUTSにする

f:id:o_mega:20201027043252p:plain

そのままfbxを投げ込むとStandardShaderセットアップされるので、それをリファレンスにする。よくよく見ると目のマテリアル*1が透過(Transparent)なのでそこだけ注意しましょう

今回はUTSで仕立てます。顔の透過マテリアルはToon_DoubleShadeWithFeather_TransClippingを使って透過させますが、この時ClippingMaskを作る必要があるので、画像編集ツールでAlbedoテクスチャからよしなに作ります*2

他マテリアルはToon_DoubleShadeWithFeatherを割り当て。BaseMap、1stShadeMapとかをよしなにやります。

f:id:o_mega:20201027043152p:plain

できた。かわいい。

 

すっぴんではAvatarPerformanceRankはMediumでした。ポリ数的には3万△を切ってるんですが*3、SkinnedMesh6、Material12がGoodへの壁を阻んでいるようですね。とはいえ、服やパーツオンオフを可能にするためには仕方ない所ですし、VRChat PC向けアバターとして割り切れるなら問題にはならないでしょう

エプロンが貫通してしまうためDynamicBoneを仕立てます

エプロンDynamicBone

難関でした。3回ほど作り直した。DynamicBone(以下DB)は髪の毛とかアホ毛とかリボンとか、貫通考えなくていい揺れものにはいいんですが、とにかく布感が求められるスカート系はそもそも用途合ってない感があります。ありますが、コレしかないのでやるしかない*4

初回はこんな感じ。

ざっくり、「モモの内側にDynamicBoneCollider(以下DBC)をOutside設定で付け、エプロンのDBボーンを押し上げる」というオーソドックスなOutside手法と「モモの前にInside設定のDBCを付け、エプロンのDBボーンを引っ張り上げる」というInside手法があります。加えて、DBにはFreezeAxis(軸固定)設定があり、ボーンが横へ流れなくなる代わりにブレてDBCを突き抜けづらくできます。

この辺をあれこれ検証していくわけですが…、し、しんどい。Playを押してモモを回してDBCの位置調整して…抜けた…ウワーとかやるわけです。しんどい。

 

f:id:o_mega:20201030230930p:plain

DP001ちゃんのしんどさは、エプロンのボーンの少なさ、特に奇数3本であることから来てます。3本しかないとエプロンは鋭角に変形し、なめらかな太ももと交差する可能性が高まります。また、3本ということは中央ボーンがあり、これが左右両方の足といい感じに動いてくれればいいんですが、DBにはそういう機構はありません*5

f:id:o_mega:20201030225849p:plainf:id:o_mega:20201030230040p:plain


ということで初回はInside式*6、2回目はOutside式を試し、3回目はオーソドックスにOutside式+FreezeAxisという妥協になりました。FreezeAxisは横方向の揺れがなくなってしまうのでこの点では妥協です。ムズすぎる… これはボーン構造で解決してもらいたいですねえ。4本、6本あたりでエプロンボーン組んでもらうと良いかと思います。

いっそDBが使えない、VRChat/Questや、DB持ってないユーザ向けを考慮するなら、UpperLegにエプロンをくっつけてしまうのも手かもしれません。または、そういうDB不要版エプロンモデルを付ける、選択式にするとかも1つありですねえ

 

DB設定は、エプロン前、エプロンリボン、ウエストバッグ、髪の毛、アホ毛、胸で個別に設定しました。形状が崩れやすい部分、髪の毛とかエプロン、胸は硬めにちょっと遅れて動くぐらいで十分。逆にヒモに近いアホ毛(hair_01_M)をがっつり揺れる*7するとなかなかいい。いいですね。びよんびよん

表情

Avatar2.0構成なので、がとーしょこらさんのVRCAvatarEditor  betaでサクッとアニメーションを付けていきます。はいできました。ここは何も困るとこはありません

f:id:o_mega:20201028014050p:plain

リップシンク用blendshapeと、表情8種を眉/目/口 +αで分けて作られています。ジト目独立してあるのいいぞ~。

f:id:o_mega:20201028014944p:plainf:id:o_mega:20201028015025p:plain

歯がちゃんとあって、ニッみたいな表情もあるのがコダワリ感じていいですね。口の中がしっかり作られてるアバターは珍しいんじゃないかしらん

 

…とおもって試していたんですが、リップシンクと噛み合うと崩れてしまいます。

とはいえ普通のゲーム向けモデルだと、複数ブレンドシェイプを混ぜて再生するなどというしちめんどくさくなることはしないと思うので、これはVRCのスタイルが独特かもしれんと思いつつ、他プラットフォームではどうだろう?実装次第な気がするが… プラットフォーム側が愚直に実装してると、リップシンクブレンドシェイプと表情が混ざりそうな気がします。

 造形とか

かわいいですね。オーソドックスというかプレーン、明るくハキハキしたキャラで、全体バランスが良いというか破綻がない。それでいて、ちょいちょい目立つコダワリ、目立たないコダワリが随所に光る感じ

初期設定だとアホ毛に帽子とエプロンが個性を主張しますが、帽子とエプロンをとってしまうと、わかりやすかった特徴がアホ毛以外なくなります。

 

f:id:o_mega:20201030034838p:plain

この他、顔と髪型、耳が脱着できます。これ以上の服の着脱はナシ。腕のテープもそのまま。

そう、耳。耳がきっちりモデリングされてるのは珍しいですよ。メッシュ別れてるのはなんでしょね、髪型交換した時に貫通しないようにとかでしょうか。マテリアル数を心配すると、顔に結合されててもいいような気もしつつ。イヤリングをアバターに着けたい人にオススメできる素体ですねえ

f:id:o_mega:20201030040219p:plain

みつあみ編み上げも、襟がパリッと立ったアバターも珍しい気がします。キャラデザでは結構ありそうな気がするのにね

f:id:o_mega:20201030044306p:plainf:id:o_mega:20201030044348p:plain

目のハイライト、色収差ズレっぽいのはよくよく確認してみると別メッシュで用意されてました。面白いコダワリポイント。blenderで見てみると、なにげにポリ数も結構割当られていてアップにも耐えられる画作り

ちょっと詳しくないのですが、視線制御が入ってなさそう…?自撮りでアップになった時に視線がズレてるように感じますが、どうなんでしょ。詳しい人に聞きたい所

f:id:o_mega:20201030040932p:plain

腰回りはショートパンツとミニスカートの間の子のようなスタイル。スカート部にボーンはなく、UpperLegに固定されている仕様。揺れませんがDB不要で、動いた感じも破綻はないですね。非常にいい設計。DB持ってない人にも安心

太ももからもコダワリを感じます。アクセントにウエストバックが固定で付いてます。

スネから下は細め、そこにハイカットな大きめスニーカーが付きます。動かして見るとこれもはっきり存在感あって、フルトラダンスするには良い感じ。ソールパターンも描いてあります。膝関節が正面から見ると細すぎる印象があるかもしれませんが、まあ好み次第

 

f:id:o_mega:20201030042057p:plain

総じて、フラットでパッと見は特徴ないんだけど、よくよく見るとどの部位にもあんまり見ないディテイルが盛ってある、という異常に凝ったモブという印象でしょうか。

全体的には細身ですが細身に見にくくなるメリハリや、小物が付いてる?

素体単体としてもかわいく、いろいろ乗せて個性を出すにも要素が競合することは少なそう

要望

ということで現時点の要望、困りポイントとしては、

  • エプロンのボーン構成の改善。3本から4または6本へ変更
    • エプロンのDynamicBone設定(VRMならSpringBone)設定はそれなりにしんどいので、設定済みPrefabがあると多いに助かる
    • DB設定しないともれなく足を貫通してしまうのが、DB持ってない人には辛いかも。
    • 逆に素体の、足一体化したスカート設計は良い割り切り
  • リップシンクと表情が混ざるケースへの対処
    • Avatar3.0セットアップなら、表情出してる時にリップシンクを殺す設定が入れられるはず?その仕様で設定済みPrefabを完成版では提供する案(モデル修正最小、VRCのみで有効/他アプリでの扱いは不明)
    • 表情とリップシンクがかぶっても顔が破綻しないように/破綻を最小限にする案(モデル修正が大変だが、根本修正になる。一部の組み合わせだけは妥協する?*8
  • 腰スカートあたりでZファイトするケースがある?*9
  • 付属していたPSDが、FireAlpacaで読み込むとスッカラカンになってて使えなかった
  • アバター/キャラクター名がない。検索しづらいのと説明しづらい。現状「コトブキヤβテストしてる子」みたいな呼び方になってしまっていて困るので、名前を付けてほしい

あたりでしょうか。他はそこまで困ることはないというか、まあセットアップ済みPrefabはないものの、概ねboothで見かけるアバターと比べても不満点はないかなと

FAGとかのカスタマイズおもちゃを手掛けてることもあるのか、素体としての主張のしなさとコダワリと、外装エプロン/帽子から来るユニークさのバランス、アップで耐える絵にポリ数の少なさが高いバランスでまとまっている、いいモデルですねえ。

 

一旦、VRM形式や他プラットフォームでの利用は他の方に任せたいと思います

*1:BodyメッシュのElem1、DP001_face_alp_mt

*2:自分はFireAlphacaで"透明度保護"を入れてベタ塗り。透過部分を黒、不透明部分を白に塗りつぶす

*3:おそらくClusterのVRM制約に合わせた予感

*4:Cloth知らないので専門家頼む

*5:トリッキーな手としてConstraintを使えばそれっぽいのはできるかもしれないんですが、途中で挫折しました。やめやめ、オーソドックスなセットアップにしたい

*6:Inside式はめり込みが起きにくい代償として、板状にエプロンが跳ね上がってしまう

*7:Elasticityを小さく、Dampingを小さく、Stiffnessを高く

*8:具体例だとロポリこんちゃんは、ほとんどの表情でリップシンク合成しても問題ないが、口を大きく開けた表情では多少輪郭線が目立つのを受け入れたデザインになってる

*9:シェーダーによるかも。UTSでは発生してない様子

iPad ProのLidarからVRChatへ持っていく、Just Naiken 2LDKの作り方

youtu.be

f:id:o_mega:20201024054742p:plain 

このワールドの作り方について。ワールドを訪問したい人はこちら

ざっくりフロー

用意するもの

iPadPro/iPhone12Proで撮影

最新のiPadProとiPhone12Proには、LIDARと呼ばれる距離カメラ/レーザー測距装置*1がなぜか乗っていて、それでいてOSから支援がありモデルデータが作れるようになっている。

なぜか乗っていてアプリも出ているのでコレを使って、空間をスキャンする。今回自分はスキャンはしてなくて、友人がスキャンしたデータを受け取って使っている。ので詳細は知らないが2LDK物件なら10分程度でできるそうだ。

更にその場でフォトグラメトリ処理が走り出し、モデルの生成がなされるようで、通常のフォトグラメトリフロー*2を知っていると、失敗率の低さ、手軽さは雲泥の差だ

3d Scanner App™

3d Scanner App™

  • Laan Labs
  • ユーティリティ
  • 無料

apps.apple.com

すると、glb形式でモデルデータが出力できるのでPCへ持ってくる

blenderで変換する

blenderでglbをimportする

f:id:o_mega:20201024051601p:plain

すでにそれらしい形状は出来てる上に、1unit 1mで揃っていて感動。普通のフォトグラメトリだと切れがちな廊下もちゃんとつながっている。奥の部屋だけ、やや横に回るように歪んでしまっているのが惜しい*3が、ソレ以外の配置がビタッと決まっているのが異様なまで。床の水平もノイズの凹凸はあるものの、ほぼきっちり水平ができており、誤差は物件全体で3cmぐらいに収まっている。すごい

 

一方で普通のフォトグラメトリも苦手とする、光沢、ガラス系はLIDARでもだめ。奥の部屋にある大きな白い壁も崩壊してしまっている。まあこれは仕方ないだろう。追加で苦手なものとしては太陽があり、ベランダからの景色はこれまた消えてしまったり、謎のノイズ断片が浮いている*4

 

UV Editor画面にすると、image_0画像が取り込まれているので、これをpngとして書き出して置く。モデルの方はfbxでエクスポートする

ついでに確認するなら、マテリアルがデフォルトだとプリンシパルBSDFになってるはずなので、ベースカラーを画像テクスチャに指定し、先のimage_0を選んでやるとソレらしい見た目が確認できる。よしよし

f:id:o_mega:20201024051846p:plain

上のワールドではQuest対応化のために一応の軽量化(デシメート)を掛けた。なにせ取り込んだままだと90万ポリゴンがあったため、30万程度まで下げた。ちゃんとするならリトポ作業をするんだろうけど、ここは手抜き。PC向けなら90万ポリでも対して重くない

テクスチャはだいたい4kサイズが1枚だった。これはアプリの上限らしい。細かくするならセクションごとに撮影して、あとで接合するのが良さそうだ

 

UnityでVRChatのワールドにする

Unityに持ってくる。今回は手抜きするために、SDK2系ワールドとして作った。

SDKを入れ、上でエクスポートしたfbxとpng画像を取り込む。新しいマテリアルを作り、standardシェーダーとし、png画像を割り当て。fbxをシーンに配置して、作ったマテリアルを割り当てる

 

あとは、ワールドとして最低限の体裁を整えたい。

DirectionalLightの色を白色にして角度を調整、No shadowに設定。床コライダーとしてCubeを引き伸ばしたりして配置、スポーン地点のVRC_WorldDescriptorを配置

f:id:o_mega:20201024053754p:plain

 

後は好みに合わせて、

いつものありがたいAssetsを入れてミラーとか置いたり

booth.pm

家具を配置してVRC_Pickupつけてみたり

coquelicotz.booth.pm

ジャンプできるようVRC_PlayerModsを設定したりする

f:id:o_mega:20201024054020p:plain

建物上から透過で見下ろせるのも面白いので、スロープ付けるのも楽しい。

 

家具類はスケールがあってるかどうか確認は必要。ミニマム要件であれば、サイズ別にキューブを並べるとかでも良い

 

おわり

iPad/iPhone LIDARとVR内見

既存のフォトグラメトリと比べると、

  • ぱっと見、解像度は低いけど、
  • めちゃくちゃ手軽
  • 認識失敗によるモデル切断、撮影不足が回避できる
  • 全体での誤差は小さく、測量機器として正確

という感じのようだ。その場でモデルができていくのを確認できるので、帰宅後のモデル生成失敗と向き合わずに済む。長時間の撮影で誤差でじわじわ位置がズレていくというのも少なそう

これと内見がいい感じにマッチしていて、

  1. 10分ぐらいで撮影
  2. 1,2時間作業でVRCワールドとして上げる
  3. 身内でワイワイと内見したり、家具の配置を相談、考えたりできる

これが非常にうけた上に、家具配置シミュレーションをわいわい相談しながらできるのが便利で新鮮だった

 

VRで内見して家具配置をあれこれする、というネタ自体は25年以上前の先代VR元年に考えられていたソリューションなのだけれど、これが誤家庭で、しかも数時間で可能というのはすごい。そして面白い

f:id:o_mega:20201024054756p:plain

こういう断面図的な視点も新鮮

*1:車の自動運転用センサーとして近年盛り上がっているらしい

*2:撮影して家に返ってきてソフトに写真を掛けると、あっ、モデルがつながってない!撮影に欠けがある!というのが分かるやつ

*3:おそらく玄関付近でねじれた

*4:アーティファクト、ちゃんとやるならこの辺は手作業で削除したい

OculusQuest2とEliteStrap with Batteryレビュー

はい。OculusQuest2が発売されました。

公式で買った所、発売日から2日ほど遅れて届きましたがそれはそれ…

f:id:o_mega:20201016050557p:plain

総評

  • ELパネルから液晶になったり、IPDが割り切られたり、本体が小さくなったり、ストラップが新設計・簡易になったりして、完全上位ではない。が、概ね上位互換
  • 体験がQuest1から劇的に変わるわけではない。所々性能由来で早くなったりもたつく場面は減った。しかし、できることは現状Q1と同じ、という意味でも後継機
  • 小さい頭の人向けにチューンされてる。メガネ適性はQuest1より悪化した
  • EliteStrap with Batteryは良かった。バッテリーもよく組み込まれてる。キャリングケース抱き合わせはやめろ
  • 本体をコストダウンして、アクセサリでカスタマイズしてね戦略を感じる

 本体

  • Quest1とQuest2、並べて分かる程度には小さくなった
  • その分顔当てが小さくなり、メガネのつるが挟まって引っかかる。メガネ適性は悪い。RiftCV1の頃のメガネ非対応感を思い出す。Quest1より悪化している
  • 白くなったのはイメージ改善に良さそう
  • 顔当てのクッションは安っぽい、よくあるスポンジになった

 

液晶パネル

  • Q1のELパネルからの解像度上昇とペンタイル廃止のため、解像度感は非常に高く、なめらかになった。ViveCEからIndexやViveProへ移行したぐらいの感動。ジャリジャリ感は減り、小さい文字がよく読めるのが分かる
  • 一方で液晶となったQuest2は暗い所ではグレーに光ってしまう*1。Q1の「暗闇で光のパーティクルが飛ぶ」ようなコントラストが高い場面のキラキラ感は薄れている。とはいえ、比較すると気になる程度、暗い場面以外ではそこまで気にならないと思われる
  • IPD調整は3段階、自分は一番外側でだいたい合った。が2段目ぐらいでも周辺が流れる程度で遊ぶことはできた。個人差が大きいのでなんとも言えないが、自分は悪くないと感じた。レンズ特性的にスイートスポットを広めにしたりしてる可能性はありそう

f:id:o_mega:20201018012324p:plain

パフォーマンス

  • VRChatでは「性能不足と思われる引っ掛かり」や「性能不足と思われる音のループ」や「細かな操作不能時間」が減ったのがわかる。しかし、フレーム落ちの引っ掛かり感が完全になくなるわけではないのは、まあVRChatだからだろうか。概ね体験は向上している
  • BeatSaberでは、解像度アップ以外の感想はなかった。何せ元からヌルヌル動いている
  • DanceCentralは、起動までの待ち時間が短縮されたように感じたが、これは元が重すぎる…。ゲーム本編はとくに変わらず

コントローラ

  • 全体としては大きくなったが、持ち手は細くなった印象
  • 気持ちボタンやスティックが近づいた気がする?手が小さい人向け?
  • 細かな所では、グリップのゴム風コーティングがなくなり、均一な梨地になった。バッテリーカバーのマグネットがなくなり、ツメで保持する一般的なスタイルになった、ハプティックの感触がよくなった、親指の置く場所が用意された。あたりだろうか
  • Oculusボタン、メニューボタンの位置が変わったのでちょっとまごつく

標準ストラップ

  • 樹脂一体成型のQuest1から一転、Goを思い出す安そうな伸縮ストラップへ変更された。が、つけ心地はそんな悪くない
  • HMDとの接続アームの回転を渋く設定してあるようで、そこを調整することでデコとホホでの荷重バランスを取りやすくなった
  • Quest2の標準ストラップは畳めて収納good。持ち運ぶ機会が多い人には朗報だろう
  • *2VRCユーザーからは「一番寝やすそう」という話もある

EliteStrap with Battery

  • かなり良い。装着感がよくなることでメガネ適正も向上する
  • 後頭部の輪っかを頭の後ろ、つむじを囲むように載せ、そこから伸びるアームがHMDを斜め後ろに引っ張り上げる、といった感じの装着感。WinMR系、ViveCosmos、PSVRデコで支える構造の前後逆という趣き
  • HMDのアーム部が渋いことと、ストラップの輪っかが下へ突き出していることから、緩めて頭を通してから締め直す必要があり、標準ストラップと比べるとひと手間ある。ViveDAS、ViveProと比べても、装着時の輪っかは邪魔になる
  • 標準ストラップが装着速い/装着感そこそこに対して、EliteStrapは装着ひと手間/装着感ヨシという感じ。長時間プレイ向き
  • 後頭部に下、首周辺がフリーになるので、髪が多い人に適合しやすくなってるかもしれない
  • 輪っかが樹脂になった分、後頭部の形状が合わない場合、痛む、装着感が良くないケースもあるようだ。輪っかにクッションを増設できるといいのかも

f:id:o_mega:20201018003036p:plain

  • インテグレートも良く出来てる
  • 後頭部調整ダイヤルの下に充電ポートがあり、ここに電源を指すことで、Quest2本体とバッテリー両方を玉突き方式で充電できる
  • 本体ソフトで拡張バッテリー側の容量を確認することが可能
  • ただし、充電ポートはあくまで充電用で、PCとつないだりはできない。PCとつないでストレージの中身を見たり、OculusLinkをする場合はQuest2本体のコネクタへ繋ぎかえる必要がある

f:id:o_mega:20201018003218p:plain

キャリングケース

f:id:o_mega:20201018003712p:plain

  • え、なにこれ
  • Elite Strap with Batteryの付属品兼ストラップ輸送箱。繭玉風キャリングケース
  • 断面が丸く安定しないし縦積みできない。ファブリック風で汚れそう。肩紐掛けられない。と実用性は低そう…なぜ…
  • まあ、部屋に白黒ゴーグルをそのまま置きたくない、繭玉置きたい人はいいんじゃないですかね?Elite Strap with Batteryと抱き合わせ販売やめろ

つらつらと

  • 概ねQuest1の後継機、Questプラットフォームの次として不満点を潰してきている。一方で、価格を下げるための仕様変更、新規層を開拓するためのチャレンジをしている印象を受ける
  • 外装で多用な素材/質感を使い分けるのをやめること、全体を白基調にすること、あたりはその両面を受けてのことだろう。あと繭玉キャリングケースも
  • 長期の快適性を下げてでも初期価格、導入のハードルを下げて来ている感じ。長期に使うならアクセサリ買って強化してね、という感じだろうか。公式からストラップが出たことはありがたいし、逆に付属ストラップが最小になったことで携帯性を上げる選択肢もできたのは素晴らしい
  • IPDの調整幅縮小やストラップ装着の簡易化は、素人ユーザーにはちゃんと調整できないだろう、という目論見も感じる。個人的には多少のIPD差は慣れで解消できるイメージがあり、それならハマってもらうためのコンテンツを用意したり、初期価格を抑える方がいいという戦略は納得がいく。細かな調整やハマった後でいい
  • メガネ適応性のダウンはつらい、が冷静に考えるとOculusのHMDのメガネ適性はQuest1が例外的に高かったような気も
  • 全体的に顔が小さい人向けにチューンされている印象。とくに顔当てクッションはQuest1に慣れた人には狭く感じる。オプションのFitpackを買えということか

 

  • VRを初めて買う、そしてFacebookを受け入れることができる人には、とりあえず買っとけ、で良いデバイスと思う。最新のVRが体験できるぞ。
  • Quest1をすでに持っている人にはなかなか悩ましい
  • まずアカウント。Quest1,Quest2を共有させるには、OculusアカウントとFacebookアカウントの紐付けが必須のようす。とすると、過去のアプリ購入情報もFacebookアカウントへ移す必要が出てきて…と、もし専用FBアカウントを用意するつもりなら昨今のBAN騒ぎが一段落するまで待っても良いかもしれない。アカウント連携が一番のネックだろう
  • Quest1と2の性能差は明確にあるが、体験としての差は現状ない*3。軽やかに感じるソフト*4もあるが、その程度で基本すべてのソフトが動くことなっている
  • 今すぐQuest1から2へ移行する理由は薄いが、性能の伸びはかなりあるのでハマってるなら買い替えてもいいかもしれない

 

  • メガネ適性が下がったことについては、少なくともメガネで遊べなくはない。とはいえツルが押されるレベルではあったので、視界の調整に手間取る
  • どちらにしろメガネ適性があろうがなかろうが、メガネ+HMDは面倒さがつきまとうので、ハマってきたと思ったら、それこそアクセサリで対応するのが元々良いだろう
  • 乱視が少ないただの近視や、安く済ませるならリーフツアラー用レンズが導入しやすい。ダイビングやシュノーケリングに使うゴーグル用のインナーメガネ、樹脂製。2000円程度
  • 乱視が強い人、もっとしっかりしたVRゴーグル用レンズがほしい人は、VRsatileが良い。メガネを作ってもらった人なら処方箋が一緒に出てるはずなので、それが残っていればそのデータを、そうでなければ眼科で「メガネ作りたいので」と言えば検査してデータをもらえる。それをVRsatile購入時に渡すと作ってもらえる。ノーマル品をViveProで使っているが非常に不満ない、他機種でも使い回せる。物によるが、検査と合わせると15k円~ほどだろうか

f:id:o_mega:20201018011324p:plain

胡蝶庵・宿坊にて

*1:Pimaxの液晶よりはカナリマシ、ViveCEぐらいだろうか

*2:VR睡眠をするヘビーな

*3:iPhoneで言うなら、iPhone3GSか4からiPhone4sぐらい?

*4:一部レンダリングが精細になってるアプリもあるらしい

コナミの300円ホロ印刷「カードコネクト」を試す

コナミのカードコネクトって?

Twitterを見ていたら楽しげなものを見つけました

 え、何これは?楽しいやつじゃん?と

教えてもらうと、カードコネクトというコナミアーケードゲーム機?のようです。

p.eagate.573.jp

ざっくりいうと、セガの艦これAC、キッズ向けのカード排出ゲーから、ゲーム部分を取っ払った物体、ということでしょうか。もっと雑にいうと、カード専用プリンターinゲーセン。セガだとカードメイカーという名前で同類のものがあるとのこと。*1

 

これを単独で遊ぶとなると、タッチパネルでガチャを引いてカードをオンデマンドプリントする。トレーディングカードの販売機という感じ*2

あと、まあゲーセン機器なので他機種連動があるみたいなのですが…。現状ファングッズとしてのカード販売がメインのようですね。なかなか難しいなあ。いやそれでいいのかな…、いまいち立ち位置が分からない…

 

というところでコナミが3月に投入してきた新機能がオリジナルプリントだったわけです。

本題オリジナル・プリントとは

ユーザーがjpg/png画像をアップロードして、ゲーセンのカードコネクト端末で印刷出来るサービス 。オンデマンド印刷、ネットプリントのゲーセン版じゃん… セブンイレブンの代わりにゲーセン行くやつじゃん…。印刷ついでに音ゲーも出来るやつじゃん…、コナミかしこいな?まさか何印刷したらいいか分からんので、みんな印刷してくれよなってサービスオープンにするか?ゲーセンにプリンタ置いたからみんな印刷してくれってこと???????

 

f:id:o_mega:20200816023849p:plain

した

p.eagate.573.jp

公式に書いてある通りですが

  • 画像をアップロードする
  • QRコードが吐かれる
  • ゲーセンに行く
  • QRコードを端末に見せてお金を入れる(ノーマル100円、ホロ付き300円)
  • カードゲット!!!!!

です!以上。コナミのなんかアカウント連携とかは一切ないです、ノーログイン。概ね、ネットプリントの非ログイン利用と同じです。QRコードで受け渡す、有効期限が14日で長めなのが違うぐらい。あとセブンイレブンじゃなくて設置ゲーセンへ行く。

なので、ネットプリント同様にQRコードを配って遠くの人にカードを印刷してもらうことも可能です。「カード作りました。欲しい人はゲーセン行って、カードコネクトでオリジナルプリント、このQRコードかざして」でよいです。配りましょう。コナミがうるおいます

かんたんアップロード

画像1枚そのまま上げて、ブラウザ上で画像リサイズ/クロップとか最小限の編集は出来る様子。

ホロ付けたい場合は、印刷前メニューでテンプレートから選べます。この辺はプリクラ文化に近い?メニュー見る限り汎用的なホロパターンがそろってる感じなんで、これでホロ付けるでも十分な見栄えになりそう

プロアップロード

表、裏、表ホロ、表ラミネート、裏ラミネートの最大5枚の画像を用意して入稿するモード。はい入稿です。テンプレートも入稿ルールもあります。全面ホロやめろーとか、細かいパターンは出ないぞーとか。ラミネートは更に領域制限があります。とりあえずテンプレpsd落としてふむふむすると良いかと。

f:id:o_mega:20200816025436p:plain

あー、いいですね。このむき出しのプロ仕様、さすプロ。カードコネクト女子ウケが良い?という噂を耳に入れたんですけど、確かに同人かじり始めたらこの辺すんなりできる人多いよね?

特殊印刷勢ならそのままホログラム印刷の気分で行けると思います。基本的には切り抜き部分だけ透過したα付きpngで、ホロとラミネートマスクを作ります。白黒じゃなくてアルファで透過、というのがちょっと慣れないポイントかも

プロでもホロ、ラミネートはオプショナルで省略できます

あと、ラミネートの質感はいまいちわからず…

f:id:o_mega:20200816020558p:plain

もっとはっきり縞々出るかなーと思ったら、やんわりプレス感。正直均一な背景じゃないと気づかないレベル。VRCHATロゴにもラミネート付与したんだけど分からん。

加えて、ラミネートは印刷範囲制約が唯一厳しい上に、ゲーセンに行ってから「印刷できません」って怒られたので、個人的にはラミネートはオススメできません…省略でいいと思います。ゲーセン往復つらい…よくよく確認したらちゃんとテンプレート内だった(バッファ0pxだったけど)。やっぱ音ゲー付き印刷所でもノートPC抱えて行くのが正解だな? せめてweb入稿タイミングでエラー出してくれー、ととりあえずコナミ窓口へ意見投げてはおきました。

 

プロモードでも端末メニューでホロテンプレートやラミネートテンプレートがメニューから選べるので、後からテンプレでいいやというのも可能っぽい。

 

両面印刷したい、汎用テンプレじゃないオリジナルホロを書きたい場合にプロ入稿するのが良さそうです。あとラミネートは省略して良さげ。

ホロ印刷がなぜかゲーセンで気軽に試せる、この不思議

カード質感についてはプラと比べてしまうとちょっとチープで薄め感がありつつも、紙カードとしてはなかなか厚め。リッチめ名刺ぐらいの感触。色味はなかなか鮮やか。表面保護はちょっと気を使いそう、という感触。あと印刷機都合なのか、自分の場合は若干キズが入ってました。印刷には1分ちょい掛かったので、バリバリ大量に刷るのは向かないかな。

f:id:o_mega:20200816020516p:plain

とはいえ、特殊印刷ホロが300円で試せるのはなかなか驚異的じゃないでしょうか?特殊印刷ガチ勢のみなさんはどうでしょう?いや単にキラキラする自前カード作れたら楽しい、楽しいよね?

背景画像を共通にして印刷すれば仲間内トレカとかも出来そう。出来る。イベント集合写真とかもありだな?両面使える。画像切り貼りできる人は試してみてはどうでしょうか。

*1:この辺、歴史をたどると三国志大戦のようなTCAG、カード排出+アーケードゲームの文脈で店員がカード補充時にレアを抜いてしまう問題、カード在庫が不便という問題があり、そこからなんやかんややって2015年ぐらいにはコナミ(オレカバトル/サウンドボルテックス)・セガ(Diva)両者とも追加モジュールとして、ゲーセンでプリントする機能自体は試していたよう。そこから先へ進んで、セガ艦これがホロプリンタ搭載、2018年にセガ・カードメイカーを最初はセット販売後に独立機、2019年に独立機コナミ・カードコネクトが出てきたらしい

*2:アルカードのトレカと違うのは、投入金額(ガチャの回し方)によってレアリティ変動をさせたり、重複カードを印刷しないことで不要カードを吐かない&安くコレクションできる所でしょうか。N枚デジタルで引いて、そこからプリントするカードを選ぶスタイル、追加料金で複数枚も吐けるエコですね