unity

平均FPSを楽に近似する

こんにちは。技術部平山です。 画像をクリックするとサンプルのwebGL実装に飛びます。 この記事では、ゲーム等々で平均のFPS(あるいはフレーム所要時間)を楽に近似する方法についての 思いつきを書きます。 思いつきですし、元々そんなに大変でもないことな…

お気楽にジャギーを減らす全画面アンチエイリアス

画像をクリックするとサンプルのwebgl実装に飛びます(safariはダメみたいです)。 こんにちは。技術部平山です。 今回は、Unityで使えるアンチエイリアス手法について調べて整理してみました。 ここで言う「アンチエイリアス」は、画面に出るギザギザ(英語でj…

アセット参照関係を全部書き出す

こんにちは。技術部平山です。 今日は「あるアセットはどのアセットから参照されているか」 「このアセットをロードすると、何が一緒にロードされるのか」 といったことがわかるツールのお話をいたします。 基本「とりあえず今やりたいことができればいいや…

入れ子(ネスト)になったプレハブのサイズについて

こんにちは。技術部平山です。 入れ子になったプレハブは、ビルド時に入れ子が全部展開されてるっぽい、というのがこの記事の結論です。 あと追加でParticleSystemを使うとデータがデカいということもお伝えしておこうと思います。 なお、2018.4.6及び2018.4…

運用中プロジェクトをUnity2017からUnity2018にUpgradeした時の話

表題の通り、Unity2017.4→2018.4にアップデートした時のハマった点や、普段アップデートする時に意識してる事などを紹介できればなといった感じです。 Unityのアップデート作業を初めてやる方や、あと来年2017から2018へ移行する稀有な運命の方がググった時…

チーフエンジニアとして一年間、仕事してみた話

こんにちは!ゲーム事業部、技術部所属の須藤(@p_chin)です!o(`ω´ )o 来年4月で新卒入社してもう7年が経ちます...年を感じます。 先日入った謎のベトナム料理店で『大学生かと思った』と言われたのでまだ大丈夫かもしれませんが、年をとった大学生も世に…

WebブラウザとUnityをfirebaseで連携させたインタラクティブコンテンツ

~ この記事はKAYAC Advent Calendar 2019の20日目の記事です。~ こんにちは。CL技術部の深澤です。新卒で入社して5年目になります。( 深澤 匠 | 面白法人カヤック ) 3年ほどWebフロントエンドに従事して主にWebGL案件に携わったのち、最近はUnityやUnrealE…

Unityで80年代風を表現してみる

80年代風作例。ユニティちゃんモデル及びシェーダーを使っています。© UTJ/UCL こんにちは! CL事業部の原です。 この記事は Tech KAYAC Advent Calendar 2019 の13日目です。 今回はUnityで80年代風を表現するということにチャレンジしてみました。 80年代風…

新卒エンジニアがCAFU v2を触ってみた

この記事はTech KAYAC Advent Calendar 2019の5日目の記事です。こんにちは。カヤック オルタナティ部の藤澤覚司です。 普段はUnityエンジニアをやったり、広島カープの布教活動に日々勤しんでいます。今回はUnityでClean Architectureを適用させる方法につ…

低価格スマホでコンピュートシェーダ

この記事はTech KAYAC Advent Calendar 2019の2日目の記事です。 こんにちは。技術部平山です。 この記事では、「低価格帯の機械で状況を良くするためにコンピュートシェーダが使えないか?」 という考えを、簡単なサンプルで検証してみました。 結論 最初に…

「デカいテクスチャはどれだ?」テクスチャのリストを吐いてみる

こんにちは。技術部平山です。 今回は小ネタです。プロジェクト内のテクスチャを見て、 5592405 1024x1024 RGB24 mips=11 faces=1 readable=False AssetStore/[検閲]/texture/body-blue.psd 5592405 1024x1024 RGB24 mips=11 faces=1 readable=False AssetSt…

ADBでAndroid機の解像度を変える方法と、その用途

こんにちは。技術部平山です。 今日は、 adb shell wm size 360x640 で、usbでつながったAndroid機の解像度を360x640にできる、というだけの話題です。 この記事の残りは、「なんでそんなことがうれしいか」という話であり、 情報自体は「ADB 解像度」で検索…

UnloadUnusedAssets()って必要なの?

こんにちは。技術部平山です。 今回はUnityのResources.UnloadUnusedAssets()について書きます。 結論は 「呼ばないといけないっぽいので呼ぼう。頻度はいい感じで」 という何ら面白味のないものですので、そこに至る経緯に興味がある方のみお読みください。…

C#のConditionalAttributeの条件をandやorしたい

こんにちは。技術部平山です。 今回は図もサンプルもない地味な小ネタです。C#の言語機能の話なのでUnityに限りませんが、 Unity屋にわかりやすいサンプルになっています。 なお、同じことに関する記事があるので英語で良い方はそちらをご覧ください。 結論 …

ComputeShaderで追尾GPGPU-Particle

はじめに 技術部に5日間のインターンに参加させていただいた高石です。 この記事ではその期間に実装した追尾機能を搭載したParticleシステム についてこの記事ではまとめます。また平山さんが書かれていた記事を参考にJobSystemで並列化されていた部分をComp…

UnityのDebug.Logの負荷とコールスタックの深さ

こんにちは。技術部平山です。 Debug.Logにかかる時間が コールスタックの深さに影響される、というお話で、結論はそれで全てです。 深い所でDebug.Logすると重くなります。 大した話ではないので、ヒマでない方は読む必要はありません。 何この重さ?尋常じ…

物理シミュレーションで紙吹雪エフェクトを作ってみた

画面をクリックするとwebGLサンプルに飛びます。動画もあります。 こんにちは。技術部平山です。 最近たまたま紙吹雪っぽいエフェクトを作る機会があったので、これを、 「これまで書いてきた基本的な技法を組み合わせる応用例」という位置付けで紹介しよう…

(アーティストさんへ)LDRなブルームの注意点、そしてHDRとLDRについて

こんにちは。技術部平山です。 以前LDR(Low Dynamic Range)なブルームエフェクトについて書きましたが、 今回はLDRでブルームをやる時に起こる問題点について、アーティストさん向けに書いてみます。 結論から言うと、「後から足すのはそう簡単じゃない」と…

UnityEditorからスマホに直転送して確認したい

こんにちは。技術部平山です。 今回は、スマホでhttpサーバを動かした話 の続編でして、UnityEditorから直接スマホにデータを送って即確認する仕組みのお話です。 コードはgithubに全て置いてありますが、まだ実製品の開発には投入しておりません。 現状はプ…

Unityで画素密度を固定する解像度設定(FixedDPI)

こんにちは。技術部平山です。 今回は小ネタで、サンプルもありません。ビルドの解像度設定についてです。 スクリーンショットにあるように、PlayerSettingsのResolution and Presentation の項に、Resolution Scalingというものがあり、 Resolution Scaling…

スキニングを使ってインスタンシングのような大量描画

画面写真をクリックするとWebGLビルドに飛びます。 こんにちは。技術部平山です。 今回はスキニングを使って同じものをたくさん出す処理について書きます。 上の画面写真では立方体がたくさん(2000個くらい)出てますが、 シーンにSkinnedMeshRendererが一つ…

メッシュを.objにしてUnityから出す

画面写真をクリックするとサンプルのWebGLビルドに飛びます。が、本題の「アセットにする」部分は エディタでしか動かないので、あまり意味はありません。 こんにちは。技術部平山です。 今回は、MeshをUnity外に持ち出せる形(.obj)で保存するお話をします。…

クォータニオンを使った、トラックボール風カメラ制御

画面写真をクリックするとサンプルのWebGLビルドに飛びます。 こんにちは。技術部平山です。 今回は、トラックボール 状のものを操作してカメラを動かす機能を作ってみました。 上のサンプルを触ってみてください。 右上の球をトラックボールだと思って回し…

地味にヤバい、シェーダ変数の精度について

画面写真をクリックするとサンプルのWebGLビルドに飛びます。 こんにちは。技術部平山です。 今日はシェーダでの精度指定について、地味なお話をいたします。 詳しいことに興味がなければ、 非常に簡潔にまとめられた記事 をLIGHT11さんが書いてらっしゃいま…

スマホ実機でサウンドのスペクトル解析を見たい

こんにちは。技術部平山です。 今回は小ネタで、実機上にサウンドのスペクトル解析を表示するツールを作りました。 ソースコードはgithubに置いてあり、 持っていってテキトーなgameObjectにつければ動きます。 ImageやTextと同様、 UnityEngine.UI.Graphic …

高さの影響を受けるフォグ 〜「低い所にガスが溜まってる」感を出す〜

画面写真をクリックするとWebGLビルドに飛びます。 こんにちは。技術部平山です。 今回は「高さ方向に変化があるフォグ」について扱います。 Unityに標準では入っていない奴で、 「地面付近に水蒸気が溜まってる感」とか「毒の沼地から怪しい霧が立ち登って…

Unityで音にフィルタをかける

こんにちは。技術部平山です。 今日は実行時に音にフィルタをかけることで、 元々のデータをゲームの状況に合わせて変化させる方法について書きます。 私も実際の製品でフィルタを活用して作り込んだ経験まではないので、 初歩的なことしか書けませんが、 皆…

好き好き対数正規分布

動画をクリックするとWebGLビルドに飛びます。 今回のサンプルコードもgithubに置いておきましたが 、あまり役には立たないと思います。 こんにちは。技術部平山です。 今回は軽いお話です。 対数正規分布 をご紹介します。 動機 前回の記事では、 ランダム…

Unityアプリを無差別タップで自動テストする

画面写真をクリックするとWebGLビルドに飛びます。ソースコードはGitHubに置いてあります。かつて製品で使ったものに著しい拡張を施した直後なため、 まだ実戦経験が浅いコードです。バグがあったら教えていただけると助かります。 こんにちは。技術部平山で…

3Dゲームで丁度よく画面に収めたい!自動で!

動画をクリックするとWebGLビルドに飛びます。 また、ソースコードはgithubに置いてあります。 こんにちは。技術部平山です。 今回は、3D空間にある物をいい具合に画面に収めるための計算について説明します。 動画では16個の球が好き放題動き回っており、 …