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

どうやってUE4で透明な氷を作るか

原文: どうやってUE4で透明な氷を作るか 氷塊は生活に欠かせないものですが、エンジンで氷の質感や物性を復元するのはかなり難しいと思います。私も簡単な方法でシミュレーションしただけですが、制作プロセスを紹介いたします。まずは近距離での写真をご覧…

UE4でどのように漣の効果を作るか

漣という効果を作ってみた人が多いと思います。実装方法はいろいろありますが、ここではCustomノードを使い、アルゴリズムで法線を生成する方法を採用します。まずはUVで擬似ランダムのメッシュを作り、一つ一つのメッシュは単独的なUVです。ただし、異なる…

ASTC テクスチャ圧縮形式

原文:ASTC テクスチャ圧縮形式の紹介 一、ASTC テクスチャ圧縮形式の紹介 ASTC は、OpenGL ES 3.0 の出現後、2012 年半ばに作成された、業界をリードするテクスチャ圧縮形式です。その圧縮ブロックは4×4 から 12×12 まで、最終的に1ビット未満毎ピクセルに…

Unityリアルタイム反射に関する最適化

最適化後、プロジェクトの性能が確実にアップされました:8人が同時に接続+最高の画質で実行させるにもかかわらず、1.1ミリ秒しかかかりませんでした(Qualcomm Snapdragon710)。そして、成功例として取り上げ、皆さんと私の最適化法を共有させていただい…

UnityのCompute Shaderの基本的な紹介と使用

最近、Compute Shader技術は広く利用されています。この前の『Moonlight Blade Mobile(天涯明月刀M)』や『Naraka: Bladepoint (中国語: 永劫无间)』テームは技術共有をしている時、よくCompute Shaderに言及していました。そのゆえ、私のような初心者が数…

Addressable基礎編シリーズ(8~9)

この記事は2つのセクションに分けられます。最初の部分において、この前にリリースしたAddressable基礎編シリーズ文章を簡単にまとめます。そして、リリースしていない第八と九の節を紹介します。 この前に公開したブログのタイトルと内容は以下のように示し…

Unityモバイルゲームパフォーマンス最適化略譜

「Unityモバイルゲームパフォーマンス最適化略譜」は、Unity モバイル ゲームの最適化に関するいくつかの基本的な議論から始まり、近年 Unity に基づいて開発されたモバイル ゲーム プロジェクトで最も一般的なパフォーマンスの問題のいくつかを例示および分…

Unityゲームのメモリ分布概要

メモリはゲームパフォーマンス最適化の非常に重要な側面です。特にモバイルデバイスの場合、ハードウェアデバイスが限られているが、該当ユーザーを配慮する必要があります。ゲームはPCまたはMacで開発されますが、最終的には(ほとんど)モバイルで実行され…

Image Effects拡張——深度ベースのbloom

Unityに付属するImage Effectsのbloomコンポーネントは、フルスクリーンのブルーム効果を実現するために使用されます。 サブカメラBloom サブカメラにbloom要件がある場合、bloomコンポーネントを直接用いるには問題があります。たとえば、シーン内の特殊効…

カラーグレーディング

カラーモデルと相互変換の方法を理解した後、後処理で最終的な画像にカラーグレーディングを行います。カラーグレーディングは比較的幅広いトピックであり、主な目的は、色相、彩度、明るさ、コントラスト、ホワイトバランス、およびその他の多くの操作の調…

カラーモデル

6と7の節では、2つのワークフローをまとめました。そうすればシェーダーに入力されたカラーデータは期待どおりであることを確保できます。シェーダーは入力された色データを処理します。この節では、いくつかの色表現と一般的な処理方法について説明します…

Linear Spaceワークフロー

Gamma SpaceとLinear Space Gamma Correctionが存在するため、レンダリングでの計算に少し問題があります。たとえば、sRGB画像の非線形入力があり、操作が線形空間で実行されると、最終的な出力結果が目的の結果から外れます。 実世界の物理法則は線形空間で…

Gamma Spaceの起源

前書き 本節に触れる後処理効果は色の調整に関連しています。特定の後処理効果を勉強する前に、色の最終出力表示に関連する基本的な知識を理解する必要があります。それでは、Gamma Correctionの起源、プロジェクト開発におけるColor Spaceの特定のアプリケ…

Radial Blur

基本知識 Radial Blurは、中心から外側に放射状に広がるストライプ状のぼかしとして現れる一般的な視覚効果です。 レースゲームやアクションの特殊効果で、高速モーションの視覚効果やカメラを突然ズームインしたときの衝撃的な効果を強調するためによく使用…

Silhouette Rendering

基礎知識 シルエットレンダリングは、アウトライン(Outline)とも呼ばれる一般的な視覚効果で、非写実的レンダリングでよく見られます。Borderlandsシリーズのようなコミックスタイルの強いゲームでは、多くのアウトラインレンダリングが使用されます。 Bor…

Lens Flare —— Streak

基礎知識 撮影際、強い光源からの光が多くのレンズで生成されたレンズ群を通過する際に反射や散乱が発生し、他の入射光と同じ方向を保っていない光がフレアを生成することがあります。 (右上隅の明るい光により、画像に目立つハローが生じます) もともと技…

Depth Of Field(被写界深度)

参考:CatlikeCoding-Depth Of Field: https://catlikecoding.com/unity/tutorials/advanced-rendering/depth-of-field/ 基礎知識 被写界深度は、ゲームでよく使われている画面後処理効果の1つです。これは、撮影の基本的な概念に由来し、カメラレンズまた…

Real-Time Glow & Bloom

https://software.intel.com/content/www/us/en/develop/articles/compute-shader-hdr-and-bloom.html 前書き 先々週、画像ぼかし処理のアルゴリズムの効率を探りながら、コアアイデアを深く理解しました。これらのアイデアは多くの後処理効果に適用します。…

Dual Blur

6. Dual Blur 6.1 基礎知識 SIGGRAPH 2015で、ARMチームは「Bandwidth-Efficient Rendering」を共有しました。この共有では、この前紹介したBlurアルゴリズムを分析し、新しいBlurアルゴリズムであるDual Blurを提案しました。 添付ファイルにPDFとNotesがあ…

Kawase Blur

5. Kawase Blur 5.1 基礎知識 GDC2003で川瀬さんが発表した「Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)」では、Bloom効果に適用したアルゴリズムが紹介されました。その後ぼかしアルゴリズム「Kawase Blur」として普及されてき…

Box Blur

4. Box Blur 4.1 基礎知識 Box Blurアルゴリズムも畳み込み演算を用いるが、各位置に同じ重みを持つ畳み込みカーネルを使用し、例えば3*3の畳み込みカーネルは次のように表すことができる。 Box Blurの畳み込みカーネルも線形分離可能なので、分離可能なGaus…

Gaussian Blur

1. Gaussian Blur (一) ―― 基礎アルゴリズムとその実装 1.1 基礎知識 ガウシアンぼかし(Gaussian Blur)は、Gaussian Smoothingとも呼ばれ、画像をぼかすための典型的なアルゴリズムです。ガウシアンぼかしは、簡単に言うと、画像全体を加重平均する処理で、…

物理ベースレンダリングーーHDR Tone Mapping

ゲームエンジンのレンダリングパイプラインでは、通常、R、G、Bチャネルの色情報の値の範囲を[0、1](または[0、255])の間に設定します。このうち、0は輝度がないことを表し、1はディスプレイが表示できる最大輝度を表します。この表示法は単純で理解しやす…

物理ベースレンダリングーーリアルな環境光で物体を照明する

ゲームエンジンにおいて、物体(オブジェクト)を照らす光源は、平行方向光、点光源、スポットライト、ボリューメトリックライトなどさまざまなものがありますが、いずれも実際の光源を近似したもので、現実の照明の複雑さをうまくシミュレートすることはで…

物理ベースレンダリングーーHaarウェーブレット基底に基づくグローバルイルミネーション

前回は、球面調和関数(Spherical Hamonies、略してSH)に基づく動的グローバルイルミネーションアルゴリズムを紹介しました。そのアイデアは、オブジェクト間の光の複雑な伝達プロセスを伝達関数と見なすことです。伝達関数は、事前にシミュレートおよび計…

おすすめのAIプラグイン

1)おすすめのAIプラグイン 2)VideoPlayerはAndroidでビデオを再生したら黒画面になる 3)Renderer.GetPropertyBlockの問題 4)RectMask2Dの問題 AI Q:新しいプロジェクトにはいくつかのAIがあり、それを実装するためにいくつかのプラグインを使用したいと…

物理ベースレンダリング-球面調和基底に基づくリアルタイムのグローバルイルミネーション

この記事の主な内容であるPRTを紹介する前に、まずゲームエンジンレンダリングパイプラインでよく見られる一つのステップであるIBLを紹介します。Disneyは、2012 Siggraphカンファレンスで公開されたPBR courseで、レンダリング結果をよりリアルにするために…

iOSでAssetBundleをエクスポートするには30時間かかる

1)iOSでAssetBundleをエクスポートするには30時間かかる 2)Unityメインプロセスがナレッジツリーを構築する方法 3)TMPでCullTransparentを設定すると、Alphaが0であるTextをCullingにすることはできない 4)Spineアニメーションスタンプは線形空間に黒い…

微小面モデルーーPBRレンダリングパイプラインの材質

PBRレンダリングパイプラインがさまざまな材質(マテリアル)をリアルに表現できるのは、より複雑な材質モデルを使用しているからです。PBRレンダリングパイプラインが登場する前は、通常使用していた材質モデルは、環境光(Ambient)、拡散反射(Diffuse)…

物理ベースレンダリングーーディズニーのレンダリングモデル

今日は、物理ベースレンダリングに関する論文を紹介します。この論文は、2012年のSiggraphグラフィックスカンファレンスでディズニーが共有したPBRテクノロジーに関するレポートです。PBRは、最近のゲームレンダリングの分野における比較的高度なレンダリン…