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

C87 / exception reboot

冬コミ参加します。3日目西え25a。 Unity で exception の続編的ゲームを作ろう、という実験も兼ねた挑戦をやっていて、その経過の作品になります。またしても体験版です…。 100 円、いつも通りソースコードも同梱します。また、Direct3D11 が使える GPU が…

render massive amount of cubes in Unity (2)

以前 検証した Unity で大量の cube を描く方法の続きです。あれからまたいくつか検証を重ねてきたのでまとめておこうと思います。まず前提として、今回解説する方法は全て Graphics.DrawProcedual() を使うアプローチです。以前の記事を書いた時点では気づ…

Temporal Screen Space Reflections

Temporal Screen Space Reflection以前諦めた真面目なスクリーンスペース反射の実装に再挑戦して、今回は割といい成果を出せました。 この成果に至る過程が長く苦しくもおもしろかったので書き残しておこうと思います。スクリーンスペース反射はその名の通り…

Unity-Chan "Candy Rock Star"

以前の記事で触れたユニティちゃんライブステージが、ようやくプロジェクトデータが公開されました。是非手元で動かしてみてください。 https://github.com/unity3d-jp/unitychan-crsこれに合わせて、ステージの床のシェーダのメイキングを書きました。 例に…

introduction to mono

mono の API を使って C++ から直接 Unity の C# のオブジェクトを触る、という実験を最近やっていたので、その成果を書き残しておきます。 mono を使うことで pinning や marshalling などの余計な処理を介さず C# と C++ を連携させよう、という趣旨です。…

CEDEC 2014 & C86

CEDEC 2014 で "Live Coding in C++" と題して講演を行いました。以前の予告の通り、この blog に書いてきたことをまとめた内容になっています。上はその発表資料です。予想に反して聴講しに来てくれた方は多く、この領域の情報を求めていた人まだこんなにい…

deferred shading in Unity

Unity は標準で deferred rendering をサポートしていますが、これは light pre-pass とか deferred lighting と呼ばれるもので、deferred shading とはちょっと違います。私が必要としているのは deferred shading の方なので、これを Unity で実装してみま…

render massive amount of cubes in Unity

MassParticle パーティクルエンジンを Unity のプラグインとして再実装しています。 まだまだ発展途上ではあるものの、そこそこの物量と速度と使い勝手を両立できる目処が立ってきたので、いずれ Asset Store で公開しようと考えています。ソースに関しては…

CEDEC 2014 / Status Report

CEDEC 2014 で喋ることになりました。 Live Coding in C++ ここ 1 年くらい趣味でやってた活動をまとめたような内容にする予定で、実行時 C++ 編集ネタとプロセスの状態保存/復元の 2 つが主なトピックになります。タイトルから推測できる通り、色んな黒魔術…

shinjuku in the blizzard

2/8、雪があんまり綺麗だったもんで吹雪の中カメラを手に外を彷徨っていました。場所は主に哲学堂公園周辺。 雪で普段見てる景色が様変わりしたときとか旅先で綺麗な景色を目にした時とかの、まぎれもなく現実なんだけど現実感が感じられない感じがたまらな…

restore process state

プロセスの内部状態を保存して後で復元したい、ということがゲーム開発ではよくあります (いわゆる state save)。チェックポイントから再開みたいな機能の実現の他、あると開発中何かと役に立ちます。定期的に state save しつつ、気になったところがあった…

get function by filename and line number

Alcantarea を実装するにあたって、更新する関数を最小限にするため、Visual Studio のテキストエディタの現在位置の関数を取得してその関数だけを更新する必要がありました。この ファイル名と行番号からその位置の関数を取得する という処理が無駄に奥深か…