【研究】低エネルギー光子を利用した高エネルギー反応

posted in: Chemistry, Technology | 0

紫外線と赤外線について皆さんはどのようなイメージをもたれるでしょうか

日焼けを起こしそうな方を選ぶとしたら、それは紫外線であるというイメージをもたれる方が多いのではないでしょうか

これは、紫外線のもつエネルギーが大きいためです

光を波長の大小に従って並べると、エネルギーの大きい方(または波長の短い方)から、紫外線・青色光・緑色光・赤色光・赤外線という順番になります

具体的には、青色光であれば400 nm程度、赤色光であれば800 nm程度と考えると、覚えやすいでしょう(筆者は大学のころ、このようにレーザー分光学のS教授に習いました)

そして日焼けを起こすようなエネルギーの高い光は、当然、光反応を起こしやすいということになります

ですので、紫外線・青色光などといった高いエネルギーの光は、実は日焼けを起こしてしまうというリスクがあるだけでなく、有用な光反応を起こすためにも用いられます

反対に、波長が2倍程度長い赤色光などといった低エネルギー光は、エネルギーが2分の1倍になってしまいますから、紫外線のような光反応を起こすことはできません

ならば、我々は危険性の高い紫外線や青色光のみに頼って生き続けるしかないのでしょうか??

実は、そんなこともありません

これを解決する研究が、近年報告されてきています

これらの研究は、可視光のような低いエネルギーの光を、紫外線でしか起こせなかった反応に適用するという試みに成功しています

本記事では、この「低エネルギー光子を利用した高エネルギー反応」について、よく知られている以下の3つの手法を実例に沿って解説します

それぞれ、①Sensitization-initiated electron transfer (SenI-ET)、②Sensitized triplet-triplet annihilation upconversion (sTTA-UC)、③Consecutive photoinduced electron transfer (ConPET)という手法です

画像には矢印でエネルギーの流れを記載していますが、高い位置にあるものほど高いエネルギーを有しており、反応が有利になると解釈してください

図1. 低エネルギー光子を利用した高エネルギー反応の目次(sp. = species).

以下、これらについて順に説明する前に、Photoredox触媒に関する前提知識を共有しておきます

図2左の通り、多くの場合Photoredox触媒は、その基底状態においては還元剤(reductant)や酸化剤(oxidant)に対し不活性であります

これは、反応物質同士のHOMO-LUMOギャップが大きく、電子のやりとりが起きにくいためです

しかしPhotoredox触媒が励起されると(図2右)、もとのHOMOが電子を受け入れたり、もとのLUMOが電子を与えられるようになり、反応が進行可能となります

このような原理に基づき、Photoredox触媒は光照射を起点とした化学反応を起こします

図2. Photoredox触媒の共通原理.

以上の前提知識を踏まえた上で、以下の①SenI-ET、②sTTA-UC、③ConPETについてご覧ください

①Sensitization-initiated electron transfer (SenI-ET)

SenI-ETは、日本語では、「光増感によって開始される電子移動」という意味になります

光増感とは、光励起した分子のエネルギーが、エネルギー移動を介して他の分子に伝わり、間接的にその他の分子が励起されることです

この例として代表的な、ルテニウム錯体とピレンの活用例について、そのメカニズムがどのように明らかにされてきたかを見ていきましょう

この初の報告例は、2017年にBurkhard KönigらによってAngew. Chem.に報告された例[1]です

この例の、従来型メカニズムとの対比を図3に示します

この研究のうまみは、Ru錯体のみでは進行させられない光反応を、ピレン(Py)と組み合わせることによって進行させることにあります

従来の場合ですと、Ru錯体の青色光励起によって得られるRuラジカルアニオンの還元電位は-1.3 Vと小さく、還元できる基質範囲に限界がありました(図3左)

かといって、還元力の高いピレンの活性種を得ようとしても、必要な光は紫外光というエネルギーの高いものになってしまいます(黄色固体なら青色光を吸収していることになりますが、白色固体であるPyが吸収できる光はせいぜい365 nmくらいまでです)

エネルギーの高いものを使えば反応を進行させやすくなるのは当たり前なことですから、これでは面白くありません

ですので、理想的には、青色光という比較的低エネルギーな光を使ってRu錯体を励起させ、その後なんとかしてPyにエネルギーを移し、還元力の高いPyの活性種に光反応を起こさせるというスキームが望ましいです

これが図3右のスキームに相当します

図3. SenI-ETの報告例と、その最初の提唱メカニズム.

図3右側の詳細を述べます

まず、Ruは光励起によって励起状態になります

その後、励起状態のRuから基底状態のPyへエネルギー移動が起き、Pyは励起状態になります

励起状態のPyは電子を受け取りやすい性質があるため、電子ドナーであるアミンから一電子奪い、Pyのラジカルアニオンとなります

その後Pyのラジカルアニオンは基質を還元し、目的の光反応を進行させるという仕組みです

実際に、これによって高い収率でC-C結合の形成が達成されています

また、この反応では通常紫外光しか吸収しないPyを青色光で励起できたことと等価になりますが、このような間接的な励起は直接励起するよりも120 kJ/molほどお得です(O-O結合1個分くらいです)

さらっと説明してしまいましたが、このお得な反応は本当にこれほど単純なメカニズムなのでしょうか?

実のところ、このメカニズムに対して異を唱えた研究者たちが存在します

Vincenzo Balzani氏のグループになります

その根拠となる図4の内容は、1報目の例に引き続いてAngew.誌に掲載されたものです[2]

図4を見ると、Pyの励起状態(T1状態)からPyのラジカルアニオンとアミンのラジカルカチオンを生じる過程は、熱力学的に不利であることが確認できます

図4. RuとPyを組み合わせた光増感反応のメカニズムに対する反論.その1.

そこでこの代替案として、Ceroni氏、Balzani氏のグループから提唱されたメカニズムが以下の図5です

このメカニズムでは、二つある三重項Pyから一つの一重項Pyが生成し(triplet-triplet annihilation, TTA)、この一重項Pyから一電子がアミンに渡されます

これならば、一重項Pyのエネルギーが十分に高く、反応が熱力学的に許容になるというわけです

実験的事実としては図5右下にあるように、PyとRuの混合溶液に対し532 nm光でRuを選択的に励起すると、Pyからの発光である390 nm光が観測されています

Pyの三重項は発光できない一方、その一重項は発光できることから、この事実は一重項Pyが系中に存在していたことを示します

したがって、本反応機構の推定メカニズムが改められたということになります

図5. RuとPyを組み合わせた光増感反応のメカニズムに対する反論.その2.

ところが、以上の反論に対するさらなる反論が、König氏からAngew.誌に発表されます[3]

König氏の主張をまとめると、

  • TTAはレーザーで反応を開始させないと困難である。[4]
  • 一重項励起状態のPyがもし生成しているなら、この化学種はアミンがなくとも基質を還元できる。一方で、実際にはアミンが必要である。このことから、一重項励起状態のPyは今回の結果に直結しているとは言えない。
  • 反応系の環境によって電位は大きく変わるため、必ずしもその議論通りにはならない。

といった具合です。

そして、最初の報告では記載していなかった新たな推定メカニズムを掲載しました。

これが図6左になります。順に説明すると、

  1. Ru錯体が光励起
  2. 励起Ru錯体からのエネルギー移動によって、三重項励起状態のPyが生成
  3. 加えて、励起Ru錯体はアミンから電子を受け取り、1価のRu錯体も生成
  4. 2と3のステップでそれぞれ生成した励起状態のPyと1価のRu錯体が反応し、Pyのラジカルアニオンを生じる(この反応は1.23 Vというかなり発熱的な反応であり、有利に進行する)
  5. Pyのラジカルアニオンによって基質が還元され、生成物に至る

というメカニズムになります。大分、複雑になりました。

これで、本反応の進行の仕方には①sTTA-UC機構と②SenI ET機構の2通りがあり得ることとなったわけですが、それぞれがどれくらい進行しているかを実験的に検証した研究者がいます

それは、Evan Moore氏のグループです

彼らによって、ありえる2つのパスがどれくらいの速度で進行しているかが、ナノ秒過渡吸収分光法(ns-TA)を用いて定量されました[5]

図6. 当初のSenI-ETメカニズムに対する反論への反論と、対応する実験結果.

具体的には、sTTA-UCの速さについては、Py濃度に対する*Py(T1)の寿命を測定することで考察できます

また、SenI ETの速さについてはアミン濃度に対するRu2+の寿命や、Ru+濃度に対する*Py(T1)の寿命を測定することで考察できます

測定の結果、kTTAとkSenIETは、それぞれ1.3×1010 と 2.2×1011 M-1 s-1であり、SenI ETの速さの方がTTAの速さを上回ることが示されました

したがって、2つ提唱されたメカニズムのうち、めでたくSenI ETの方が主要(major)なパスであることが明らかになったというわけです

②Sensitized triplet-triplet annihilation upconversion (sTTA-UC)

二つのtriplet化学種から一つのsinglet化学種を生じ、光子のエネルギーをより高い状態へと変換する機構をsTTA-UCと言います

前の項目ではSenI ET機構を主軸とした可視光による分子変換が達成されたことを述べましたが、sTTA-UC機構をmajorなパスとする反応も存在し得るのでしょうか?

実は、反応系をうまくデザインすることで、sTTA-UC機構も有効なエネルギー変換法となることが、2021年にOliver Wenger氏のグループから報告されました[5]

反応機構は図7に示す通りで、錯体・ピレン・アミンの全ての分子設計が変更されています

錯体はRuからIrに、ピレンは無置換から二置換型のdi tert-Py(dtPy)に、アミンはジイソプロピルエチルアミン(DIPEA)からジメチルアニリン(DMA)へと置き換わっています

このように反応系がデザインされたことで、従来との相違点を数多く生じることとなりました

この点については、次のように列挙できます

  • DMAは基質との再結合能が低い[6]
  • dtPyのtBu基は凝集を抑制し、励起状態の失活を起きにくくします。これによって、無置換PyよりもTTA能が向上する
  • Ir錯体はRu錯体に比べて安定であり、DMAによるreductive quenchを受けない
  • Ir錯体の共存下であっても、三重項励起状態のdtPyの寿命は、DMA濃度に影響されない。このため、三重項励起状態のdtPyは直接的にdtPyのラジカルアニオン状態とならない
  • Ir錯体の安定性のため、dtPyのラジカルアニオンはIr錯体を還元できない。このためdtPyのラジカルアニオンは長い時間存在でき、過渡吸収分光法によって観測できる

このように多くの工夫がなされたことでsTTA-UCパスが顕在化し、初めてその有効性が示されました

図7. Ir錯体、dtPy、DMAを利用したsTTA-UC機構に基づく分子変換反応の機構.

③Consecutive photoinduced electron transfer (ConPET)

本シリーズの冒頭では、Photoredox触媒が光励起によって酸化や還元反応を起こしやすくなることについて解説しました

このような、光励起を伴う電子移動機構をPhotoinduced electron transfer (PET)機構と呼びます

このPET機構においては、酸化や還元によって新たに生成したphotoredox触媒の活性種は、さらに光励起されることで新たな活性種を生成する場合があります

この機構は、PET機構とは区別してconsecutive PET(conPET)機構と呼び、より高いエネルギーを必要とする反応に適用可能です

これを図式として表したものが図8になります

ConPETにおける活性種はHOMO-SOMO level inversionを経由し、より不安定な電子配置をとります

これにより、ConPETにおける活性種は、PETにおける活性種よりも高い反応性を獲得することができます

図8. PETとConPETの機構の違い.

ConPETの一例を図9に示します

この例は2014年にKönig氏のグループから報告されたもので、ペリレンジイミド(PDI)を光触媒として用いています[8], [9]

スキームは左下にあるPDIの基底状態からスタートし、順に光吸収、アミンによる還元、2回目の光吸収、そして基質への還元と続きます

これによって、C-Cl結合といった強固な結合でさえも、C-H化やC-C化できることが見出されています

図9. ConPET機構を利用した反応例.

結論

以上では、低エネルギー光である可視光を用いた高エネルギー反応を3つ掲載しました

いずれも系中では電子移動やエネルギー移動を多段階に組み合わせ、適切にデザインされた反応経路をたどることによって、合成的価値の高い化学変換を達成しています

これらの反応は応用性に優れていることに加え、その複雑性ゆえに未知の部分も多く、当分は工学・理学の両側面からホットな分野であることが伺えます

本記事で紹介したものは有名な3パターンですが、他にも2光子吸収などといったエネルギー変換法も存在しており、利用する側の立場となると多くの選択肢が存在します

ぜひそれぞれの反応の得意・不得意を見極め、適切な利用法を見出すことによって、新たな価値の創出につなげましょう

References

[1] Burkhard König et al. Angew. Chem. Int. Ed. 2017, 56, 8544.

[2] Ceroni, P.; Balzani, V. et al. Angew. Chem. Int. Ed. 2017, 56, 12820.

[3] Burkhard König et al. Angew. Chem. Int. Ed. 2017, 56, 12822.

[4] Wangeli, A. J. et al. Chem. Eur. J. 2015, 21, 15496.

[5] Wenger, O. S. et al. Chem. Sci., 2021,12, 9922.

[6] Yoshida, Y. et al. Phys. Bull. Chem. Soc. Jpn. 1972, 45, 764.

[7] Börjesson, K. et al. Phys. Chem. Chem. Phys. 2020,22, 1715.

[8] König et al. Science 2014,346, 725.

[9] V. Balzani, P. Ceroni et al. Phys. Chem. Chem. Phys. 2018, 20, 8071.

Pythonモジュールの確実なインストール方法(Anaconda編)

posted in: Programming | 1

PythonにはNumpy, Pandas, Matplotlib, Scikit-learnなどといった便利なライブラリが揃っています

これらを利用するには、通常は各ライブラリのインストールとimportという2つの手順が必要です

そこでライブラリをインストールしようとすると、会社などのセキュリティの強い環境ではインストールが妨害されてしまいます

本記事では、このようなセキュリティ関連のエラーを回避してライブラリを確実にインストールする方法について解説します

インストール方法

大まかな手順は、①ライブラリの核となるファイルのダウンロードと②ファイルのインストールという流れになります

以前の記事ではプログラミング環境としてPyCharmを用いた場合について解説しました

本記事では、その環境としてAnacondaを用いた場合のインストール方法を解説します

以下、詳細になります

①ライブラリのファイルダウンロード

PandasやNumpyなどといった有名なライブラリのファイルは、.whl形式で配布されています

以下のサイトから「Pandas」などといった固有名称でページ内検索を行い、ファイルをダウンロードしましょう

Archived: Unofficial Windows Binaries for Python Extension Packages

ファイル名のcp以下の数字は、自らのpythonバージョンに対応させてください

もしもpython3.10がインストールされているPCなら、

  • pandas-1.4.3-cp310-cp310-win_amd64.whl
  • numpy-1.22.4+vanilla-cp310-cp310-win_amd64.whl
  • matplotlib-3.5.2-cp310-cp310-win_amd64.whl
  • scikit_learn‑1.1.1‑cp310‑cp310‑win_amd64.whl

などといったファイルがダウンロード対象になります

ダウンロードしたファイルは、任意のディレクトリに収納しておきましょう

ドキュメントフォルダ内に、whl用フォルダなどを新規作成しておくとよろしいでしょう

②Anacondaへのインストール

ダウンロードしたライブラリをAnacondaへインストールしていきます

ANACONDA NAVIGATORを開いたら、以下の画像にあるようなCMD.exe PromptをLaunchしましょう

CMD.exeを起動したら、インストールしたいファイルのディレクトリを指定し、さらにインストール用のコマンドを入力します

例えば、インストールしたいファイルが「ドキュメント」ディレクトリにある”numpy-1.22.4+vanilla-cp310-cp310-win_amd64.whl”だとします

この場合、「cd Documents」と入力し、Enterを押します

続いて、「pip install “numpy-1.22.4+vanilla-cp310-cp310-win_amd64.whl”」と入力し、Enterを押してください

すると、以下の画像にあるように、「Successfully installed numpy-1.22.4+vanilla」と表示され、numpyのインストールが完了します

pandasも同様に、以下のコマンドでインストールできます

「pip install “pandas-1.4.3-cp310-cp310-win_amd64.whl”」

例外的に、matplotlibやscikit-learnのモジュールインストール時は、このようなコマンドではインストールできません

「pip install “matplotlib-3.5.2-cp310-cp310-win_amd64.whl”」を入力してしまうと、以下の画像にあるように、

「WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLcertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)’))’: /packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl」

「ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host=’files.pythonhosted.org’, port=443): Max retries exceeded with url: /packages/39/92/486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)’)))」

と長いエラーが表示されてしまいます

代わりに、接続先についての信頼情報を記述した以下のコマンドを入力しましょう

「pip install “matplotlib-3.5.2-cp310-cp310-win_amd64.whl” -trusted-host pypi.org –trusted-host pypi.python.org –trusted-host files.pythonhosted.org」

この入力コマンドであれば、以下のようにインストールが進行するはずです

Scikit-learnについても、接続先の信頼情報を記述した同様のコマンドでインストールしましょう

以上、セキュリティの強い環境であってもAnacondaへライブラリをインストールできる方法でした

【無駄のないVtuber作製講座】Part 5-2: Blueprint 編

posted in: 3D Animation, Technology | 0

前回までは、シェイプキーを利用して、人間の表情とVtuberの表情をリンクさせる設定を行いました

例えば、人間が左眉を下げたら、Vtuberネンズ君も左眉を下げるといった具合ですね

本章ではこの続きとして、残りのボーンアニメーション設定を完了させます(図1)

このボーンアニメーションは主に2つに分けられます

Live Linkを用いない体部分の動作と、Live Linkを用いる顔部分の動作です

体部分に関しては、W, S, A, Dキーに応じてキャラクターが前後左右へ動く際に、走る動作を示すように設定します(この設定がなければ、キャラクターは棒立ちのまま動くことになります)

顔部分に関しては、例えば、顔が傾く際には、首のボーンが対応して回転するようにその変形量や変形方向を設定します

これらのアニメーション設定はまとめてブループリントから行うことができます

ブループリントとは、Blenderにおいてはノードに対応するもので、計算結果の入出力を視覚的に接続してプログラミングを行う手法となります

図1. 自作VtuberキャラのLive Linkに関する残りの設定項目

ブループリントの設定画面に入ります

前章で作製した「キャラクター名_BP」というファイルを開きます

このファイルのAnimGraphにおいて、右クリックからNew State…と検索し、「新規のステートマシンを追加」を選択しましょう

ここでNew State Machineが出現しますので、左ダブルクリックからこれを開きます

ステートマシンを開いたら、右クリックから”Wait”と”Run”の2つのステート(状態)を追加し、図のようにドラッグで接続します(図2)

このように二つを双方的に接続すると、ある場合においてはキャラクターがRunの動作を行い、また別の場合においてはキャラクターがWaitの動作を行うようになります

ある場合とは、WSADキーのいずれかが押されることでキャラクターが動き始めた場合のことです

そして別の場合とは、WSADキーが押されず、キャラクターが止まった場合です

まずは、キャラクターが走り出す際にアニメーションがWaitからRunに切り替わるような設定を行います

WaitからRunにつながる矢印の隣にある、横向きの矢印をダブルクリックします

Float型の変数であるSpeedをマイブループリントに追加し、さらにそれをドラッグ&ドロップでノードとして配置します

Speedが0.1を超過したらアニメーションの切り替えが起きるように、比較演算として大なり( > )を追加し、その下側に0.1と入力したら、上側をSpeedと接続し、出力結果をCan Enter Transitionに接続します

反対に、Speedが0.1以下の場合はアニメーションがRunからWaitに切り替わるように、もう一方の条件設定も行なっておきましょう

図2. 体部分の動作を決めるブループリント

次に、Wait時のアニメーション設定を行います

ベースとなるアニメーションとしてWaitが再生され、そこへiPhoneで読み取られた顔の表情がブレンドされるようにノードを接続します(図3)

背骨や下顎の回転についてはボーンの回転で再現するため、対応する変数(図のheadYaw, headPitch, headRoll, jawOpen)を配置しておきます(変数への値の代入はあとで行います)

これらの変数は対応するボーンのRotationの値へ接続した後、一連の出力結果をResultに接続し、コンパイル&保存します

以上がWaitステートの設定です

Runステートの設定については、アニメーションWaitをRunに置換した形となります

図3. ブループリント設定の全体像

先ほどの設定では、定義した変数への値の代入が済んでいなかったので、これを行います

イベントグラフから、ノードを図4のように配置します

このノードではData Resultから取得された顔や下顎の回転角が、先程定義した定数にセット(代入)されています

また、Get Velocityでは速度を取得しています

この速度はVectorLengthによってスカラー値である速さに変換され、変数名Speedの値として代入されています

図4. 変数に対してデータを代入するブループリント設定

最後に、これまで作り上げてきたブループリントをキャラクターに反映させましょう

コンテンツ>ThirdPersonBP>Blueprintsの位置にあるThirdPersonCharacterファイルを開きます(図5)

Vtuberキャラが現れますので、これを選択しましょう

右側にあるアニメーション項目のAnim ClassからBlueprintファイルを選択し、コンパイル&保存しましょう

これでブループリント設定は完成ですので、最後にテストプレイを行ってみましょう

プレイの横のメニューからアクティブなプレイモードを選択し、新規エディタウィンドウ(PIE)を開きましょう

iPhoneで読み取られた顔の表情がVtuberに反映されるはずです

加えて、キャラクターの停止中はWaitのアニメーションが流れ、WSADキーによる操縦中はRunのアニメーションが流れるはずです

Live Linkを通して読み取られた顔の表情と、予めBlenderで作製したアニメーションが融合したことになります

以上で、Vtuberの作製は終わりです!

お疲れ様でした

次回が、無駄のないVtuber作製講座の最後である「録画設定」となります

図5. キャラクターへのブループリントの反映方法

【無駄のないVtuber作製講座】Part 5-1: Live Link 編

posted in: 3D Animation, 3D Modeling | 0

今回から、Unreal Engineに取り込んだ3Dモデルの表情を、人間の表情と対応させていきます

人間の表情を読み取るツールとしては、iPhoneを使用します

X以上のバージョンを入手しておきましょう

(残念ながら、本記事シリーズではAndroidを用いたVtuber作製方法は解説しておりません。ごめんなさい)

iPhoneを用意したら、App StoreからLive Link Faceをダウンロードしましょう

顔の輪郭のアイコンとなっています(図1)

アプリを開いたら、左上の歯車アイコンから設定画面に入ります

頭の回転をストリームを有効としておきましょう

また、Live Linkという設定項目内のサブジェクト名にはiPhoneの名前を、ターゲットには用いるPCのIPアドレスを入力します

IPアドレスを確認する際にはコマンドプロンプトを開き、ipconfigと入力します

ここで、PCとiPhoneは同一ネットワーク環境内にあることを確認しておきましょう

図1. Live Link Appの設定方法

次に、PC側の設定をUnreal Engineで行います

Unreal EngineのMarketplaceでFace AR Sampleが公開されていますので、これを用います

プロジェクトを作製する、クリエイト、起動を順に選択し、FaceARSampleを開きます

ウィンドウからLive Linkを開き、接続したいiPhoneが認識されていることを確認してください

接続できている場合は、緑の丸アイコンが表示されます

このときLive Linkができていない場合は、以下の2点を確認しましょう

①iPhoneとPCが同一ネットワーク内にあること

②ファイアウォールでUnreal Engineが許可されていること

の2点となります

Unreal Engineを閉じてから開きなおすことで解決する場合もあります

図2. Live Linkに関するPC側での設定

自作Vtuberを試す前に、もともと用意されているサンプルのカイト君を用いて、自身の表情とリンクするかを確認しましょう

コンテンツ内Animationsディレクトリから、カイト君のAnimBPを開きます(図3)

ここでブループリントと呼ばれるノードのつながりを表す画面が表示されますが、Live Link Subject Nameからご自分のiPhoneを選択しましょう

そしてコンパイル、プレイを順にクリックすると、iPhoneで認識された自分の表情がカイト君に反映されます

【補足】

以前、Vtuberの表情に対応するシェイプキーの作製方法について解説しました

このとき、シェイプキーの名前は動作に応じて決定されていましたが、この動作の種類・名前についてはメッシュの項目から確認することができます

シェイプキーは、Unreal Engineにおいてはモーフターゲットと呼びます

カイト君のモーフターゲットの数値を動かしてみることで、どのような動作が起きるのかを確認してみましょう

例えば、browDownLeftの数字を0から1に変化させれば、眉毛が下に下がるはずです

このように動作と対応する名前を参考にしながら、Blenderにある自作キャラに対してシェイプキーを設定しておきましょう

図3. Face AR Sampleを用いたLive Linkの設定

カイト君を用いた動作確認ができたら、自作キャラの動作設定を3ステップかけて行っていきます(図4)

①「コンテンツ/ThirdPersonBP/自作キャラ名」のディレクトリにある、自作Vtuber本体のファイルを選択します

すると、Blenderで作製したシェイプキーがモーフターゲットとして一覧表示されます

browDownLeftなどといった各動作に紐づいた数値を動かし、対応する変化が3Dモデル上に反映されるかを確認しましょう

②続いては設定からプラグインの導入を行います

検索欄にarkitと入力し、Apple ARKitとApple ARKit Face Supportにチェックします

これら2つのプラグインに加えて、今度は検索欄にlive linkと入力し、Live Linkを有効にします

これで、自作シェイプキーは自動的にLive Linkに対応し、自分の表情がVtuberの表情に反映されます

③しかし、まだ終わりではありません

まだ、顔の傾きなどといったボーンの回転を伴う動作は、Vtuberの動作と関連付けられていません

そこで、このための作業を行っていきます

先ほどの①で開いたVtuberのファイルを右クリックします

表示されるメニューのスケルタルメッシュアクション下部から”作成する”を選択し、Animブループリントを左クリックしましょう

ここで新しくブループリント用ファイルが作られますので、「キャラクター名_BP」という名前に書き換えます

これでブループリントファイルの作製は終わりです

次回から本格的にVtuberのボーンの動作と人間の動作を対応付けていきます

図4. 自作VtuberのLive Link設定