unity

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

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

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

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

デシベルのすすめ

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

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

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

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

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

スマホ実機でデバグ用のhttpサーバを動かしてみる

こんにちは。技術部平山です。 この記事では、スマホ実機でhttpサーバを動かしてPCその他のブラウザ からアクセスできるようにことで、 開発を効率化できる可能性について考えます。 ただし、今のところ大規模製品への実戦投入はしておりません。 あくまでサ…

AudioClipなしで音が鳴る動的波形生成

こんにちは。技術部平山です。 今日は、Unityで実行時に音声波形を作って鳴らしてみました。 残念ながら99.9%趣味です。 楽曲や効果音は事前に作ったものを鳴らすのが普通で、 CPUで波形を生成しながら音を鳴らす、なんていうことはまずないと思います。 な…

CGの遠近感をシェーダで変えてみる

こんにちは。技術部平山です。 今日は、10年くらい前から「製品で使ってみたい」と思いつつ、 未だに使えずにいる処理についてお話させてください。 CGの遠近感をシェーダで変えてみました。 コードはgithubにサンプルプロジェクトの形で置いてあります。動…

GLES2な低価格スマホでもブルームエフェクトしたい

こんにちは。技術部平山です。 この記事では、スマホでブルームエフェクトを実装したことについてお話します。 コードはgithubに置いてあり、 便宜のためにunityPackageも用意してみましたが、 まだ実戦投入しておりません。あくまでもサンプルとお考えくだ…

アセットバンドルの不満をなんぼか軽減するライブラリを作ってみた

こんにちは。技術部平山です。 もうすぐAddressable Asset Systemなるものが出て、 AssetBundle関連の問題が何もかもが解決するように言われている昨今ですが、 いろいろありまして待っていられないので、自分で作ってみました。 コードはテストプロジェクト…

AssetBundleとアプリ本体のアセット重複を防ぎたい

こんにちは。技術部平山です。 今日は、「アセットバンドルに入れる素材をアプリ本体のプレハブから参照しっぱなしじゃないかー」 という事故を削減するためのツールをご紹介します。 コードはGithubに置いてあります(AssetReferenceFinder.cs)。 そのままで…

連結リスト(LinkedList)の使い所

こんにちは。技術部平山です。 今回は地味ネタです。図すらありません。 私は一年に何回か、連結リスト(線形リスト、とも) を使いたくなる時があります。 基本的なデータ構造として教科書には必ず載っていますが、 その割に使っている方が少ない印象を受けま…

どのDownloadHandlerでAssetBundleをダウンロードして保存するのが速い?

この記事では、 アセットバンドルのダウンロードと保存をどのDownloadHandlerでやるのが速いか、 ということについて 技術部平山が書いてみます。 最初にお断りしておきますが、まだ独自研究の域を出ません。 今回も プログラムはgithubに置いておりますが …

Unityでスレッドから乱数を使いたくなった時に気になったこと

ここでは、UnityEngine.Randomを使えば99.9%解決するような話題について、 技術部平山が趣味で書いてみようと思います。 サンプルコードはgithubに置いてあります。 なお、マルチスレッドはあくまできっかけであり、本記事にスレッドの話はありません。 ただ…

Unityのデバグ作業をSlackで効率化する

この記事では弊社東京プリズンでの Slackを使ったデバグ支援について、技術部平山が紹介いたします。 上の画像は今回のために作った 仮のワークスペースのスクリーンショットです。 以下のようなものがUnity側から投稿されていることがわかります。 「スニペ…

輝度+色差でテクスチャ圧縮(YUVあるいはYCbCr)

こんにちは。技術部平山です。 今回は以前書いたインデクスカラー画像に関する記事、及び、 16bitカラー画像に関する記事の続編です。 今回はRGBを「輝度」と「色差」に変換してから圧縮する技法を紹介します。特徴は、 GLES2で出せる そこそこ良好な画質 不…

16ビットカラー再考

こんにちは。技術部平山です。 以前インデクスカラー(パレット)について記事を書きましたが、 さらに原始的な圧縮である16bitカラー化についても記事にしようと思います。 ETC2やASTCによって使用頻度が激減しているというのになんで今更?と自分でも思います…

Unityでコンパイル時間を可視化する

Unityでゲームを動かしてみるのに、ビルドを待つ必要はありません。 ソースコードのコンパイルさえ済めば、すぐに動かしてみることができます。 しかし、この時間でさえも、コード量が増えていけば耐え難いものになるのです。 この記事では、技術部平山が、 …

Unityの複数解像度SafeArea対応で楽をするためには

モバイル向け開発は機械が様々です。 解像度は様々、アスペクト比も様々です。 最近は一部画面が欠けていて、ある範囲(SafeArea)に収めないと映ること保証しないよ、 という機械まで出てきました。 さて、これにどう対応するのが楽か? 技術部平山が、 弊社東…

補間関数で作るアニメーション

プログラムで動きを作ることは結構あります。 操作せずに観賞するアニメーションであれば、 アーティストが作る方がいい出来になると思うのですが、 操作によって介入があるアニメーション 場所や大きさ、速度、数などがゲームの状況に応じて変化するアニメ…

Unityで2D世界と3D世界を行き来するエフェクトをつくる

この記事では、上記動画のように、3D世界にいるキャラクターと、画面の上端と下端に貼りつけてある2Dの UIの間でエフェクトの行き来をする方法について、技術部平山が書いてみます。 実行可能なサンプルをwebに置いてありますので、 実行して動かしてみると…

AfterEffectsで作ったものをUnity用に(半)自動変換する

ここでは、AfterEffectsにて作成したアニメーションをどうUnityで再生するか? について技術部平山が書いてみます。 コードは実際の製品で使っているものを、ほぼそのままgithubに公開しておりますが、 あくまでサンプルとお考えください。作った人間にしかわ…

インデクスカラーテクスチャの思い出 〜懐かしのパレット〜

こんにちは。技術部平山です。 この記事では、今更インデクスカラーを実装してみたことについて書きます。 テクスチャ圧縮について調べた時に SEGA TECH BLOGの記事 を見つけまして、自分でも試したくなったのです。 なお、結論を先に申しますと、「ETC2で良…

UnityEngine.UI.Imageが透けてる所を塗るのが許せない

こんにちは。技術部平山です。 この記事では、UnityEngine.UI.Image、つまり「普通のImage」 だと余計な所まで塗ってしまってGPU負荷が大きいので、 塗る面積を削ってみた、というお話をいたします。 一枚目の画面写真で、右端が普通のImageで、左と中央が今…

「リッチテキストって頂点ムッチャ増えない?」から始まるUnityEngine.UIの性能調査

UnityでUIを作ると言えば、まずはUnityEngine.UIです。 中身のことを考える必要もなく、ドカドカとImageやTextを置けば 動くので大変有り難いわけですが、不意に猛烈に処理が遅くなることがあります。 本記事では、たまたま見つけた現象と、そこから疑問を持…

【Unity】グローバルイルミネーション(GI)を使わないプロジェクトでやっておくべきこと

はじめに こんにちは、ソーシャルゲーム事業部 ゲーム技研所属の清水です。 この記事はカヤックUnityアドベントカレンダー2018の25日目の記事になります。 最終日ですが、特に豪華というわけでもなく、パフォーマンスチューニング系のちょっとした小ネタを紹…

CINEMA 4D+Unityでクリスマスツリーを作る

はじめに この記事はカヤックUnityアドベントカレンダー2018の24日目の記事になります。 こんにちはハニカムと光り物が好きなカヤックエンジニアのオギワラです。 本日はクリスマスイブなのでイルミネーションを作り、その過程でのCINEMA4Dでのツールを使っ…

【Unity】ComputeShaderでランタイムにSDFマップを生成するエクスペリメント

はじめに こんにちは、ソーシャルゲーム事業部 ゲーム技研所属のアファトです。 この記事はカヤックUnityアドベントカレンダー2018の23日目の記事です。 「面白法人カヤック」をUnityでのダイナミックフォントで普通に描画するとこうなります。 SDFマップの…

【Unity】 簡単に水に近い表現を実現したい (Metaball)

1 はじめに こんにちは、カヤックのソーシャルゲーム事業部のmadaです。この記事はカヤックUnityアドベントカレンダー2018の22日目の記事です。 「Lion Studios」が作成した「Happy Glass」というゲームを遊んでみて、液体の表現に興味を持ちました。この記…

【Unity】日本語テキストの自動改行

1 はじめに こんにちは。ソーシャルゲーム事業部の額田です。 この記事はカヤックUnityアドベントカレンダー2018の21日目の記事です。 今回はTextコンポーネントでの自動改行についてお話ししていきたいと思います。 日本語のテキストを表示するときに文章の…