unity

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個の球が好き放題動き回っており、 …

スマホ向け3Dゲームにおける「とりあえず」のレンダリング設定

画像をクリックするとWebGLビルドに飛びます。 こんにちは。技術部平山です。 この記事は、スマホ向けに3Dゲームを作る際に 「とりあえず」やっておく描画設定について考えたり試したりしたことの記録です。 設定の項目は主に、 ライトマップ 影 ライトプロ…

ベクトルを3D空間で回す

画面写真をクリックするとWebGLビルドに飛びます。 ソースコードはgithubに置いてあります。 こんにちは。技術部平山です。 今日は、球面に点を散らす方法を使って、 3D空間でベクトルをいろんな方向に曲げてみます。 これができて初めて、「ビームが敵に当…

円や球面にランダムに点を散らしたい〜高校数学を使って分布関数を作る〜

画面写真をクリックするとWebGLビルドに飛びます。ソースコードはgithubに置いてあります。 こんにちは。技術部平山です。 今日は先日のビーム に関連したネタです。 ビームのサンプルではビームが敵に当たると火花が散りますが、 それぞれの火花が飛ぶ方向…

ビームやミサイルの追尾(ホーミング)計算

こんにちは。技術部平山です。 2019/06/25に4社合同のLT大会があったのですが、 お客さんがIT業界の方々ということで何を話していいかわからず、 たまたま趣味でやったことをそのまましゃべってしまいました。 今回の記事は、このデモの追尾計算に絞って説明…

デシベルのすすめ

画面写真をクリックするとWebGLビルドに飛びます。 こんにちは。技術部平山です。 今日は、デシベル(db)のお話です。どうでしょう?使い慣れてますか? 使い慣れている方は読む必要がないお話です。 Unity屋にとっての音量 Unity上で音量を調整しようとすれば…

スマホでデバグ用Httpサーバ(2) ファイル階層表示とその場編集

こんにちは。技術部平山です。 今回はhttpサーバをスマホで動かす記事の続編です。 テキストファイルをブラウザ上で編集できるようにし、 また、StreamingAssets以下のファイル階層を見られるようにしました。 テキストならその場で編集できますし、それ以外…

Raycasterを自作してデバグUIをUGUI非依存にしてみた

こんにちは。技術部平山です。 以前デバグUIのライブラリを作ったことについて書きました が、HoloLensで動かないことがわかり、改良しました。 前のコードに上書きしてありますが 、前回と違って実製品でのテストを経ていない上に、 以前とはインターフェイ…