imog

主にUnityとかの事を書いています

Unity

Unity LoggingでSinkを自作する

概要 2/29日にUnityプログラミング・バイブル R6号が出ます。 この本でUnity Loggingの使い方について執筆させていただきました。ぜひみんな買ってね。 Unityプログラミング・バイブル R6号 この本ではUnity Loggingについて執筆していましたが、ページ数の…

ZenjectからVContainerに移行する際に気をつけること

ニッチすぎる小ネタです。 DIライブラリのリプレースなので基本的にはそんなに手間ではないですが、微妙に思想の違いがあるのでちょっとだけ気をつけようねというお話。 基本的な移行の流れ SceneContext → LifetimeScopeに乗り換える Installerのコードを見…

UnityでTDDハンズオンRepositoryを作っている

最近更新したのでちょっと宣伝。 github.com なにこれ 最近、副業だったりプライベートなどでUnityを使う人でテストに興味ある方を対象にTDDについてお話する活動などをしています。その際に座学としてお話することもあれば、ハンズオン形式で実際に手を動か…

東方ゲームジャム2021でゲーム作った

去年に続き今年も参加しました。 touhou-gamejam.web.app 割とガチめの全方位型STGです。全国ランキングもあるのでぜひ遊んでみてくださいな。 ゲームができるまで せっかくなので、元々どういうゲームを考えていて、どういうふうに変わっていったのかをメモ…

UnityでTDDハンズオンしたお話

Unityゲーム開発者ギルド2 Advent Calendar 2020 24日目のエントリです。2時間オーバーしちゃったごめんなさい adventar.org 今月の頭くらいにUnityゲーム開発者ギルドの人たちを対象にTDDハンズオンをやってみました。 何故やったのか TDDというのはなんと…

Zenjectを使うときに気を付けていること

このエントリはUnity Advent Calendar 20194日目のやつです。 Zenjectは便利ですが、実際に扱っている人の知見やtipsがまだまだ世に出回ってない印象です。APIの使用方法も欲しいですが実際に使ってる人たちがどういうお気持ちで使っているのかというのはど…

技術書典7でZenjectチョットワカルBookを頒布します

9/22の技術書典7にて、Zenjectについてつらつら書いた「ZenjectチョットワカルBook」というのを頒布します。ページは以下。 techbookfest.org また、電子版もboothで同日から公開します。 e-f-b.booth.pm 会場では物理本を1000円で頒布します。かんたん後払…

Extenject(Zenject)のTestがNSubstituteをサポートしていた

割と最近の出来事だった github.com 元々Zenjectはテスト時のモックライブラリとしてMoqを採用していたんだけど、このPRでまた別のモックライブラリであるNSubstituteを使えるようになった。選択肢が増えたのだった。 Moq github.com NSubstitute nsubstitut…

ZenjectのConstructionMethodたち

ZenjectでBindするとき、そのインスタンスをどのように用意するかという設定が必要です。その場で初期化するのか、既存のインスタンスを引っ張ってくるのかなど。これらはコンストラクションメソッドと呼ばれており、READMEに全部書かれています。 github.co…

Zenject Factoryの話

はじめに このエントリはUNIBOOK10で書いた記事を転載したものです。 unity-bu.booth.pm UNIBOOK10、いい話がいっぱいあるから買ってね! Zenject Factory ZenjectはUnityで動作するDIライブラリです。煩わしい依存関係の解決を助ける非常に強力な武器となり…

Zenject Decorator Binding

ZenjectにはDecoratorパターンをサポートするDecorator Bindingなる機能があったりします。あんまりメインで使うような機能ではありませんが覚えておくと便利かもしれません。 github.com Decorator パターン DecoratorパターンはGoFで定義されてるデザイン…

InjectとInjectLocal attribute

Zenjectのソース読んでたらInjectLocalというAttributeが内部にあったのでなんだろうと調べたメモ。実用的なやつではない。 どのContainerからInjectされるのか そもそも、Bindされたオブジェクトはどこから依存しているオブジェクトをもらえるのでしょう。…

【年末だよ】Unity お・と・なのLT大会 2018」でLTしてきた

ポロリはしませんでした。 meetup.unity3d.jp 毎年年末に酒を飲みながらLTするイベントが行われているということでプレモル3杯目を飲みながらLTしてきた。 発表内容 発表資料はこちらでございます。 speakerdeck.com ZenjectにはOptionalExtrasと呼ばれる便…

Zenject Signals

本記事は Unity Advent Calendar 2018 の 13日目 の記事です。 qiita.com 普段Zenjectを趣味で使っているのですが、Zenjectは基本的なDIContainer機能の他に、ちょっとDIから離れた便利機能をいくつか提供しています。MemoryPool TestFrameWork Reflection B…

開発方針についての文書を書いていた

色々決めごとをするときは社内にissueなりwikiなり残すのですが、これは外に公開してもいいんじゃない?と思ったので公開します。 今回は「開発方針について」です。 目的 クライアントアウトゲーム全体の開発方法、指針を把握する あとから参加した人もスム…

コードレビューについての文書を書いていた

色々決めごとをするときは社内にissueなりwikiなり残すのですが、これは外に公開してもいいんじゃない?と思ったので公開します。 今回は「コードレビューの導入する」というやつです なぜコードレビューをするのか 大きく二つの効果があると思っています コ…

テストコードについての文書を書いていた

色々決めごとをするときは社内にissueなりwikiなり残すのですが、これは外に公開してもいいんじゃない?と思ったので公開します。 今回は「Unityにテストコードを導入する」ときの文書です なぜテストコードを導入するのか 往々にしてプロダクトの要件は常に…

UnityのInspectorはDataStoreの一種かなと思った

ふと思ったのでメモ やっぱりInspectorもDataStoreの一種だよなあと思う今日この頃— いも@EFB~相手は死ぬ~ (@adarapata) 2018年2月14日 今趣味で作ってるゲームはMVPで書いてるけど、ModelにDataStoreの概念があります。 public interface IDataStore<TEntity> : wher</tentity>…

お産合宿11でゲーム作った

ペパボでは毎年お産合宿という創り出す系の合宿イベントをやっています。 今年はSUZURANというチーム名で参加してきました。僕はイーグルです。 osan.pepabo.com 僕は今までアクションゲームばかりでRPGを作ったことが無かったので、やってみたいなという気…

UNIBOOK8の執筆に参加しました

夏コミ1日目、Unity部によるUnityのためのUnityの本、UNIBOOK8が頒布されます。 www.unity-bu.com もともと気になってはいましたが、今回ご縁があって僕も参加させていただきました。僕はマルチシーンの活用方法について書いてます。この章は、技術的なtips…

Unity1週間ゲームジャムに参加した

これ Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう 最近小さいやつも作ってなかったのでリハビリにやってみた。 結果、寿司が跳ねる奴が生まれた。 はねすし | ゲーム投稿サイト unityroom - Unityの…

Unityで3D横スクロールの挙動を考える

Unityで3D横スクロールの挙動を作る これはpepabo Advent Calendar 2016 - Qiitaの15日目の記事です。 昨日は id:yutokyokutyo の コードレビューするのが怖いと思っていたエンジニアが半年間コードレビューを経験して思った 10 のことでした。 ところでみな…

Unityでシーンをキャッシュする仕組み

2時間遅れの公開になります。遅れてしまった・・。 こちらはUnityアドベントカレンダー、12/5の記事です。 qiita.com 前回は凹さんの「Unity で Windows のデスクトップ画面をテクスチャとして表示するプラグインを作ってみた」でした。 tips.hecomi.com シ…

UnityFukuoka12をやりました、発表しました。

5月くらいに11をやったので半年ぶり。 atnd.org 僕の発表はこちら speakerdeck.com 主に、マルチシーンを使うと便利だぞという話と、Prefabでの管理をSceneにできないかという話。 以下、スライドの補足。 今回なんでマルチシーンをテーマにしたかというとし…

ArborでUniRxを使いやすくするArborRxを作った

ということでArborRxというアセットをgithubに公開しました。 github.com Arborとは ケットシーウェアさんがアセットストアで販売しているアセットです。 https://www.assetstore.unity3d.com/jp/#!/content/47081 GUIで状態遷移を簡単に実装できるのが特徴…

第43回 八時間耐久作品制作会(仮) に行ってきた

(仮)までが正式名称 atnd.org 今回もゆったりとした雰囲気だった。 自分は前回から機能のパッケージ化が面白くなってきたので、今回も小さい機能を作っていた。 できたのがこちら。ミッコと呼びます。 github.com Mikko is Mikkoは、プラットフォームを気に…

Unityでシンプルなポップアップを実装する

スマホゲーとかでよく出るやつを作ってみた。 github.com 最近だと横からニュッと出るやつとか下からシュッと出るやつとかあるけど、今回は昔からあるダイアログ形式のやつを実装してみた。 まずは、シンプルに任意の時間でオブジェクトを拡大縮小させるTwee…

UnityWebRequestについてちょっと調べてみた

この記事はUnity 2 Advent Calendar 2015のエントリです。 UnityWebRequest UnityWebRequestとはWWWに変わる新しいHTTP通信用のクラスである。 docs.unity3d.com 名前空間にExperimentalが含まれている通り、まだ実験的な機能なので今後も仕様が変更されてい…

UniRX使ってOnRaycast的な処理を書く

小ネタ OnTriggerEnterとかそういう感じで、レイにぶつかった瞬間、ぶつかっている間、レイから離れた瞬間を検知したいなという気持ち。 一案としてこのような感じ using UnityEngine; using System.Collections; using UniRx; using UniRx.Triggers; using …

ArborのStateBehaviourを継承してUniRXを少し使いやすくする

無料期間中にArbor: State Diagram Editorを入手しました。 Arbor: State Diagram Editor | ケットシーウェアcaitsithware.com 毎回statemachineを自前で書いてて面倒だと思ってたのでこれはありがたい。 昨日から触り始めているけど、特別引っかかることも…