dev-hsimyu

おれが作ったものとかについて紹介したりするブログ

元カレ計算機: 渾身(中)サポート

お早うございます。ほしみです。

今月頭から長らくお待たせしていた通常渾身(中)の実装を行いましたのでお知らせ致します。 また、エデン(上限解放)のテンプレートも追加しました。


ここからは渾身(中)の計算式についてです。 主に以下の2点を参考にさせて頂きました。

HPベースの計算式は渾身大と同様と見られるため、 ベースレート部分をるくますさんのSLv毎の効果量にだいたい合うように式の係数を決定しています。

実装したのは以下の式です。(元カレ計算機では 渾身の式の暫定版 - dev-hsimyu の通り、3次関数を仮定しています)

SLv10未満:

a = 0.0320 + 2.0e-3 * slv

SLv10以上:

a = 0.0518 + 3.29e-3 * (slv - 10)

HP計算式 (渾身大と同様):

最終効果量 = a * (remainHP + 0.0317)3 + 0.0207


以上!!!!遅くなってすみません!!!!

元カレ計算機: キャラLB入力サポート、オメガ激情実装

お早うございます。

本日のお品書きは以下です。

  • キャラクター別リミットボーナスの入力サポート
  • オメガ激情計算の実装
  • キャラ毎のダメージ表示の実装
  • テスカトリポカ系130の計算対応
  • 召喚石効果量の選択肢を追加 (90とか)

 

キャラLBサポート

キャラ毎に、LBによるステータス上昇分を入力可能になりました。

(キャラ毎に有効なLB種類の判定などはしていません)

特に属性加護・クリティカルについては、これまでは弄ることが不可能だった部分なので、どのLBを振るとどのくらい変化があるのかを確認するのに便利かと思います。

 

[入力前]

 

[入力後]

※ ユエルのみ技巧倍率が変化していることが分かります。

後述する「キャラダメージ表示の実装」と合わせて、LBによってどのくらいキャラのダメージが変化するのかの検討が(ある程度)つけられると思います。

 

オメガ激情計算

やりました。渾身はまだです。

 

キャラ毎のダメージ表示

今まで内部的な値として表示が不可能だったのですが、見えるようにしました。

上のボタンから「キャラ情報・スキル合計値 > キャラ予想ターン毎ダメージ」を選択すると表示されるようになります。

 

テスカトリポカ系130の計算対応

召喚石の種類を属性(種族数)かつ効果量130の場合に、バトルメンバー(キャラ欄の最初の3人まで)の種族数に応じて40, 60, 90, 130と変化するようになりました。

もちろん直接属性値を入力してもOKです。

@soufflex_さんのツイートを参考にさせて頂きました。

 

ひげのおっさんの銃の最終解放対応については、乱舞スキルの効果量が判明し次第実装致しますので、もう少々お待ち下さい。

また、入力データのファイル出力/ファイルからの入力については現在作業中なので、もう少々お待ち下さい。

 

最近結構グラブルやってるんですけど、アーカルムで手に入るSSRの量に比べてSR武器が全然足りなくて、SLv上げ用のSSR武器が余るという悲しい状態になってます。

それでは本年もお疲れ様でした。

VTKを出力するだけのC++ヘッダーライブラリを書いた

Xdmfを出力するライブラリを書いて使っていたのだが、階層構造を持つグリッド構造を表現できなくて死んだ。

正確に言うと、GridTypeをTreeにすれば階層化はできるのだが、それをOverlapしないように可視化できるソフトウェアが存在しなくて死んだ。

 

調べたらVTK形式ならいけることが判明したので、SimpleXdmfを流用してSimpleVTKというVTK出力用のライブラリを書いた。

github.com

 

調べたやつをまとめた記事はこれ。

qiita.com

qiita.com

 

 

キタ━━━━(゚∀゚)━━━━!!

Unity: サブカメラ画面を配置してワールドカメラと切り替え

最近Unityを使い始めたのでメモ代わりに記事を書いていきたいと思います。(クソゲーを作って一発当てるぞ!!!!)

gametukurikata.com

今回はカメラの切り替えの話です。
Unityでサブカメラを配置する場合、ViewportRectを小さくして任意の位置に配置することで可能です。


また複数カメラが存在する場合、カメラの描画順はDepthの値が小さいものから画面寄りに重ねられていきます。
naichilab.blogspot.jp

CameraコンポーネントのViewportRectの値はrectプロパティに、Depthはそのままdepthに格納されているので、
ワールドカメラと主観カメラを切り替えるといった動作を実現する場合、これを入れ替えてやればOKです。

サンプルはこんな感じ(subjectiveCameraのViewportRectの初期値は(0.7, 0.7, 0.3, 0.3)にしています)

public Camera mainCamera;
public Camera subjectiveCamera;
private bool isSubjectiveCameraOn = false;

void Update () {
    if (Input.GetKeyDown("v")) {
        CameraSwitcher();
    }
}

void CameraSwitcher() {
    if (isSubjectiveCameraOn) {
        isSubjectiveCameraOn = false;
        SwitchCameraProperty(subjectiveCamera, mainCamera);
    } else {
        isSubjectiveCameraOn = true;
        SwitchCameraProperty(mainCamera, subjectiveCamera);
    }
}

void SwitchCameraProperty(Camera currentMainCamera, Camera targetCamera) {
    currentMainCamera.depth = targetCamera.depth;
    currentMainCamera.rect = targetCamera.rect;
    targetCamera.rect = new Rect(0, 0, 1, 1);
    targetCamera.depth = -1;
}

rectを毎回newするより直接弄る方が少しコスト小かもしれません。
また、現在どちらのカメラが有効になっているかによって移動方法なども切り替えたいので、booleanで保持するようにしています。
実際の動作を見てみます。

こんな感じにワールドカメラと主観カメラを配置して、

動かします
youtu.be

いい感じですね。
一点、ワールドカメラをPlayerに追随させるために子要素として配置しているのですが、
回転がそのままになるため、カメラ切り替え時のワールドカメラの位置が次の切り替えまでそのまま保持されるような状態になっています。
このへんは好みで調整が必要になりそうです。

はい。

Xdmfを出力するヘッダーライブラリ

研究の方でデータ可視化用にXdmfを出力したくなったので書いた。

github.com

 

その過程でXdmfについて調べたものもQiitaにまとめた。

qiita.com

 

データ埋め込み以外にHDF5やバイナリもソースに指定できるし、

参照を持ったりFunctionを定義したりもできるのでかなり便利なイメージだが、

Face中心要素やEdge中心の要素を可視化してくれるソフトがないっぽいところが残念。

 

8/19 得意武器が抜けていたキャラを修正 & 奥義上限修正

得意武器が抜けていた、というより実装当時は不明だったキャラの得意武器が「無し」に設定されていたため、修正を行いました。

なぜ隠しパラメータだったんだろう。

あとはジークさんの得意武器に刀を追加しました。

 

影響があるのは以下のキャラです。

  • ジークフリート
  • ジークフリート(浴衣ver)
  • メドゥーサ
  • シャノワール
  • ヴァイト
  • ソシエ(火属性ver)
  • ロミオ
  • ユーステス(ハロウィンver)
  • イシュミール
  • ラスティナ
  • ベアトリクス(水着ver)
  • レフィーエさん(土属性ver)
  • スツルム
  • キャタピラとヴィーラ
  • ナーヴェ
  • ククル
  • ルシウス(火属性ver)
  • はおうまる
  • ナコルル

 

また、奥義減衰ラインを150/170/180/250万の40%/70%/95%/99%に変更しました。

こちらを参考にさせて頂きました。

450 * 4.5倍 / 防御5 = 405万の生ダメージに対して

(405 - 250) * 0.01 + (250 - 180) * 0.05 + (180 - 170) * 0.30 + (170 - 150) * 0.60 + 150 = 170.5

 

上限+15%をつけた場合

減衰ラインが172.5/195.5/207/287.5になるので、

(405 - 287.5) * 0.01 + (287.5 - 207) * 0.05 + (207 - 195.5) * 0.30 + (195.5 - 172.5) * 0.60 + 172.5 = 194.95

 

ちゃんと計算されてるっぽいですね!

ハイ!(ハイ!のスタンプ

 

いくつか報告されていたのですが、チェインバースト数を2以上に設定すると計算が行われなくなる不具合を修正しました。

併せて、チェインバーストダメージの減衰ラインも、チェイン数が4の場合は新上限ライン、3の場合は120/140/160/200万で計算されるようにしました。

3チェインの時のダメージが少し低い気がしていますので、検証情報をお持ちの方はお知らせ下さい。

8/17 EX攻刃守護(中)追加 & 武器追加 & 種族一覧に星晶獣追加

ほしみです。

 

本日のアップデートで、イカの項目を実装しました。

  • EX攻刃守護(中)を実装
    検証データが見当たらなかったので、wikiを信じてSlv10時に攻刃12%、守護15%としています。攻刃はEX攻刃(中)、守護はアンノウンVIT・IIの値と同じですね。詳細なデータがありましたら修正しますのでお知らせください。

  • 武器追加
    ローズクリスタル武器2とウーチンフィストを追加しました。

    f:id:hsimyu:20170817135458p:plain



  • 種族一覧に星晶獣追加
    テスカ用やリリィのサポアビの際に正しくカウントされるようになりました。また、キャラテンプレートも修正しました。
    古いバージョンのままユグドラシル等を追加するとエラーが出る場合がありますのでご注意下さい。

 

奥義上限関連、落ち着いたと思うので修正したいのですが、

正確そうな検証情報をお持ちの方がおりましたらコメント頂ければと思います。

それでは。