アドベントカレンダーでもなんでもない記事 0日目です。 Unityで長らくゲーム開発をやっているけれど、Web界隈などで色々と発達しているアプリケーション設計パターンをおいそれと持ち込めば良いわけではないと感じているので、それについて考えてみようと思…
拙作の Unity用DIライブラリ、VContainer の v0.9.0 では、ILコードをコンパイル時に生成することによるメタプログラミングの高速化が足されました。 Unity用DIライブラリ VContainer の 0.9.0 を撒きました。コンパイル時IL生成による高速化機能をマージし…
先々々週 あたり、Unity(ゲームエンジン)で使える 自作DIライブラリを公開しました。 github.com 高速でコードサイズが小さく、GCゴミが少ないところが特徴です。 Zenjectと比較すると、ZenjectがDIの宣言によってあらゆることをコントロールしようとしてい…
github.com Unity (ゲームエンジン) で動作する自作DIライブラリを公開しました。 特徴は、 速くて薄くて軽い GCゴミがとても少ない コードファーストでスコープを切れる機能 (Autofac の影響) MonoBehaviourに依存しないカスタムクラスをUnityのライフサイ…
Unity の UniversalRP でオブジェクトの エッジを検出して描画するパスを追加する行為をやってみた。 エッジ検出できた- #madewithunity pic.twitter.com/LmP0QHTuC6— ハダシA (@hadashiA) 2020年1月8日 ポストエフェクト的な、各ピクセルごとに輪郭かどうか…
こんにちは。 お久しぶりの投稿です。 最近、ひとりでつくっているゲームの内容が少しずつかたまってきたので、実験してみたことや没案などの紹介をたまに試みようと思います。 今回は、Unityで UI をメタボール化し やわらか形状にする方法を紹介してみよう…
今年遭遇した、気づかないうちに嵌ってしまったUnityのパフォーマンス上の落とし穴を振り返っています。 part 2 です。 part 1 はこちら 今回は主に、Unity 独自の c# 実行環境である IL2CPP と、 Unityエンジン部分の c# の API についての経験談を書いてみ…
今年、Unty製プロジェクトのパフォーマンス改善をやる機会があったんですが、世の中のかっこいい事例に出てくるような、ハードウェアやVM/コンパイラの気持ちになったミクロなチューニング、フレームワークの制限を回避するための大胆な再実装…… そういうか…
Unity(ゲームエンジン)とGoogle が パートナーシップを結んだぜ、みたいなニュースが記憶に新しいですが、 先月末くらいに、彼らのオンライン対戦FPSのサンプルコードについての詳しい解説動画が上がってました。 FPS Sample Game Workflows | Unity ちな…
「コンピュータジオメトリ」という書籍を参考にして、これに載ってるドロネー三角形分割のやりかたを実装してみた。 この本は、幾何アルゴリズムの「証明」や、計算量の解析が載っていて、しかも日本語で書かれているという徳の高い本。 理論どおりの計算量…
なんやかんやあって、ずっとやっていたWebサービス開発から、オンラインゲーム開発に仕事を変えた。 最近は、なんとか呼吸できるくらいには慣れてきたかなって思って気がついたら2年くらい経っていた気がする。 結局ソフトウェア開発だから、そこだけ聞くと…
c# でサーバを書くのおすすめです。処理の並列化がとてもやりやすいです。 golangが登場したとき、小さなコード辺をスレッドを意識せずに投げまくれる上、タイマーやI/Oをスレッドをブロックせずに使える、そんなお手頃価格な並列処理に注目が集まっていたよ…
最近、ごく基本的なの曲線のアルゴリズムを実装したりしてる。 キャットムル-ロム スプライン(Catmull-Rom Spline)ていうアルゴリズムは、制御点を必ず通るという特徴があるので、絵を生成するような用途だととても使いやすい。しかも実装が簡単。 最近、こ…
実験的に、Unityにmrubyを組み込んで使ってみてる。 基本的には Unity内のコードは全て c# で書くわけだけど、ゲームの基盤部分もすべてc#で書くだけに、それとは別に、ゲームのコンテンツ部分だけを集中して記述できる分離された薄いレイヤがあると便利だ、…
Optimizing graphics rendering in Unity games のメモ https://unity3d.com/jp/learn/tutorials/temas/performance-optimization/optimizing-graphics-rendering-unity-games?playlist=44069 Unity 描画パイプライン 毎フレーム、CPUは以下を実行する 1. シ…
前回 に続き、担当してたアプリについて考えていたこと書き記してる。 とくに RxSwift がなぜ良いのか? ということは、説明がすこしむつかしいので、すこし丁寧に書くチャレンジをしてみている。冒頭のところ公開してみる。 -- Rxは何を解決できるか? クラ…
理由あって、仕事でやっていたiOSアプリの開発を抜けることになった。 新しい担当者は、いつかあちこち変更したい気持ちになと思うので、もちろんどんどんやってもらって構わないけど、変更していいのか確信に至れなかったときのため、現状なぜこうなってい…
仕事でやってるブラウザjsのビルドには、長らくbrowserifyを使っていましたが、さいきんrollupに乗り換えました。 module bundler ツールたち browserify、rollup、どちらも主眼に置いているのは、モジュール分割して書いたソースコードの依存解決です。必要…
Rustがかなりかっこいいのですこし触っています。 Rust はまるで、めちゃめちゃ易しくなったc++かのようです。メモリリークやその他の危険が扱いやすくなったし、シンタックスも今風だ。関数型言語由来のパターンマッチやOptional/Eitherのエラー処理などす…
最近、標準のDOM APIは別に悪くない、と考えるようになった。 そう考えて劇的に何か変わるかというと、現時点ではライブラリを使うことに慎重になるという気分的なものかもしれない。 気分が変わった結果として、僕は直近のプロジェクトのごくふつうのWebペ…
vimeo.com Unityのすばらしいところの1つはやっぱりエディタ。なにせ、Sceneビュー上でコンパイルせずに変数の値をいじることができるし、実行中ですらできる。 ゲームとか、インタラクティブな何かをつくっている最中は、実際に動いてるようすを見ないと良…
vimeo.com スワイプして慣性スクロール ゴム的な反発 ピンチして拡大/縮小 ゴム的な反発 を自前で書いた。そこそこ似てる感じにできた。 github.com
Observableみたいなものはとてもシンプルなつくりではあるのですが、それでもRxの亜種ではなく、元祖Rxを使うメリットはたいへん大きくて、主な理由はSchedulerやDisposableのような強力な部品があるからです。これらの部品たちは、他言語をまたいで同じ概念…
RxSwiftをちょっとずつ読んでる。最初はちょっと継承構造が激しい印象を受けたけど、基本的に関数型のワードに疎い自分でもとても読みやすいです。 Rxの不思議を理解していくと、アプリケーション内の別のパラダイムと仲良くする方法を考えるときのヒントに…
Rxは、すごくUIを書くのに向いているのではないだろうか。アプリケーションの状態を山盛りの変数で管理することから解放され、状態から状態へ変換する関数を書けばよくなるから。 非同期処理を同期っぽく書きたいならawait でいいじゃん。UIイベントを宣言的…
brew update と打つと、ほどよく時間がかかり、ほどよく字がいっぱい出るし、ほどよくアップデートした気持ちになるから、やる気がしないときによく打ってる。
javascript がブラウザ上ではしりだしたとき、自分のコードは画面になにが表示されているのか何も知らなくて、document.getElement* だとか querySelector や $ とかをしてまず検索してとってきてはじめてわかる。javascriptで画面をいじるときはまず検索。…