BlackIceCoffeePhenomenon

溶け出す氷によって味が薄くなると併せ、味覚が苦味に慣れていくことで、加速度的に味覚への刺激が減衰する現象に関するブログです。

壊れかけのミキサー

その昔、DTMに傾倒していた名残で
モニタースピーカーを使っているのですが、
複数台のPCからの音声をまとめるためにミキサーを配置してます。

 

10ch(ステレオなら5個分)の卓に収まるいいやつだよ。

 

それで10年選手になりつつあるXENYX1002を騙し騙し動かしてます。
なぜ騙してるかと言うと、つまみを回した通りに音が出なくなってるチャンネルが増えてるからです。
違うチャンネルを使ったり、右と左で音量を調整したりそんな感じ。
あとフェーダー上げると入ってくるノイズが増えてきました。
机に耳を合わせた時のゴーって聞こえるあの感じ。

 

とっくの昔に減価償却は終えてて
いつか買い換えたいと思いつつ、完全に壊れたわけじゃないし・・・
そうして3年くらい経ってます。
10kくらいなのでそこまで痛手にならないものの、
穴があくまで靴下を履くあの感じに近い。

 

そろそろ買おう。来年まで買わなかったらまたこのブログ見返そう。うん。

www.soundhouse.co.jp

Win10の簡単なダンプ解析

ブルースクリーンで得られる情報はかなり限られてて面食らう事ばかりですが
一応、ツールを使えばどこが悪さをしているかくらいは特定できます。

絶対直してやるぜってのはムリだとしても
せめてパーツ交換したらなんとかなるかな?って人の足掛かりになるくらいは解析ができたりします。


ブルースクリーンがでました!!


色々情報を収集してるので待ちましょう。
収集した情報は「C:\Windows\MEMORY.DMP」に出ます。
クラッシュした瞬間のメモリの情報を残してくれます。

解析に必要なものはWindbgというツールです。
このWindbgというツールはWindowsKitの中に入ってます。
Win10だったらこのへんからダウンロードしましょう

https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk

インストーラを実行して、これだけチェックを付けます。

f:id:yananann:20190104013703p:plain



インストールが終わったら管理者権限で実行します。

 

f:id:yananann:20190104013718p:plain

f:id:yananann:20190104013731p:plain

 


Use !analyze -v to get detailed debugging information.
って出てくるので、画面下のコンソールから!analyze -vと入れてEnterキーを押します。
するとべろべろってログが出るので、軽く眺めます。
violationとかkillとかdieとか物騒な単語を探しましょう。

物騒な単語を見つけたそれをググってその名称が持つ役割が
何をしているのか調べるのが早いです。
svchostだったらネットワーク系の何かだったり
winlogonだったらWindowsのログインにまつわる何かだったり・・・。

それによってドライバの更新をかけたり、
パーツの交換を検討すると良いです。


今回私の場合は、svchostとmemory accsess violationが出たので
ネットワークにまつわる何かのアクセスが、メモリに対してよろしくない動作をした。でした。
ネットワーク処理するにあたり、メモリのあるアドレスからこのアドレスまで予約したのに
その中身が想定したものと違うものになってしまって、落ちちゃったってパターンです。
このケースの場合、大きく2つの要素を洗い出すことができます。
1,メモリが物理的に壊れている。
 OSがメモリ壊れてる事を特定するのは難しく、正しく入れたはずのデータが正しく読み取れない事をよろしくないと判断した場合に出る
2,ネットワークドライバが最新のWindowsの挙動に対応しておらずバグっている。
 WindowsUpdate直後なら、デバイスドライバとの相性がちぐはぐで想定した挙動と違う動きしてやっちゃったみたいな。

肝心なのはこの要素を考え付く力みたいな所があり
その経験値の塊がSEの経験値だったりします。SEは慣れれば簡単だよ!!

1の対処について
 memtest86というものを落としてUSBメモリに焼いて、チェックしましょう
2の対処について
 ドライバを最新に更新しましょう。今の時代は結構手軽です。

f:id:yananann:20190104013803p:plain

メモリが物理的に死んでるならメモリ買い替えで終了です!
とまぁ。こんな感じで特定していきます。


私の場合は、memtestしてもerrorが出ず、ドライバの更新をしたら
違うブルースクリーンが出てsvchost.exeからntkrnlmp.exeに変わりました。

ntkrnlmpはググったらOSの基本的な処理に携わってるという事で2つの要素が浮かびました。
1,OSがぶっ壊れてる
 再インストールかぁ・・・
2,OSを入れてるSSDが壊れはじめてうまく動かなくなり始めてる。
 こっちは変えのSSD買ってクローンすればいけるかも?

CrystalDiskInfoを落として実行したら、SSDの寿命ゲージが80%切ってたので
交換を決意して、新しいSSDを買いに行きました。
250GBから512GBになるしいいよね!

そしてSSDを買って中身をクローンして交換したら、治りました。

【unity2017対応済】VRChatで足跡の波紋(パーティクル)を残す

せっかくなので足跡を残してみませんか。
きっと歩くのが好きになりますよ。

 

今来たところなんです!

f:id:yananann:20181221232841p:plain



モノを持たせたり放ったり、手から出るものばかりでしたが
今回は足から出ます。手が出る足が出る。

これの足版です

yananann.hatenadiary.jp

 

久々の記事なので、がつがつに丁寧に書きます。

続きを読む

VRChatのワールドを作成する。天地創造記録

はじめに神は天と地を創造された。

 

天地創造です。Genesis Creation Narrativeです。
https://en.wikipedia.org/wiki/Genesis_creation_narrative

 

f:id:yananann:20181213215351p:plain

こんな感じのワールドができます。

もうすでに出来上がったものから手順を書き起こすので画面通りにならないこと多々あります。

 

全体の流れ

  1. 概要:ワールドの広さや背景感の設定(terrainとskyboxの設定)
  2. ワールドのデザインと実装
    2-1,概要(どうやって作るか考える)
    2-2,パターンを考える
    2-3,パターンの作成
    2-4,パターンの展開
  3. ギミックのデザインと実装
    3-1,画面端に行くとテレポートする
    3-2,椅子を触るとテレポートする
    3-3,ペデスタル(アバター配布)を設置する
    3-4,BGMのOnOffするボタンを置く
  4. 雪パーティクルの実装(メインディッシュ)
  5. 振り返り

さて、いきましょう

続きを読む

これを覚えるとより使えるVRChatのパーティクル(初心者向け)

本当に世の中の設定項目はめんどくさい。

こだわりを求めるときりがないのは、これもおんなじです。

 

前回では、まずとっかかりみたいな感じの設定箇所を挙げました。
ある程度狙った通りのデザインができるのではないかと思います。

yananann.hatenadiary.jp

 

狙い通りの放ち方ができたなら、次は放出済みのパーティクルを
加工する方法について記載します。

メイン

Randomize Rotation:発生時に粒子を回転させます。


SimurationSpace:発生した粒子の軌道を発生元に追従させるか、ワールドに委任する設定です。
(雪パーティクルや星はWorldに設定してます。ライターの炎とか追従したいときはLocalが良いです。)

 

Emission

Bursts:ドバっと出したり、発生のさせ方をカスタムしたいときに使います。
前回紹介したRate over Timeは秒間放出量の設定はできますが、カスタムは困難です。
組み合わせてますがこんな出し方ができます。

f:id:yananann:20181207222038p:plain

 

Limit Velocity over Lifetime

Speed:放出されている粒子をこの速度に落とします。
(最終的にこのスピードになります。)

Dampen:どれくらいの勢いで遅くするかを設定します。0ほど時間がかかります
イメージとしてはブレーキに近いです。0ほどゆっくり、1に近づくほど急ブレーキです。
(雪パーティクルでこれ使ってます。0.05で勢いよく打ち上げ、ゆっくり落とすようにしてます)


Size over Lifetime

 Size:StartLifetimeで設定した時間に則って粒子のサイズを変えられます。
 (パイロンパーティクルで使ってます。打ち上げてるときは超小さく、落ち始めてから大きくしてます)

 

Collision

 Planes|World WorldにするとWorldのMeshColliderに干渉できます。

 Dampen:粒子の衝突時にどれくらい跳ね返るかを設定できます。0ほど跳ね返ります
 (雪パーティクルでは0.9に設定し床に触れたときに極僅かに跳ねるようにしてます)

 

-----

おまけ1

微調整は延々と格闘することになります。
unityで軽く見たら、VRChatで直接見てみるとよいです。
unityで見たときの見え方と、VRChatの主観で見たときの見え方がずいぶん違います。

 

おまけ2

オーバーライドしたアニメーションをOFFにして瞬間的消すには
ParticleSystemや上位に置いたGameObjectをOFFにするとすぐ消えてくれます。
ParticleSystemのEmissionをOFFにすると、これ以上放出しないみたいな挙動になります。

これだけ覚えればとりあえず使えるVRChatのパーティクル(初心者向け)

本当に世の中の設定項目は多すぎてわからなぁぁい!!

 

でしょう?

 

unityのパーティクルの設定項目も多すぎてわからないい!!!

 

ってことで、最小限のレベルでこれだけわかれば大体できちゃうものを列挙します。

特に使うものは大文字にしました。

 

メイン
StartLifetime:発生から消えるまでの時間です。
StartSpeed:発生時の速度です。
StartSize:発生時の粒子の大きさです。
GravityModifier:発生後に粒子にかかる重力です。設定した数値が加速度的に上昇します。
MaxParticles:最大の粒子量です。頭打ちです。


Emission
 Rate over Time:秒間の発生数です

Shape
 Shape:どんな形でパーティクルを放ちたいか設定します。私はCone(円錐)を多用します
 Radius:円錐の頂点をいかに細くするかです。指先なら0.01推奨です

 

パーティクル作る時の考え方みたいな。 

1,どんなふうにしたいかをイメージします。
 (雪降らせる、ビーム打つ、クラッカーっぽいのやるとか)

2,ShapeのShapeでそれに近い形を選択します。

3,StartSizeで粒子の大体の大きさを設定します(極端に小さい場合後回し)

4,StartSpeedで粒子の速度を設定します。(通常時、大体これくらいのスピードかなって程度でいいです)

4-1,もし重力の影響とか与えたいならここでGravityModifierを設定します。

5,EmissionのRate over timeで放出量を設定します

6,StartLifetimeで、粒子の消え時を設定します。

7,大量の粒子を出したいけど思い通りにいかないときはMaxParticlesの数字を調整します。

 (計算式はRate over time × StartLifetimeで大体できます。)

 

-----

おまけ。

StartDelayの使い道
 トリガーを引くアクションにオーバーライドしてる場合
 VRChatのメニューを開いて選択するときに誤射します。
 1秒猶予があるだけで誤射しないのでおすすめです。

親の顔より叩いたドラムマニア

18歳で家を出て

ドラムマニアはかれこれ20年叩いてるので

あながち間違いじゃない

 

たまにはVRChat以外の記事も書かなきゃね 

 

今作も無事銀ネーム取れたのでスキル曲晒しです。

今作はなんと旧曲枠が縛りプレーです!

ボス曲、アンコール曲、プレアン曲縛りなので物々しいラインナップになってます。

超しんどかったし!

 

f:id:yananann:20181203211831p:plain

新曲枠

 

f:id:yananann:20181203211855p:plain

旧曲枠