Study!シェーダー!unityのやつ! うむむわかるようなわからんような(@_@。 その2
ちょっと、完璧に余談ですが。昨日はそこそこ大きめの人数でVRchatに集まりとても楽しかったです。
皆さんのアバターを見ていると、なんというかテクスチャがとてもきれいですね。エッジがパリッとしてるというか、メリハリがある感じのテクスチャですごいなぁと思いました。あと目の表現なんかも、きれいな方が多くて私も見習いたいと思いました。
ってわけで前置きはこんなもんで、シェーダーの続きいってみます!
なんかいろいろ間違えてたので修正(20180610)
シェーダーの続き!(≧◇≦)
前回は、
こんなんでした。
シェーダーとはなんぞや?みたいな雰囲気で初めて、軽くunlite/Texture のシェーダーの頭の部分の(プロパティまで)勉強したです。
今回は、その続きとしていよいよ、お絵かきする本体部分に関して勉強するです!
てっでー前回もお出しましたが、シェーダー全体が下のやつですね。
前回プロパティの説明は終わりましたので、いよいよ Vertex シェーダー と Fragment シェーダー ってなんなのかなーってのを見てみるです。(@_@;)
Vertexシェーダー
こちらのシェーダーは、頂点の位置を操作するものらしいです。
3DCGは、点の集まりでできています。その点が今回画面に表示する、絵を描く時どこにあるのかー!っていうのをこのシェーダーに書いてある内容で決めるらしいです。
そして、ここでやる大きな仕事としては、モデルの場所合わせがあるみたいです。
例えばですが、3DCGがあったときに、それがどっち向いてるかーとか、世界のどこにあるのかーっていうのは、モデルだけではわかりません。
モデルを置く場所だったり、向きだったりとか、そういうのをきっちり決めないとちゃんと描画することはできないのです。
ここに!ってそれを決めるのがvertexシェーダーの大きな仕事の一つらしいですね。
(20180610追記) そして更に、見てる人の視点の位置を決めて、その人に見える、モデルの頂点の位置を決めるまでがvertexシェーダーの仕事らしいです。
ちなみに、機能的には頂点の位置を決めるですので、いろいろなことができるようです。ちょびっとまた今度かけたら書くです。
Fragment シェーダー
Vertexシェーダーでは、モデルの点が世界のどこにあるのか、どっち向いてるのか、みたいなのを決めました。しかし、まだそれだけでは、絵をかくことができません。
なぜなら、そのモデルを見ている人が決まっていないからです。つまり、どこからそれを見ているのか、というのが欠けているのかわからないので、どういう風に書けばいいのか決めれないのです。
Fragment シェーダーでは、その見ている人の場所を決めて、ここからこんな風に見ているのだー!って感じに決めるらしいです。
要するに、見てる人に合わせて、モデルや世界から絵を描くのがここの仕事だと私は理解しました。
Fragment シェーダーの説明の一部が、 Vertexシェーダーでの処理が混じっていたようで、ごめんなさいします。m(_ _)m
正確には、Vertexシェーダーで決めた画面上に見えるモデルとかの点の位置について、複数のモデルが置かれているときの重なりであったりだとか、透明度だとか、を考慮した上で、画面上に絵を描いていくみたいな感じらしいですね。
先日おだしした、下の図で言うところの、見てる人から視線に映るモデルの頂点の位置を決めるまでは、Vertexシェーダでのお仕事でした。
Fragment シェーダでは、画面上に見えるすべての場所、に対して様々な条件(モデルや背景の色、モデルの重なりや、透明度)などを考慮して見えている色を決める、という作業を行い、最終的に画面に表示される絵を書く、という仕事をしているようです。
ちなみに、このシェーダーでは、どんな感じに書かれているか決めることができます。テクスチャから色を拾ってくれば、そのまま作ったモデルの通りに、そこにライトの位置から影をかけば光の表現ができるらしいです。自分で好きな色にすることもできるですし、好きなように絵作りをすることができるらしいです。いろいろ勉強したら面白そうですね。
ってわけでぼんやりと説明しましたが、私も正直まだまだあやふやです。
ってわけで次回あたり、ちょびっと実例を交えてみようかなーと思っております。
てっでー(≧◇≦)/
続く!
付録 曖昧ですが、コードに出てきた文章について説明?
SubShader
unityでのシェーダーを書くときにここからここまでがシェーダーの処理だよ!って宣言するやつです。{}の中のに従ってこの対象の絵を書いてねってことになるですね。
Tags
描画の順番だったり、とかその物体がどういうものかを説明する?
画像の Opaque ってのは、不透明なものですよ!って指示らしいですし、これをTransparentにすると透明なオブジェクトですよー!ってするらしい。
(よくわかってない)
ShaderLab : SubShader 内の Tags - Unity マニュアル\
LOD
3Dの描写は負荷がかかります。それに関連してどの程度まで描画できるよて目星?(ンゲーム機事に描写能力が違うので、これで分けたりするとかってのを見た気がします。)(何となくわかったような気がする)
わからないことばかりで嫌になりそうですね。でも、調べると何となくわからんでもないような気がするので頑張りたいです。(@_@。
ノラガミ復活!!月間少年マガジン7月号!感想!その1
月刊少年マガジン7月号感想
週間じゃないですよー!月刊ですよー!
今月号は長らく休載ノラガミ連載復帰と嬉しいことが多いですね。
ってわけでよんでる漫画を大雑把にーレビュー的な何か!
さよなら私のグラマー
先月、あたり逆転の目が見えてきた、ワラビーズ。しかし、先月、ラストから雲行きがあやしく…?なってきましたねー。
今月号では、先月ラストでちらりと顔見せした、国府ちゃんが、ついにその真の姿をを見せつける!みたいなかんじでしたね。
今回メインとなりました国府ちゃんは、結構癖のありそうな女の子。だけど、今月最後のシーンで見せてくれたその回想には、ついぐっときちゃったですね。
とはいえ、ワラビーズにも負けてほしくないしで、両方頑張れ!!ってかんじでした。
ちなみに、私はさよなら私のグラマーは、最初の方は読んでなかったですが、すこぶる最近ちらちら読み始めました。(どうにもサッカーというものにあまり気持ちがよらないというか)しかし、ここ最近読んでみると、読まず嫌いはよくねーですねーって感じでした。(月マガ読んでると私は結構こういうのがあるですね……。ボールルームも最初は読み飛ばしてた(>_<))
ノラガミ
ノラガミ、結構長いこと休載してたですが、どれくらいお休みだったでしょうか。
ともかく、復帰おめでとう!って感じの、復帰第一回ですが、実にノラガミらしいお話だったです。
前回ラスト、衝撃の野良ちゃんと、雪音君のキスシーンから一夜。
夜トが、雪音に刺される、という衝撃のシーンからです。
そこから始まるのは、実にノラガミらしい、雪音君大裁判。そこに、タケミカズチまで駆けつけて……!
ノラガミでは、一度的に回った人(神様)も、そのお話が終わると、一難すぎればなんとやらって感じで、親し気にお話に登場します。そういう回で明かされる意外な一面が見れてとても愛着がわくですね(@_@。
真面目そうな奴ほど、割とダメな感じの性分が後から見えてくるのが笑えてよいです。
ちなみに、ノラガミは、野良の神様である夜トと、愉快な神様たちの笑いあり、涙ありな、神様人助け人情コメディ(結構バイオレンス)みたいな感じです。わからないですね。読んでください(*´▽`*)。
龍師の翼
ここのところ、お気に入りの漫画です。
こちらは、かの有名な項羽と劉邦を題材とした、漫画ですが、主役となるのは、軍師様。私は項羽と劉邦横山光輝さんの漫画で読んだきりですので、あまり詳しくないですが、(四面楚歌ぐらいはわかるよ!)主役の軍師様は、オリジナルの人なのかな?
話がそれてしまいましたが、今回は、これまで攻め上がった劉邦with軍師様が、いよいよ秦の本拠地に迫る!って感じのところでした。
メインとなるのは、秦の内部でのゴタゴタ。
皇帝様は、いわゆる操り人形的な形になってしまっている、秦。しかし、ピンチです。項羽とか劉邦が迫ってきてます。そこで、いよいよ丞相(皇帝を操ってる人)が、本性を現す!みたいな感じです。
いわゆる馬鹿って言葉のおおもとのお話になるイベントがあったりだとかしています。しかし、やっぱりこういう話は何とも言えねぇですね。皇帝のもとに最後まで残った、部下さんの言葉が何とも言い難い気持ちにさせてくれたです。
そして、項羽も秦の本拠地に向けて迫ってくる中、劉邦も覚悟を決める…!みたいな感じです。
劉邦の、調子が良くてなんか抜けてるようで、決めるときはバシッと!決めるけど、やっぱ抜けてる感じがたまらなく好きです。(この人出てきてから個人的には面白さが増したと思うです。)
ちなみに、最近、途中からしか読んでなかった、海皇紀一回最初から読みたいなーとここの所思ったり忘れたりしている感じです。(すこぶるどうでもよい)
てとてと
書いてみると思ったより長くなってしまいましたので、続きはまた今度書こうかと思いました。
そういえば、金銀の彼女終わってしまったんだなーっていうことをじわじわ実感して少し寂しくなりつつある今日この頃。
最近、なんか入れ替わりに連載陣が倒れて(休載)いってちょびっと不安はあるですね。(>_<)
面白い漫画が多いので頑張ってほしいです。
ってわけでまだ読まれてない方は、
ぜひぜひお近くのコンビニまでお買い求めください!
あと、ボールルーム復活の時を楽しみにしてるです。(アニメの釘宮さん戦はとてもよかった)
Study!シェーダー!unityのやつ! このShaderたぶんVRchatでも使えそう!Σ(゚Д゚)の巻 その1
unityでのシェーダーについて(>_<)
vrchat のアバター、色々やりたいなーと思いながら見てるですが割と制限が多い……。
ってわけで、色々調べるうちにシェーダーというものを見つけましたです。ってわけでstudy now な感じなのですが、その纏めも兼ねまして少し書きたいと思います。(あくまで私の理解した範囲ですゆえ、間違っていましたらご指摘願いたいでござる(≧◇≦))
シェーダーとは
とりあえずシェーダーです。vrchatなどなどで使われるいわゆるモデルというものは、根本を辿ると点の集まりらしいです。でもって点には、情報をのせるです。例えば他のこの点とつながってるよー!ってあれば線になるですし、この三つで面が一つできるみたいな?
そしていわゆる3Dモデルってやつはこの面がいっぱい集まってできたやつですね。
他には UV展開された平面のこの点だよー!ってあればその三つの点に対応してテクスチャを貼ることもできるです。
要するにこんな感じでモデルの3D情報を画面にこういう風に写すんだぜー!って書いてあるのがシェーダーってことでいいのかな。
このシェーダーを使うことで、モデルの表示方法をいじれます。
Vrchatで言うなら、自分のアバターやワールドの表示方法もいじれます。
テクスチャーだけの unlite/texture は、vrchatでモデルを使うとよくご存知のやつですが、そういう感じで色んな絵作りができます。
なのでちょびっと勉強したいです。
Unityでのシェーダー
でもってVRchatも使ってるunityではどんな感じにシェーダーを使えるのかなってのを見てました。
よく聞くのは、次の三つっぽいです。
・ Vertexシェーダー 頂点シェーダー
3Dデータの点の座標を操作する感じ
・ Fragment シェーダー(ポイントシェーダーともいう)
Vertexシェーダーで用意した点の座標から画面に色を塗る感じ。
ただし、色を塗るには、モデルにどういう風に光が当たってるとか、ここはテクスチャ使って!とか、透明にして~!とか、etc……。いろいろな要素が絡んでくるので、いっぱい指示がいるみたいです
・Surfaceシェーダー(unity独自)
Unityに搭載されている便利機能みたいな感じ。
上の二つのシェーダーは、点をこうするよー!とかここはこうやって塗ってね!って全部指示しないと動いてくれないマニュアル野郎ですが、全部書くのは大変です。
なので、ある程度やること覚えていてくれて、もう少し大雑把にお願いしても大体いい感じに仕上げてくれるunityさんとこにすむ、フレンドリーなシェーダーらしいです。
ってわけで、大体わかったようで、私はたぶん何もわかってないのでunityでみてみるです。
Unityにて
まずシェーダーを用意してみるです。
Unityではベースになるシェーダーは生成することができるらしいですので、それを見てみます。とりあえずなので、使うのは Unlite シェーダーを。ライトなしでテクスチャだけついてるー!みたいなやつですね。vrchatで自作モデルするととりあえずつけてる方も多いかも?
unityを開きます。Assetのところを右クリックするですね。
Create → Shader → Unlit Shader
で作成できるはずです。
できたら適当に名前を付けてダブルクリックしてみましょう。
たぶん、何かしらのエディタ(テキスト編集する奴)が動くはずです。
何書いてあるんだこれみたいな謎めいた文章が出てくるですが、これがシェーダー用のプログラムらしいです。
ざーっと説明するです。
一番上のオレンジのとこが Properties で、これはシェーダーの設定をunityで弄れるようにするための物らしいです。
次に紫色の辺り、これがシェーダーがどういう風に画面を作るかを指示する本体のようです。
そして、赤色のところがバーテックス(vertex) シェーダー、青色のところがフラグメント(fragment)シェーダーのようです。
でもって、今回vertexとfragmentを使ってます。ってことはUnlit/textureシェーダーは、surfaceシェーダーではなく、そっちの二つを使ったものっぽいですね。
というわけで、少し説明。
オレンジ色のとこのProptiesについて
例えば今回だと MainTex とか Texture とか書いてあるですね。なんかテクスチャっぽいです。で、unityの画面を見てみるです。
さっきと同じ感じでMaterial を追加してください。
先ほど作ったUnliteシェーダーをMaterialにドロップしてください。
たぶん、なんかマテリアルが白くなると思うです。
でもってそのマテリアルをクリックして見るとー!
こんな感じで、右上のとこにTexture none ってあるですね。
これがさっきのプロパティです。もう一回ちらっとシェーダーの長ったらしい謎の文章を見ると、オレンジのとこには下みたいなのが書いてあったですね。
Properties {
_MainTex ("Texture", 2D) = "white" {}
}
このTexture っていうのがunityの画面の Textureだよって意味で、white っていうのが、なんも設定されてない時はこれにして!って感じです。
なので、先ほどシェーダーをマテリアルに入れたら真っ白になったですね。
(ちなみによく見てみると、fragmentシェーダーの中でここで指定されたテクスチャ(ない時は真っ白)を使って色を塗っているようです。)
ここでわかったのは、
この プロパティっていうのは、unityの画面でシェーダーのための設定を変えれるってことです。
でっ?って感じもするですね。
ですけどたぶんこれは結構便利です。
なぜなら、さっきの長ったらしい文章を書いてるときは、実際それを使うとどう書かれるか、わからんです。それをちまちま数字書き直して―!とかやるのはしんどいです。
ですけど、例えば、これ透明にしたい…だけどどれぐらいがいいかわからんなーって時とか、プロパティに、透明度の設定を書いて、フラグメントシェーダーでその設定された値を使って透明度を決めます。
すると、あとでプロパティをいじってこれぐらいにしようってunityで見ながら決めることができるみたいな感じです。たぶん、色々便利なのだと思います。(私がとりあえず思いついたのはこれぐらいでした)
ってわけで、シェーダーのざっぱな説明と、とりあえずプロパティについてでした。
ちょっと切りが悪いですが、なんか長くなってきましたので、また続きは今度書くですねー。
なおなお、今回シェーダーについてご紹介したですが、モデルのここを光らせたい…!とか、ちょっとメタリックにしたい!とかってだけなら別にシェーダを自作しなくてもやれる方法はいろいろあると思うです。そのため、今回ご紹介するのが全てではないですので、調べてみるのもいいんじゃないかなーと思いました。
てっでー(≧◇≦)/
続く!!!!!
続き!
VRchat デスクトップ版の動作環境について(Case of 私の場合)\(^o^)/
VRchatはデスクトップ(VR機器がなくても)できます(*´▽`*)。
vrchatはデスクトップモードで(PCがあれば)できるのです!
いきなりであれですが、今回またvrchatの紹介
私も一月ほど時々入ってますけれども未だにVIVEとかのVR機器はありません。
あと 無料 です! 無料です!Σ(゚Д゚)
こんだけ無料をピックアップすると怪しい広告みたいですが、怪しくないです。
とりあえず現時点(20180604)では、ソフトウェア無料ですし、プレイ料金とかもかかりません。(通信費その他必要設備費用とかは除く)です。
ですけども、やはりハードルが高いって方もいらっしゃるかもしれませんので今回適当にデスクトップ人からの視点でご紹介しようかと思います。(今更感はある)
・私のPCスペック(@_@。
PCのスペックに関しても推奨スペックに関しても基本的にはVRモードのようなので、デスクトップで始めたいなーって人はちょびっと悩むかもしれません。
というわけでとりあえず、私の使ってるPCスペックを参考にどうぞみたいな感じです。
ちなみに、しばしば一人でvrchatをブラブラしてみましたが、問題がありそうなのはめちゃくちゃ重いワールド(某鍵心的なたぶんアウトな気配がビンビンする所(戦闘とかもちょっとあってめちゃくちゃ重い))ぐらいが辛かった程度で、普通に動いてましたね。
またまた某所で、20人ぐらいで同時に集まる機会もありましたが、そのときも問題はなかったです。デスクトップだとそれなりに余裕あるですね。
というわけでスペック!とついでに回線速度なんかも。
PCスペック
OS :Windows10 home 64ビット
CPU :Intel(R) Core(TM) i7 CPU 860 2.80Ghz
メモリ:12GB (なんか中途半端感がある)
グラボ:NVIDIA Geforce GTX 1050 Ti
(お金貯めたら1070ぐらいついた新しいのが欲しいです(>_<)高い(ノД`)・゜・。)
ぶっちゃけ6年前のPCパーツかえかえしながら使いまわしてるのでぼちぼち限界です。(特にCPUは、一見 i7じゃん !ってなるですが(ならないかもしれない)、860です。へなちょこです。へぼへぼではないですけども)
あと昨年の夏ごろエアコンで冷えると電源入りにくくなるレベルにまで電源がへたってたので交換したですね。(冬になったらヤバそうだったので)
でもって回線です!
google様のスピードテストで(PM8時ぐらい)でこんなもんです。
ゴールデンタイム位にこれなら割といい感じですね。(登りのほうが速いのがちょっとびびったです(@_@。)
回線だけは昔からいろいろ困ってたので多少気を使ってるのがあります。
と、私の環境はこんな感じです。
ただ、改めて注意(Warning!)ですが、この環境(特にPC)はデスクトップ(非VR)でプレイしている私の場合です。
VR環境でプレイする場合には、このへなちょこぴーでは、全く足りてないはずですので、絶対に参考しないでください。(グラボですら最低が1060です(>_<))
と、つらつらと適当なことを書きましたが、まぁぶっちゃけ、無料なのでとりあえずやってみるとよいかと思うです。
あとあと、自作アバターないよ…って方もいらっしゃるでしょうが、気がむいたら作ればよいです。
VRchat内で、かなりの数のアバターが配布されていますので、私も一月ぐらいは、適当に拾い物を身に着けて遊んでました。
欲しくなったら作ればよいと思うです。デスクトップでVRchatで遊べるPCがあれば、割とどうにかなるですからあまり気負わずにー(≧◇≦)。
あと、ソフトに関しては VRChat on Steam で、アカウントはSteam or Vrchat 選べるですがですが、その辺はアバターアップロードのarticle(下のやつ)をご参照ください。
ネタが切れたわけではありません。決してありません!けっしてけっして!
てっでー(≧◇≦)/
続く!
VRchat 口パク!リップシンクに挑戦! blender 自作モデルの作業はちょっと大変……の巻(ノД`)・゜・。
今日はリップシンクです!
ちなみにリップシンクとはアバターがマイクからの声に合わせて口がパクパクしちゃう機能です。
やっぱりせっかくなら自作モデルでリップシンクしたい!ってわけで挑戦です!
この作業をやる場合、シェイプーおよびunityの基本操作はできたほうが良いので、もし心配だなって方は下記の記事をご参照くださいませ。(*'▽')
シェイプキー関連
vrchatへのアップロード関連
ではでは、いきなりいってみます。
リップシンクに関する設定
というわけで概要!
1.シェイプキーでリップシンクに必要な顔パターンを作成。
2.アバターに設定!
以上です。
正直昨日紹介した瞬きの設定以上にやることはシンプルです。ただ、問題になってくるのは……。(>_<)
1.シェイプキーでリップシンクに必要な顔パターンを作成
とりあえず今回はこちらのドキュメントをご参照あれ。
Blender To Unity Vrchat Avatar Creation
ちょっと英語であれですが、こちらのドキュメントが詳しく書いてあるです。
では、大事なとこを説明するですと、リップシンクをやるには、
vrc.v_aa
vrc.v_ch
vrc.v_dd
vrc.v_ee
vrc.v_ff
vrc.v_ih
vrc.v_kk
vrc.v_nn
vrc.v_oh
vrc.v_ou
vrc.v_pp
vrc.v_rr
vrc.v_sil
vrc.v_ss
vrc.v_th
以上、15個の顔パターンを作る必要があります。
多いわ!(>_<)
思わず私もそう叫んでしまいました。(嘘でした。叫んだのは心の中です。)
ちなみにこの顔パターンの一つ一つが、声を出すときの口のパターンになっているそうです。
ってわけで私はの場合、どんなのにしたかお見せしますが、結構な量なので、ブログの一番下に置いておきますね。
顔のパターンについては、先ほどの資料にも乗ってるですので、参考にされるといいと思うですよ。
顔パターンを作るうえでのポイント
ミラーの適用はちゃんとしておく!
かなりの数シェイプキーを作ります。最初にミラーとか適用してなくてこれ全部無駄になっちゃった…とかなると笑えません。笑えません……。笑えないのです。(ノД`)・゜・。
ミラーモディファイアを適用前にシェイプキーを作ると、ミラーの適用ができなくなります!
絶対やり直しするような展開だけは避けましょう!
一回、瞬きでシェイプキー試して動かせるの確認してからでもいいぐらいです。
シェイプキーのコピーを使って作業を簡略化しよう!
全15パターンと多いですので、あるパターンを作ったらそこからコピーして、という手は多用しましょう。シェイプキーのところで使い方は説明してますのでよかったら見てください。
動きはちょっと大げさめでいいかも?
私はちょっと失敗というか少し小さく作ってしまって分かりにくいことがあったので少し大げさ目に口の動きはつけてもいいかもしれません。
あんまりしっかり作ろうとしない!
量が多いですし、なにより今回作るかなりの、口の動きは一瞬です。動いてればそれなりに見えるですので、あまりしっかり作りこまず気楽に作りましょう。
シェイプキーの名前はちゃんと付けよう
unity側で15個設定する必要があります。名前がちゃんとしてないと、判別するのに手間ですので、めんどいですが15個とも名前は付けときましょう。
急がばーぐるぐるなんとやらーってやつです。
あと、風(参考:アバターのリップシンクの作成 - VRchat 日本wiki)に聞いた話では、
sil pp ff を同じものに、 aa oh ou を同じものに、それ以外をthにしてしまってもそれなりに見えるとからしいですので、3パターン作るだけでお試ししてみるのもよいかもしれません。ちなみに私は全部作ってから知ったので試してませんのであしからず。
というわけで、リップシンクのシェイプキーの作成でした。
fbxでファイルを出力してunityへもっていきましょう。
2.アバターに設定!
というわけで頑張ってシェイプキーを完成させましたらアバターに適用します。
こちらは簡単かなり楽です。
まず、いつも通りvrchat用の設定をしましょう。
わからん…という方はこちらを参考に。
すみましたら、リップシンクの設定をします。
VRC_Avatar_Discriptor(灰色のカメラとか設定する奴) の
Lip Sync を Viseme Blend Shape に。
Face Meshに、顔(リップシンクの設定をした)メッシュをドロップアンドドラッグで入れましょう。ちなみに右の ○ をクリックすると一覧が出ますのでそちらで探すのもよいです。
私の場合は、face0.1というやつでした。
そして、最後にViseme ~って書いてある奴に作ったメッシュを入れていきます。
ちゃんとシェイプキーのあるメッシュを選択してある場合、端の三角を押すと一覧が出るのでその中から選択していきましょう。
大文字になってたりするですが、基本的に作った名前と同じものを入れましょう。
あとはアップロードして終わりなのですが、一つだけ注意点を。
シェイプキーは、似た形があると、同じものとしてunityに取り込まれます。
一覧に表示されないものがある場合は、おそらくそれですので、形を変えるか、いっそ、似た形のキーは同じものをいれてしまうか、しましょう。
と、今回はこんな感じでした。
では、最後にシェイプキーの一覧を載せておしまいにします。(≧◇≦)/
・ベース
こちらの顔が初期の顔です。
・vrc.v_aa
ああーっていう感じの奴です。
・vrc.v_ch
ちーって感じです。(ちなみに歯がある場合閉じながらのイメージです)
・vrc.v_dd
vrc.v_chを少し閉じたようなイメージですね。
vrc.v_nnのバリエーションで、下を少し上げて、歯を閉じた感じらしいです。
・vrc.v_ee
いーっ!って感じです。思いっきり横に口を開きましょう。
・vrc.v_ff
唇を歯に巻き付けて、てふーって息をイメージです。
・vrc.v_ih
イーっていうイメージです。自然に口開いてる感じでいいかも?
・vrc.v_kk
vrc.v_ih の上唇を少し上げたバージョンです。下も少し上げとくといいとか。バリエーションは楽でいいですね。
・vrc.v_nn
vrc.v_ihの下を上げたバージョンのイメージです。バリエーションは楽でいいですね。
・vrc.v_oh
これはわかりやすくて、口を丸めてOH!って感じです。
・vrc.v_ou
こちらはさっきの vrc.v_oh を口をすぼめたものかな。
イメージ的には、Ou……。って感じですね。
・vrc.v_pp
口を閉じて、少し口の端を下げる感じかな。下唇を上の歯につけるイメージとか書いてあったです。
・vrc.v_rr
vrc.v_chと似てる感じで、下を下げて、上唇を上げるらしいです。
・vrc.v_sil
喋ってないときの顔です。私の場合ベースの顔と同じだったような記憶があります。
・vrc.v_ss
vrc.v_ee と似てる奴で少し口を閉じてって感じかな。
私のイメージでは、ニヤッ…って感じ。
・vrc.v_th
vrc.v_ih の舌を少し出したようなイメージのバージョンです。
以上になりますー!大変でした。
ではでは、てっでー!(≧◇≦)/
明日はどうしようかな…。
続く!
VRchat アバターの瞬き!まばたき! blenderで作る君の瞳になんとやら!の巻その2(*´▽`*)
というわけで!今日は瞬きの続きです。(*´▽`*)
前回(下のarticle)ではblenderでの瞬き用の シェイプキー の設定からfbxでの出力までですね。
そして、今回はその続き、unityでのアニメーション設定をしていきます。
前提としてアバターのアップロードをできるぐらいはunity触れるようになっておいたほうが良い(結構簡単)ので、もしunityの操作ちょっと怪しいな(>_<)って方は、 こちらの記事とか参考にしてみてください。Σ(゚Д゚)
unityでの瞬きアニメーションの作成
いきなりですが概要!
1.unityにて瞬き用のアニメーションを作る
2.瞬き用のアニメーションをアバターに適用する
以上です!
まず、unityでプロジェクトを開きます。
先日作成した瞬きシェイプキーの搭載されたモデルのfbxファイルをunityのAssetsにドロップアンドドラッグで読み込ませます。
取り込んだモデルをHierarycyに放り込んで画面に表示させます。
まずアニメーションを設定したいモデルを選択して、Window から Animation をクリックします。
するとしたみたいなのが出てきます。Σ(゚Д゚)
こちらが、アニメーションを設定するウィンドウになります。
では、Create をクリックしましょう。
ファイルのダイアログが出ますので、これから作るわかるように名前を付けて保存しましょう。
私は、今回 clip としました。これに関しては、なんでもいいです。
こんな感じになります。
AddPropatyを押しましょう。
すると、こんなのが出てきます。
ここで、モデルに登録したシェイプキーを探します。
場所は、シェイプキーを登録してあるオブジェクト名(私の場合はface0.1) の Skinned Mesh Renderer にあります。
ここにある Blend Shape.vrc.blink_left と Blend Shape.vrc.blink_left が瞬き用です。ちなみに名前は保存したモデルのシェイプキーの名前にBlend Shapeってついたものですのでご注意を。
選択は、右にちょっと隠れちゃってる + ボタンですので、下のバーを動かして押しましょう。(使いにくい)(>_<)
二つとも追加するとこんな感じ。ここからアニメーションを設定します。
少し捜査の説明をするです。(@_@。(ちょっと隠れてたので枠の大きさ調整しました)
右側にあるのがタイムラインです。そこに置いてあるひし形の奴が、その時間でのそのぱらーめたーの値ですね。
先日blenderでシェイプキーを触られたときに数値を変更すると、その値に合わせて顔が変形されたのを覚えているでしょうか?
今回このタイムライン上で、その地点でどんな数値をとっているか、をその時間ごとに記録します。
この時間の玉は、ドラッグで移動可能です。また一列になっている同じ時刻ひし形は一番上の空欄の列のひし形をドラッグするとまとめて動かせます。今回のように両目同じ感じに動かしたい場合は使いましょう。
そして、再生するときには、その間を補完するように時間に合わせて数字が変わっていくことで、アニメーションが成立するようです。また Ctrl + C でコピー Ctrl + Vで貼り付けとかもできるので、同じ状態を置きたい(開いてるところとか)の場合は使うと便利です。ちなみに貼り付けはタイムラインの現在地、(赤いライン)のとこに置かれるみたいです。
横にある数字のところがその時点でのそのアニメーションの値です。
まず最初の0.00のところは、瞼を開いているはずですので、0にします。(たぶん初期値)
次に0.2位のところに右クリックで Add Key をしてひし形を増やします。そして、その時点での値を 100 にします(最大値1だと思って30分ぐらい悩んだ)。すると目を閉じるのがわかると思います。
でもって、この状態で、左上の再生ボタンを押しますと、アニメーションしてるのが確認できるはずです。
ちなみに瞬きは、開くより閉じる方が早いらしいですので、その辺意識して、閉じてる
100を左に寄せるとそれっぽくなるとか聞いたです。
あと瞬きの感覚が同じではあれですので適当に間をかえて、何回か繰り返すようにしとくです。
ちなみに私はこの時は、まずタイムラインの上でホイール(マウスの回るやつ、真ん中にちょこんとあるやつ)を回して全体の時間を増やします。Shiftをおしながらクリックで、瞼が開いてる閉じて開いてまでの、三つのひし形両目分を全部選択しておくです。Ctrl + C でコピーするです。タイムラインに置きたいところで右クリックしてAddkeyするです。左上の再生の横のボタンを押すとキーを順番に選択できるので置きたいところまで行くです。Ctrl + V で張り付けるです。って感じで楽しました。
あとは、ちょちょいと再生したり、微調整してアニメーションの完成です!
この辺は個人の感性によるのでおきにいりができるまでがんばーです!
完成しましたらウィンドウは閉じて大丈夫です。
2.瞬き用のアニメーションをアバターに適用する
ではいよいよラストです。
ここまでで、アニメーションの動き、が完成したのですが、これをモデルに設定します。(さっきまでのはあくまでアニメーションするためのファイルを作成してました)
モデルを選択します。
Add Component の Miscellaneous の Animation をクリックします。
すると Animation ってのが増えるです。
Assetのところにさっき作ったアニメーションが増えてるので、それをドラッグして、
Animation の Animation に放り込みましょう。
完成です!
ちなみに、Play Automatically (自動再生)のチェックがついてること、Culling Type が Always Animate (常時表示 つまり、一回終わったらおしまい!ってなってないこと)だけ注意しておきましょう。
画面上部、いつものゲーム開始とかの三角形を押すと動きが見れるはずですので、確認しましょう。
あとは、VRchat用のアバターの設定など、いつものvrchatへのアップロード作業をして、vrchatに持ち込めば瞬きするアバターの完成です!
ちなみに上でも一回上げたですがアバターアップロードは下記記事参照です。
ちょっとだけ補足
変なポーズがついてる
avater discripter (vrchat用アバター設定コンポーネント 灰色の丸いカメラとかの奴)を設定している場合は、アニメーションの時に変なポーズになります。これは、アバターの設定の基本ポーズがそれだからっぽいです。(多分)
アニメーション作る時は、これが邪魔になることもあるので、discriipterは外しとくといいと思いました。
改めて考えたら違いました。vrchat sdk の方は関係なくunityの方のアバターの設定、(fbxのデータを突っ込んだあと、humanoid とかの設定をしてapplyとかやるやつ)が、あるとアバターの標準ポーズが体を抱きかかえるようなポーズになるのが原因な気がします。(たぶん)
なので、その設定をしてない入れたばっかのモデルでアニメーション作るといいかなって思いました。
この辺の話はあまり細かく見れてないので間違ってるかも。ただ変なポーズで困ったら少し考える材料にでもして下さい。(また調べたらしっかり書くかもです。)
Animation設定時の録画について
アニメーションタブの再生とかの横にある、赤い丸があります、案の定録画のやつですが、これがついてると、動かした数字全部覚えちゃう(モデルの場所とかも全部)ので、注意です。
あと、今回設定したアニメーションは、アバターのコンポーネントのところにある数字なら、なんでもアニメーション可能です。(ポジションとか、大きさとか、もっというとシェーダーとかにあるプロパティも可能)ですので、いろいろアニメーションしてみたいですね。
おわりに
またそれなりに長くなってしまいましたので、このあたりで今日はおしまいにするです。
瞬きは、メッシュをいじる手間こそあるものの、割と簡単に実装できて、いきいきとした感じを出せるですので是非やってみてください。(@_@。
次回は、フェイスリップ?(声に合わせて口が動く)のご紹介したいです。
てっでー!(≧◇≦)/
続く!
VRchat デスクトップ版操作に関してちょびっと(*´▽`*)今日は軽量デイなのです
今日はちょっとやりたいことがあるので軽く更新(*´▽`*)
VRchatデスクトップでの操作について
最初基本的な操作についてはチュートリアルがあったのでよかったですが、やはりいざやってみるとわからないことも結構あるのがこの手のゲーム。ゲーム?
ってわけで今日は操作に関して!
上のこれを見るとわかるですね。
ちなみに今回困っていたのが、ハンドジェスチャー!アニメーションのオーバーライドとかをやろうとするときにどこからやればいいんだろう…?って結構なって困ってたですが、やっとわかったです。
キーボードでのハンドジェスチャーについては Shift + F1~8 キーだったですね。
ちなみにここには書いてないですが、Shiftを右の押すか左の押すかで左右のハンドジェスチャーが変わるとかってのを見た覚えがあるです。これでやっとアニメーションオーバーライドのお試しができる…。エモートとハンドジェスチャーで地味に動作が違うので困りものだったですよ。(T_T)
あと今回見てて地味にありがたかったのがメニューキー+1とかでだせるらしいデバッグメニュー。これは、まだあまり試せてないけど色々便利に使える気がしてるですよ!
ちなみにメニューキーっていうのは、キーボード右下のCtrlとかWindowsキー(四角いマーク四つのやつ)の間辺りにある、メモみたいな形をしたキーの事です。
ってわけで今日は短いですがこの辺で!
ジャスティス!!!!!(≧◇≦)/
続く