FoRのブログ

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

DドライブSSDが壊れた話

 一応まだ 偶に認識するけど。

 

for.hatenablog.jp前回の最後に怪しい症状を見せてから重要なデーターは別ドライブに退避し、Dropboxのフォルダと、ソフトをインストールする専門のドライブなってたDドライブ。

特に致命的なダメージはなかったけど前回のCの時の事もあって早急に対処が打てた。

 

症状のあらまし

 先日ModoとUnityで作業していたら2つが同時に(応答なし)になった。

タスクマネージャーからのタスクキルもできないどころかタスクマネージャーも(応答なし)になる。

再起動もフリーズして出来ないので電源長押しで無理やりPCを落として再起動。

起動時に『Scanning and Repairing drive (D:)』という感じに修復が走った後OS起動。

しかしやはり挙動がおかしい、普段スタートアップで立ち上がってるアプリがいくつが動いてこない。Explorer見てみてもドライブが一個も認識されていないし、Dドライブ絡みのショートカットを押すと軒並み動かない。
再度PC落としてシステムの回復を試すも効果なし。

Dドライブを外して再起動、SSDをUSBから繋いでみるとExplorerは正常に表示されるけどDドライブにはアクセスできない。

タスクマネージャーで見てみると常に使用率が100%になってる。

f:id:for13:20180210172022p:plain

そういえば以前そんな記事見たぞ?と「windows10  SSD 100%」などでググり、Windows Update

knot-found.hatenadiary.jpの記事を試す。…正常に戻った!

 

と思ったら翌日また作業中に使用率100%になってダメになった。

前回のCの時のように「SATAケーブルを抜いて挿してとスーファミみたいなことしたら認識した」「突然に固まる」「しかし再起動すると何事もなく動く」と重なることが多いので、もうじき壊れると判断してパーツ交換しました。

という感じ。

SSDの寿命

今回のDに使っていたSSDをいつから使い始めたか記憶が定かじゃないけど、前回死んだSSDと同時期じゃないのは確か。早くとも半年か1年後辺りに足したもの。

そう考えたら今回も壊れるまで5年近くと言うことになるか?

しかし

f:id:for13:20180210173813j:plain

左が前回換装したCのSSD。記事から察するに使用開始から約1年。

右が今回イカれたDに使ってたSSD。電源投入回数の割に使用時間が少ないのが気になるところだけど…。

電源投入回数から計算すると去年の時点で914回、年600回動かすとして2年ちょいで死んだ?それは早すぎない?

bbs.kakaku.comnandの値はこの件があるからあてにならないかも。
使用初めた日時メモするようにしよ。


結論

怪しい動きをしたらクローンを取ろうと思いました。
あと念のためDropboxのフォルダも引っ越そう。

Unityのタイムラインでボイロ1分動画を作ってみて。

年始帰省中にUnityのタイムライン機能を探り探り使って1分動画作ってみた。

 

Unity WebGL Player | AkaneTyaban01

 (音が出ます。操作はニコニ立体と同じ、リプレイは実装してないのでF5で。Lip Syncが動かないのは後で修正する予定)

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

基本的な所は毎度おなじみテラシュールウェアを、特に

tsubakit1.hateblo.jpのタイムラインとスクリプトの連携周りを参考に。

f:id:for13:20180110023925j:plain

こんな感じになりました。

 

今回やってみたかったこと

●会話に合わせたモーション・表情・リップシンク設定

●カメラ操作スクリプト・カメラ注視スクリプトのタイムラインに合わせたON-OFF

 

弄ってみてわかったこと

●AudioTruckはAudioSourceセットしなくても動く。

●AudioTruckはAudioSourceのAudioClipをタイムラインに合わせて置き換えて鳴らすわけじゃないらしい

●AnimationTruckにはAnimatorは要るっぽいがControllerはNoneでも動く。

●PlayableAssetとかPlayableBehaviourのスクリプトどうしたら良いのかわからん

●別にPlayableAssetやPlayableBehaviourを使わなくても、ITimeControlでスクリプトとかの動作をコントロールすることは出来る

遭遇した問題

●モーションと表情のために複数のAnimationTruckに同じAnimatorを与えると、表情が変わる辺りでBlendShapeの変化を記録したAnimationClipに引っ張られたのか接地がおかしなことになった。

→AvatarMaskも効果なかったので、体の動きと顔で別々にAnimatorを持たせた。Akane_BとHead(2)の2つがあるのはそのため。

 

上記『AudioClipをタイムラインに合わせて置き換えて鳴らすわけじゃない』故に、Lip SyncのためにAudioClipをタイムラインに合わせて入れ替える仕組みが必要になった

→AudioClipのリストを作り、OnControlTimeStart()でCountに応じたClipの入れ替えとLip Syncの開始。OnControlTimeStop()でCountを増やすというゴリ押し実装。

f:id:for13:20180110030707j:plain

● timelineIKLook.csを作り、カメラ注視の全体のウェイトをOnControlTimeStart()とOnControlTimeStop()で0と1で切り替えたらパッと変化してしまう。
→ 初めtimelineIKLook.cs内でSmoothDampを使おうとしたが、クリップの開始時、終了時に一回だけ処理されるのを忘れてたので意図した挙動にならなかった。結局素直にIKのスクリプト側を改良。

 

感想

慣れたら色々使えそうだなぁと思いました(小並感)

前の歌うボイスロイドの時はAEでの表情の切り替えがとてつもなくめんどくさかったけど

for.hatenablog.jpコレだと表情のモーションクリップ作ればブレンドも簡単だし、実況動画の動く立ち絵

素材を作るとかも出来そう。

…リソースがあればだけどww

あとTwitterのボイロ30秒動画とかやってる方々すげぇなぁと思った、話作り的な意味で。台本考えるの大変。

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

 さて、茜ちゃんモデルの修正と続きに戻るか。

f:id:for13:20180110034251p:plain

 

ボーンインフルエンスの数を制限する@modo

UnityやUEにfbxを持っていった際、ボーンインフルエンス数(1頂点がWeightMapを何個持つか)が自動で制限されます。

Unityで最大4(UEは8らしい)だいたいいい感じにまとまるから良いのだけど…

やっぱり厳密に調整したい所があったり、IllusionのHoneySelectの自作Modとか弄ってるとインフルエンスが4を超えるとエラーで読み込めなかったりする。
そんな訳で常々『1頂点あたりのWeight数を任意に制限できないかなー』と思っていましたが、ようやく項目を発見。

1頂点のWeightの合計を100%に纏める時お馴染みの、デフォーマーリストの"NormalizeingFolder(正規化フォルダ)"のプロパティにありました。気づかなかった…

試しに8個Weightを持たせてみて、ソース制限にチェック入れて、インフルエンス数を指定して、この時点で変形に反映されるけど更に"ウェイトのベイク"を押すと。

f:id:for13:20171221120308j:plain

これが

 

f:id:for13:20171221120317j:plain

2でベイクしてこんな感じ。

 

f:id:for13:20171221120324j:plain

1でこんな。

良さげ。

 

作成中の琴葉茜ボディでも試してみると

f:id:for13:20171221120337j:plain
左上から10、4、2、1
いいねぇ、調整がやりやすくなる。

 

ってか何で今まで気づかなかったんだ…
検索しても出てこないから無いのかと思いかけてたww

Unity2017でMecanimに追加されたUpperChestについて

 Unity2017辺りで追加された(と思ったら5.6.1のときにはもうあったらしい。知らんかった…)UpperChestの項目。

f:id:for13:20170816104153j:plain

 先日のコレの最後、『動きを出力してunityに持っていって既存モデルにあてたら若干挙動がずれる』って話について。

for.hatenablog.jp

薄々「まぁUpperChestの分の動きがズレてる原因だろうなぁ」と思いつつ検証してみた。

用意したもの

  • モーションA:前回出力した謎の動き。UpperChestあり
  • モーションB:Aを複製し、インポート設定でMappingからUpperChestを外したもの
  • Assetから持ってきたモーション:UpperChest何それな時代のモーション。当然UpperChest無し
  • BoxPeople:以前出力したテスト用のハコ人間。UpperChest無し
  • BoxPeople+:新RIGに使ったBoxPeople。UpperChestあり
  • Tenryu:いつもの。UpperChest無し
  • Tenryu+:UpperChest足してウェイト調整

検証内容

  1. UpperChest対応骨にモーションA、未対応骨にモーションAを宛てる
  2. UpperChest対応骨にモーションA、未対応骨にモーションBを宛てる
  3. UpperChest対応骨にモーションB、未対応骨にモーションBを宛てる
  4. UpperChest対応骨、未対応骨共ににAssetから持ってきたモーションを宛てる

 の4パターン
ちなみに赤いほうがUpperChestあり。

赤いのと白いののズレが少なければいい感じ。

●UpperChest対応骨にモーションA、未対応骨にモーションAを宛てる

f:id:for13:20170816092655g:plain

前回おや?となったのがこのケース。

腰から下は比較的ズレ少ないけど、胸から先がうまく揃ってない。Mecanimも万能ではないんだなぁ。

●UpperChest対応骨にモーションA、未対応骨にモーションBを宛てる

f:id:for13:20170816092728g:plain

UpperChestが無い分、頭や肩辺りがズレがデカイけど。手とかはちゃんと補正されてる。

●UpperChest対応骨にモーションB、未対応骨にモーションBを宛てる

f:id:for13:20170816093042g:plain

一番ズレが少ない。

●UpperChest対応骨にAssetから持ってきたモーションを宛てる

f:id:for13:20170816093128g:plain

こちらもほとんど一致。

 

 3と4のケースからは、モデル側的にはUpperChestが有っても使わない分には動きに影響しないというのが判る。

まぁ当たり前か。

 

結論

  • 『新しく作ったモーションやUpperChest有りのモーションAssetを買ったのを、既存のモデルとかに使いたい』 って場合は、モーション側のインポート設定を弄ってUpperChestをNoneにすれば問題ないっぽい。
  • どうしても動きでUpperChestを使いたいなら、当然モデルにもUpperChest骨が足されてないといけない。
  • 新しいモデルに古いモーションを宛てる分には問題ない。

 

あぶねー Rigの構造見直しかと思った…

保存

保存

保存

ModoでRig組み ver,1

そろそろRigもModoでやってみっかって適当にいじりながら挑戦。

基本

・IK

デュアル2DのIK

・コンストレイン

・ペアレント

・スケマティックでチャンネルをつなぐ

 で考えた。

 

■hip~ChestはIK それぞれの骨にゴールをおいて腹や胸の反りを管理

 

f:id:for13:20170815120437g:plain

■Neck~Headは頭の位置においたHead_Nullの回転値を半分ずつ2つの骨に与える感じ。

ただし普通に回転値継承させただけではHead_Nullのワールド回転は動かないので『深々とお辞儀してるのに首から上は微動だにしない』みたいな状態になるので、Head_Nullの親のLocatorに背骨の回転を継承させることで背骨の動き+Head_Nullの動きで意図した挙動になってる的な。

f:id:for13:20170814015728g:plain

■UpperArm~LowerArmはデュアル2DのIK 普通のIKだと角度がきつくなるとガクガク荒ぶり始める よろしくない。

f:id:for13:20170814020317g:plain

Mayaめいて素直な挙動なのは良いけど、上腕と下腕でで肘の曲がり以外に曲げが入っていてもまっすぐに修正されてしまうので、O脚のキャラとか特異な関節のモンスターとかには使えない場合があるかもしれない。
あと腕を設定してる時に、肘の向きを管理するのに使う上方ベクトルのLocatorが肘の内側に来てしまった。→IKの設定の方向の所で180°回転させたら意図した挙動になった。

 

■handはIKゴールの方向追随と、腕の角度の影響を受けるのをControllerでリニアに切り替え可。武器を標的に向けるとかはゴール追随、歩きの時の振りとかは腕の影響受けて みたいに使い分け。

f:id:for13:20170814020620g:plain

■指や肩は頭同様各ロケーターの回転を渡してるだけ。

f:id:for13:20170814021759g:plain

■upperLeg~LowerLegも腕同様デュアル2DのIK

f:id:for13:20170814022623g:plain

Foot_Null つま先を起点に足全体を管理

┗Too_Null 足の先の上下回転

┗Heel_Null 踵の上げ下げ

 ┗IKgoal ロックかけてこれ自体は操作しない

今回はこんな構成にしてみた

つま先立ちとかはしやすい反面踵を軸にターンとかはやりにくくなったかも。

 

for.hatenablog.jp

 前回のRigでは肘や膝の向きを調整する辺りの挙動に不満が出てきたけど、今回のはその辺も改善されていい感じ。

f:id:for13:20170814101256j:plain

やったぜ。

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

 …ってな感じで考えたけれど、骨の間にいくつかlocator挟んだせいか、試しにUnityに持って行ったときに完全な流用が利かなくなってた。

 

赤が新Rigの骨 灰が今までの最低限の骨

特定の挙動が入ったときに手先の位置にズレができる

Unity2017で追加されたUpperChestを追加したからってのもあるのかも…?

f:id:for13:20170814132838g:plain

 

というわけで検証してみた。

for.hatenablog.jp

 

保存

保存

保存

保存

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へのリンクを纏める所か…どうしよかね?

保存

琴葉姉妹で歌うボイスロイド動画を作ってみて。

 

琴葉姉妹3周年ヤッター!

www.nicovideo.jp

 こんな30秒動画を作ってみた。

 参考にしたのはコチラ

とコチラ

 の解説動画。

楽経験はほぼナシ。五線譜はパッと読めないし音符の種類の意味もよくわからんぐらいな。

 

初めの方の音を切ったり伸ばしたりしてテンポ調節は、元のボーカルが有るからそう難しい話でもなかった。

しかし最初は原曲(1分40秒辺り)の高さに対して1オクターブ高い声をあわせたのだけど

youtu.be

これがスゴイ違和感。何となくいけるんじゃないのと思ったけど甘かった。

次に声の高さを曲に合わせようかと思ったが、姉妹ボイスで設定できる下限を超える音だし、ツールで1オクターブ下げても変過ぎた。

 最終的に折衷案として、曲を「まぁこれぐらいならギリかな?」という高さにピッチ上げ→自分で鼻歌録音→近い音を探して再出力

で、今回は落とし所としました。
まだまだなー 歌うボイスロイドタグで探すとめっちゃ自然に歌わせてるの有るから、技術的には可能なんだよなー。あとは自分の技量と音編集知識次第ってことで。

Kotonosync使えたらもうちょいいい感じに出来たんだろうか?でもボカロは持ってないから使えないのよね。

しかし最終的な目標であった『編集加えて声に覇気や艶を出せない?』ってののヒントにはなった気がする。今のままだとアクションゲームとかの声素材にはちょっと迫力が足りない感じしたので。
---------------------------------------
という記事を書いていたら。

VOICEROID2というのが発表されました。

 なんでも怒り、喜び、悲しみの感情パラメーターが追加されるそうで…

まぁ今回の試行錯誤も無駄にはならないでしょ。
…多分