FoRのブログ

3DCGとかUnityとかのなんやかんや

ブログタイトル

WebGL投稿先としてGithubを使ってみる

モデラーがモデルを公開する場所の選択肢として3DCG-Artsニコニ立体、海外だとSketchfabArtStation等がある。

その中でもニコニ立体はUnityから出力したWebBuildファイルを投稿できるので他にはないカスタムシェーダー使ったりスクリプトで動きのあるモデルビューワーの投稿ができた …昔は。

今はUnityからWebBuildは廃止されてWebGLに変わったものの、それ向けにアップできる投稿サイト等は(自分が知る限り)多分無いと思う。
ゲームはUnityRoomってのがある…が、ゲーム専門って有るので、そこにゲーム性無いのを上げるのはちょっとアウトだろうなぁと思う。

かと言って忍者やFC2やロリポのようなレンタルサーバーでは転送量上限に引っかかってアップロードできない。詳しく調べてないけど、少なくとも無料プランでは出来なかったと思う。

 

というような話をUnityの勉強会でした際、オノッチさんから「Githubでできるよ」という情報をいただきました。

 ・いい感じの名前でリポジトリを作る

・SourceTreeでリポジトリをPCにClone

・Cloneした空フォルダにWebGLビルドした【index.html】【TemplateData】【Build】をコピーしてコミット&プッシュ

 

ここまでは良いんだけど、どうやってhtmlを開けるのか判らない。普通に開こうとしてもソースコードとして開かれてしまう。

色々探してたら "Settings"の"GitHub Pages"の項

f:id:for13:20170711013023j:plain

ココをNoneから変えないとダメだった。

 

そしたら

Unity WebGL Player | NikoniTenryu(WIP)

f:id:for13:20170711014558j:plain

できた。

https://アカウントID.github.io/リポジトリ

で開けるっぽい。

やったぜ

 

あとはGithubに上げたWebGLへのリンクを纏める所か…どうしよかね?

保存

UnityHumanoid用Rig Ver2

あたらしくHumanoid対応のRigをLightwaveで組んだ

 余計なBornを入れないのはUnityに持っていきやすくするため、いじるサブ骨が無い分、ハッカソンとかでモーションでっち上げるのが楽。

 Humanoidの設定で読み込めばこの通り、大体はOK。揺れ物等は物理任せになるけど、致し方無し。


前回からの改良点

・腰を動かせるように。

Mecanim Humanoid について | Unity Japan Official Blogにあるように、Rootは骨盤辺りのHip骨であることが前提になっているので。例えばウエストの辺りにRootを置いて、上にSpineを下にHipを伸ばすのはあまり良くないらしい。

でもそれでストレートに組むとHipの位置あっての上半身になり、”胸の位置は動かさず腰をちょっと動かす”みたいなのが面倒だった。

よって”Hip_Nullの子のWaist_Nullの回転でHipの位置と角度を、Spine・Chestはその影響をほとんど受けずにSpine_Nullで回転を操作”みたいな構造にしてみた。

・四肢毎のIKFKブレンド

以前は四肢の操作はIKオンリーだった。大体は困らないけど、やっぱり剣を振るとか弧を描く動きはFKのほうが良いなと思ったので、その辺のブレンド量を調整できるコントローラーを設置した。

・PlgIK縛り

LightwaveのPlg_IKというフリープラグインで今までやってた。
メリットは”挙動が素直”に尽きる。デフォのIKで起きる”一定角度になると関節がガクガクする”みたいなフリップ現象が起きない。

デメリットは ”一見フリップが起きないように見えるけど、骨の回転値が1フレームで大きく変わりフリップが起きない角度に調整している”様なので、FBXに書き出すと端数フレームで腕が一瞬360度回転する等なことが度々あった。デフォのIKだと多分起こらないはず。その代わり操作性はPlgIKには劣るけど… 

ついでにそのプラグインLW8時代ぐらいのもので、もうずっと更新されていなかったのだけど、配布されていたサイトの@homepageが2016年11月10日でサービス終了で再DLもできなくなった様で、これは自分で基本機能で組めるようにならなイカンと思った次第。

 

 あとはこの謎挙動さえどうにかなれば良いんだけど…足を伸ばして接地した状態から腰を落とすと少し埋まる瞬間があるって事になるから、これはなんとかしたい。

まぁそれは今後の課題かなぁ。

ちなみにGenomaは補助骨が鬼のように多いから無しで。

(1/21追記)

 多少マシになった。IKの粘性0にしたことで操作性も上がったような気がしないでもない。
ただ何もかんも0にしたら良いってもんじゃないらしく。コントローラーのworld回転とか参照してるトコを0にしたらつ効果が無くなったので、そこの辺は1するのが良さげ。

 ----------------------

さて

f:id:for13:20170120034744j:plain

骨のリファインに目処が付いた所で天龍Ver3への骨入れとスキニングに移ろうか。


今回はZBrushModo&SubstancePainter(&セットアップでLightwave予定)で行っています。
RigもModoに移植できたら良いんだけどなぁ。Modoでのリギングも調べないとな。

-----------------------------

お借りしたデータ

暮井 慧(プロ生ちゃん) MMD/Unity/FBX 公式データ
社畜ちゃんMMDモデル 

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

保存

保存

保存

保存

瞳に生命感を与えるスクリプト

f:id:for13:20161120011345j:plain

事の発端はこちら

 こういう瞳の微妙な動きのことを固視微動というらしいです。

f:id:for13:20161119011345j:plain

これを瞳のテクスチャのUVオフセットを管理するスクリプトに組み込もうというのが今回の試み。
イメージとしては

・「EyeRandom.cs」で細かいトレモア振動とランダムフレームかけてランダム距離動くドリフト兼フリックの計算をさせて何処かのオブジェクトにアタッチ

・瞳をUVアニメさせるスクリプト「EyeOffset.cs」にEyeRandomから変数の値引っ張ってくる処理を追加して足し算。

www.youtube.com

結果こんな感じになった。
ええんやない?

 

ちなみに最初はEyeRandom.csに分けずに書いていたけど、いざ動かしてみたら右目と左目でバラバラの動きをし始めた。

さながら散眼、 ジッサイキモい。

保存

保存

保存

保存

保存

保存

保存

ココ最近のシェーダーまとめ2

・カメラが動いている間だけ掛かる集中線ブラー

スマホVRのVR酔い軽減に『視界を狭める』というものがあるらしく試してみたかった

・カメラが動いている間だけ掛かるぼかしブラー

 あとでこっちのほうがそれっぽいということに気づき作りなおした。

ちなみに実際は

www.youtube.comもっと露骨に狭めてた

 

続きを読む

ココ最近の自作シェーダーまとめ

・割り当てたメッシュを通して見た範囲をモザイクにするシェーダー

 f:id:for13:20160611110423j:plain

なお少ない分割数とキツいパースには弱い模様

続きを読む

Humanoid外のボーンの、位置が動いてしまうのを防ぎたい

構造や命名が殆ど同じ、違う所は体型の違いによるアクセサリー骨の位置(この場合腰の部分)

二体のHumanoidモデルが有るとします

f:id:for13:20160602025524j:plain

大きい方をA 小さい方をB
それぞれアバターを持ち、Aをベースにモーションを作りBに持って行くと

f:id:for13:20160602025531j:plain

腰のスカート骨の位置もAに合わさってしまう。コレが箱の仮モデルじゃなくて服なら 当然スカートは変に伸び縮みしてしまう訳で…
モーション流用したい時にはこれは困る。

続きを読む