2019-01-01から1年間の記事一覧

より良いトランザクションスクリプトを目指す

ファウラーのエンタープライズアプリケーションアーキテクチャパターン(PofEAA)において、 ビジネスロジックのアーキテクチャにはドメインモデルかトランザクションスクリプトかという二択があります。 仮にプレイヤーの名前変更(ゲームでは可能なことも普通…

スマホゲームのサーバサイドアーキテクチャについてモヤモヤと考えていること

とりとめもなく書き散らかします。 テスタビリティ 真面目に単体テストを書く人がチームに入ったのでテスタビリティについて真面目に考えています。特にインゲームロジックについてはテストを組めるようにすることの価値が非常に大きいので、手間暇かけてテ…

Migrationやデザインタイムの挙動を別アセンブリに閉じ込める

「Migration用のコードがアプリ実行時に含まれるのが嫌だ。ツール実行時だけ存在すればいい」というニーズもごく普通にあろうかと思います。 EF Coreはそのあたりのオプションがちゃんと用意されています。大丈夫だ問題ない。が、結構わかりにくい挙動をしま…

シャドウプロパティ

シャドウプロパティは、エンティティclass側には存在しないがDBのテーブル側には存在する列を作る、使うための機能です。 public partial class Blog { public int Id { get; set; } public string Title { get; set; } public string Text { get; set; } } …

EntityFramework CoreでSELECTせずにUPDATEを行う

O/Rマッパーでデータの更新を行う場合は、 オブジェクトを取得して プロパティを変更して SaveChanges()を行う というのが普通です。 using(var context = new BlogDbContext()) { var blog = context.Blog.Find(1); blog.Title = "まだ〇〇で消耗しているの…

UIElementsの基本構造

UIElementsがいまいち使いにくい。もっと拡張性を上げられないものか…とおもってUIElementsのソースコードをいろいろ読み漁っていたら理解が深まってしまったのでメモとして残します。 読んでも「ふーん」と思うだけできっと役に立ちません。 VisualTreeAsse…

SRP Batcher良き良き

SRPを導入するならSRP Batcher使いたい! SRP Batcherの解説といえば公式Blog。充実した内容です。 blogs.unity3d.com Unity 2019.2からOpen GL ES 3.1もサポートし、幅広く使えるようになりました。 SRP Batcherは、Materialが切り替わってもShaderVariant…

ScriptableRenderPipelineの部品化とUniversalRP

先日の記事で素朴なUnlitのSRPを書きました。 enrike3.hatenablog.com 今回は、素朴なSRPとUniversalRPの間を埋めUniversalRPの構造を理解すべく、SRPの部品化を試みます。 最終的にはUniversalRPの下図の構造を理解できることが目標です。 我ながら配色のセ…

素朴なUnlitのScriptableRenderPipelineを自作する

Camera Stacking対応目前、ということでそろそろSRPの時代を感じています。 学習がてらに簡単なUnlitのパイプラインを作成してみました。 なお、以下を参考にしました。SRPDefaultUnlitとか良く見つけたなと思います。先人の知恵に感謝です。 learning.unity…

TaskとTaskCompletionSource<TResult>

「C#で非同期はとりあえずasyncなメソッドをawaitつけて呼んどきゃいい」 これだけではいけないコードを最近よく書いているので、 生のTaskやTaskCompletionSource<TResult>について書いてみることにしました。 なお、UniTaskにもUniTaskCompletionSourceがあるので、</tresult>…

表情差分の抽出と切り替え(Tightメッシュ対応編)

前回の記事で、 FullRectはフィル落とせないから微妙だなぁ、という結論を書いたのですが 表情差分を切り替えやすいメッシュを作りつつもTightメッシュ対応する方法を思いついたので実装してみました。 方法は結構簡単でして、 まず、表情差分領域を除外した…

表情差分の抽出と切り替え

2019/02/17追記 Tightメッシュにも対応しました ノベルパートでの立ち絵での表情の切り替え テラシュール御大でも何度かネタにされているあれです。 tsubakit1.hateblo.jp これについて、自分は「表情差分とそれ以外がちゃんと分かれたメッシュを作って顔の…

MessagePackのデータをUnityのTreeViewで表示する

MessagePack-CSharpは機能も性能も充実しているのでとにかく問答無用で使うわけですがJsonと違って中のデータを汎用エディタでさくっと覗けるわけではありません。 しかしマスタデータや、ユーザーの起動時ダウンロードデータなどをブレイクポイントをはって…