電通総研 テックブログ

電通総研が運営する技術ブログ

金融ソリューション事業部

RAGに捧げるベクトル検索パフォーマンスチューニング

こんにちは。電通総研 金融ソリューション事業部の若本です。 今回は、RAG内部で使用するベクトル検索の設定のチューニングについての記事になります。 RAGとは ベクトル検索になぜチューニングが必要なのか? 近似近傍探索 実験 検索対象 検索クエリ 評価方…

フォトグラメトリ×Mesh to Metahumanで人物そっくりな3Dキャラクターを作成してみた(後編)

みなさんこんにちは! 電通総研 金融ソリューション事業部の松崎です。 前回の記事では、Mesh to Metahumanの元となるメッシュを作成する手順を紹介しました。 この記事は後編になりまして、前編で準備したメッシュを用いてMetahumanを作成していく手順を紹…

フォトグラメトリ×Mesh to Metahumanで人物そっくりな3Dキャラクターを作成してみた(前編)

みなさんこんにちは! 電通総研 金融ソリューション事業部の松崎です。 前回の記事では、回転台やグリーンバックを用いたフォトグラメトリ手法について紹介しました。 この手法は今回のMetahuman作成の中でも使用しておりますので、まだご覧になっていない方…

Azure Kubernetes Service(AKS)でマルチテナントSaaSを構築

こんにちは。金融ソリューション事業部の水野です。 本記事は電通国際情報サービス Advent Calendar 2023の12月25日の記事です。 今回は、BtoB向けSaaSをマルチテナントで実装した際の検討事項、採用した戦略について記載します。 Kubernetesでクラスタを構…

Googleが提供しているmicroservices-demoの一部をRust実装に置き換えてAmazon EKSにデプロイしてみた

こんにちは。金融ソリューション事業部の多田です。 本記事は 電通国際情報サービス Advent Calendar 2023 22日目の記事となります。 前日の記事は星野将吾さんの「若手こそ受けておきたい!IPA システムアーキテクト試験」でした。 はじめに microservices-…

テックブログ運営を支える技術!Power Automateを用いたレビュアーガチャ

こんにちは、金融ソリューション事業部兼テックブログ編集部の若本です。 今回は、テックブログ編集部で取り組んでいる運営改善の取り組みの一部をご紹介します。 本記事は電通国際情報サービス Advent Calendar 2023の11日目の記事です。 テックブログ編集…

golang.org/x/sync/errgroupパッケージを利用した並行処理の実装

こんにちは。金融ソリューション事業部の宮原です。本記事は電通国際情報サービス Advent Calendar 2023 7日目の記事となります。 みなさん、Go言語で並行処理は利用されているでしょうか?Go言語はゴルーチンやチャネルといった独自の並行処理機構を備えて…

ChatGPTを利用するためのサーバーレスアプリケーションをAWS上に構築する

こんにちは!金融ソリューション事業部の孫です。 現在、我々はChatGPT全般の活用を積極的に検討しており、その多様な可能性の中にはメタバースにおけるChatGPTの利用も含まれています。 この観点から、AWS上にサーバーレスアーキテクチャを採用したChatGPT…

UE5のPCGを使ってフォトリアルな森を生成する

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回はUE5.2の新機能であるプロシージャルコンテンツ生成フレームワーク(PCG:Procedural Content Generation Framework)の紹介を行います。 はじめに PCGとはコンテンツ生成に関するルールを作成…

GPT-4Vができることをまとめてみた

こんにちは。ISID 金融ソリューション事業部の若本です。 先日、GPT-4から発展し、画像も扱うことができるGPT-4 with vision(GPT-4V)が発表されました。GPT-4Vは大規模マルチモーダルモデル(LMMs: Large multimodal models)と呼ばれるAIモデルの一種であ…

回転台とグリーンバックによる本格フォトグラメトリ撮影(Adobe Photoshop × RealityCapture)

みなさんこんにちは! ISID 金融ソリューション事業部の松崎です。 前回の記事では、「フォトグラメトリによる3Dモデル作成ワークフロー(後編)」と題し、 フォトグラメトリで使用する写真撮影後の現像や加工手法、RealityCaptureを使ってのモデル作成方法…

フォトグラメトリによる3Dモデル作成ワークフロー(後編)

みなさんこんにちは! ISID 金融ソリューション事業部の松崎です。 前回の記事では「フォトグラメトリによる3Dモデル作成ワークフロー(前編)」と題し、フォトグラメトリを行う上で必要となる機材や、写真撮影前・撮影時の注意ポイントを紹介しました。 ま…

フォトグラメトリによる3Dモデル作成ワークフロー(前編)

みなさんこんにちは! ISID 金融ソリューション事業部の松崎です。 前回の記事では、フォトグラメトリを用いた3Dモデル作成手法を紹介しました。まだご覧になっていない方は、是非読んでいただけると嬉しいです! 今回からは、2回に分けてフォトグラメトリを…

UE5でプロファイリングを行う 〜CPU編〜

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回は前回に引き続き、 UE5でパフォーマンスを担保するために必要な、プロファイリングのワークフローCPU編の説明を行います。 UEでは、制作したプロジェクトの性能を測るためにプロファイリングと…

UE5でプロファイリングを行う 〜GPU編〜

こんにちは、ISID 金融ソリューション事業部の岡崎です。 ゲームや動画などを作成する際に、ユーザーが違和感なくコンテンツを使用するためには、 フレームごとの描画速度(フレームレート)を意識し、パフォーマンスを担保し続ける必要があります。 今回はU…

Kubernetesを使ってUnreal Engine Dedicated Serverをスケーラブルに運用する【Part1】

こんにちは!金融ソリューション事業部の孫です。 以前の記事ではUnreal Engine Dedicated Serverの構築方法について紹介しました。 今回は続きの記事として、以下の3部で、AWSが提供するEKSを使用してマッチメイキング機能を持つAgonesでGameServerを運用す…

Kubernetesを使ってUnreal Engine Dedicated Serverをスケーラブルに運用する【Part2】

こんにちは、金融ソリューション事業部の孫です。 シリーズの最初の記事(Part1)では、Kubernetesの強力な機能を活用するためにEKS(Elastic Kubernetes Service)をどのように設定するかについて詳しく説明しました。 EKSの設定が成功した後、ゲームのイン…

Kubernetesを使ってUnrealEngine Dedicated Serverをスケーラブルに運用する【Part3】

こんにちは、金融ソリューション事業部の孫です。 前回のPart1記事に続きましてPart2では、OpenMatchとAgonesを使用して、柔軟性がありスケーラブルなゲームマッチングとゲームサーバー管理システムの構築方法を詳しく説明しました。 この記事(Part3)では…

伴走型研修を使って AWS Certified Solutions Architect - Associateに合格した話

金融ソリューション事業部の石沢です。ふだんは所属部門の様々なプロジェクトの支援をしています。今回の記事では、当社でやっている「伴走型研修」を受講者の立場で紹介します。資格試験については会社の補助で制限なく受験できるのですが、それでも勉強す…

UE5上のオブジェクト情報をChatGPTに問い合わせる方法

こんにちは、金融ソリューション事業部の岡崎、若本です。 3DCG空間では、オブジェクトに関する情報を過度に表示し過ぎることはユーザー体験を阻害する要因になります。その一方で、あまりに情報が少ないと世界観の欠如に繋がります。そのため、質問応答など…

UE5 同期処理(レプリケーション)のC++実装

こんにちは、ISID金融ソリューション事業部の孫です。 この記事は、私がUnreal Engine(以下UE)のネットワーク同期(以下レプリケーション)に関する知識を学んだ知見です。 UEのレプリケーション機能は、マルチプレイヤーゲームの開発において非常に重要な…

UE5でワープ機能を作成する

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回はUE5でワープ機能(キャラクターの移動とワープ時のカメラワーク)を作成します。 はじめに UEでは、ロードを挟まないひとつづきのマップのことを「レベル」と呼びます。 今回はそのような、同…

UE5でコリジョン(衝突)判定機能を使って色々な機能を作成してみた

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回はUE5でコリジョン(衝突)判定機能を使って、自動で開閉するドアや、NPCとの簡単な会話システムを作成してみます。 はじめに UE5ではフィールド上のさまざまなオブジェクトや、プレイヤーが操作…

UE5でマルチプレイに対応したエモート機能を作成する

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回はUE5でマルチプレイに対応したエモート機能を作成する方法をご紹介します。 エモート機能とは、マルチプレイのゲームにおいて、各キャラクターが感情を表現する為の機能です。 例えばFortniteで…

ラップができるAIを作ろう Part.2 ~ChatGPTにラップさせる~

こんにちは、金融ソリューション事業部の若本です。 前回の記事に続き、AIを用いてラップの生成を行います。 前回の記事はこちらです。 前回までのあらすじ ChatGPTでフリースタイル調のラップの生成をするためには、韻を別途取得するAIが必要でした。 そこ…

ラップができるAIを作ろう Part.1 ~韻を検索する~

こんにちは。最近MC battleにハマっております、ISID 金融ソリューション事業部の若本です。 イベント現場にも何度か足を運んでおり、行くたびにその月で一番大きい声を出しています。 さて、そんなラップにがっつり影響を受け、今回はラップができるAIを作…

UE5 x ZBrushでタイムラインを活用したアニメーションを作成する

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回はZBrushで作成した3Dモデルを、UE5のタイムラインという機能を活用して、簡単なアニメーションを作成する手順をご紹介します。 はじめに UE5でオブジェクトにアニメーションをつける方法としてB…

Stability for Blenderでテクスチャ/CGを生成してみる

こんにちは。ISID 金融ソリューション事業部の若本です。 生成系の画像/自然言語処理AIが盛り上がりを見せる中、既存ソフトウェアへの組み込みや連携も活発に行われるようになってきました。 3DCG制作アプリケーションであるBlenderでも、アドオンを通じてBl…

PBR(物理ベースレンダリング)マテリアル 入門編

近年進化が目覚ましい3DCGグラフィックスのクオリティを支えるPBR(Physical Based Rendering)について紹介します。 本記事では、入門編としてPBRの基礎理論やワークフローを紹介します。

「Git LFS × AWS S3」で大容量ファイルを構成管理する

こんにちは、ISID 金融ソリューション事業部の孫です。 皆さんはGitでソースコードの構成管理を行う中で、バイナリファイルのサイズが大きすぎてGitHubなどのホスティングサービスからブロックされたりした経験はないでしょうか。 実は、最近UnrealEngineを…