ISID テックブログ

ISIDが運営する技術ブログ

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

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を…

UE5 PixelStreamingで、マウスカーソルを別の画像に変更してクリックイベントを作成する

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回はUE5 PixelStreamingで、マウスカーソルを別の画像に変更してクリックイベントを作成します。 前回までの記事でもPixelStreamingについて調べているので、まだご覧になっていない方はそちらも参…

UE5 PixelStreamingで、Blueprint経由でWebブラウザを操作する

こんにちは、ISID 金融ソリューション事業部の岡崎です。 今回は前回のこちらの記事(UE5 PixelStreamingで、WebUI経由でUE Blueprintを操作する)の続きとして、 EpicGames社が提供するゲームエンジン、UnrealEngine5 のPlugin「PixelStreaming」を使用し、…

「聴くトレ」研修で管理職としての1on1力をレベルアップしてみた

金融ソリューション事業部 石沢です。ISIDは現在全社で1on1の実施を奨励しており、私自身も部署のメンバーに対して1on1を実施しています。本記事ではISIDにおける1on1の状況と、昨年参加したエール社提供の1on1改善ワークショップ【聴くトレ】に参加した経験…

ChatGPTに声を与えてみる(ESPNet)

こんにちは、金融ソリューション事業部の若本です。 先日ChatGPT(gpt-3.5-turbo)のAPIが公開されるとともに、Open AIのサービスが使いやすくなりました。 今回は、ChatGPTから返ってきたレスポンスを読み上げる簡易アプリケーションの作成を行います。 使…

UE OnlineSubsystemでオンラインマルチプレイを実装する(C++)

本記事では、Unreal EngineのPluginであるOnlineSubsystemを利用して、インターネット経由で同時接続するオンラインマルチプレイ機能をC++で実装する手順を紹介します。

terraformignoreの仕様にハマりながらローカルplan時間を大幅に短縮した

みなさんこんにちは! 金融ソリューション事業部リースソリューション部の寺山です。本年から所属部署が変わりました。 今回は業務中に発見した Terraform の Tips を紹介する短めの記事となります。 先に結論 Terraform CloudのRemoteモードについて Remote…