2023年7月22日に開催された「unity1week 共有会 #12」で登壇した際の資料です。 「りるを・もんりぃ」チームがチーム開発をする際に意識したポイントなどを紹介しています。
【Unity ML-Agents】 Self-Play Reinforcement Learningで対戦ゲームのAIを作ってみたUnity強化学習ReinforcementLearningML-Agents はじめに Atari 2600 Gamesの攻略を発端として有名となった強化学習ですが,ここ数年で プレイヤーが複数人いるゲームのための強化学習の研究も盛んに行われています.Self-Play Reinforcement Learning (Self-Play RL) はマルチプレイのゲームの学習にしばしば用いられる学習方法であり,囲碁やDota 2のAI開発に使われたことで注目を浴びました. 今回は,Unityによる自作の対戦ゲームのAIをSelf-Play RLによって作成してみようと思います. Self-Play RLはエージェント (プレイヤ) が複数人いるゲームの戦略を学習
点の生成 3Dの編集モードで新規にプロジェクトを作成するか、新規シーンを作成してから、3D Object→Cubeを配置します。座標は(0,0,0)にしておくと素直にカメラに映ります。 作成したCubeに以下の内容のスクリプトをアタッチします。 using UnityEngine; public class CreateSimplePointMesh : MonoBehaviour { void Start() { int numPoints = 60000; // 点の個数 float r = 1.0f; // 半径 Mesh meshSurface = CreateSimpleSurfacePointMesh(numPoints, r); GetComponent<MeshFilter>().mesh = meshSurface; } /// <summary> /// 球の表面にラン
概要 この記事では、「UE4の物理アセットを使い、アニメーションブループリントノードを自作することで、キャラクターの物理挙動を実装する方法」について記述しています。 物理シミュレーション対象のシェイプとコリジョンは、物理アセットで設定します。 キャラクターの物理、いわゆる骨物理に話を限定します。 先に結果を見せると、この記事の中ではこのようなことをやります。 遅延揺れによる髪の揺れ 階段を揺れながら降りるスライム 背後からグレイマンに襲いかかり肩にのってしまうスライム 背景 物理シミュレーションをカスタマイズしたいと思ったことはないでしょうか。 剛体のパラメータを設定するとか、物理エンジンのパラメータを設定するとか、コンストレイントを設定するという話ではありません。 シミュレーションの内部アルゴリズムをカスタマイズしたいと思ったことはないでしょうか。 僕はたまにあります。 物理エンジンにと
概要 本記事はCluster,Inc. Advent Calendar 2017の6日目の記事です。 Unityちゃん付属のSpringBoneが微妙に使いにくかったため、使いやすくなるようにガッツリと作り直してみました。 左がUnityちゃん付属の物理エンジンで、右が今回作ったものです。 従来のものとの違い 改善された点 重力の影響を受けるようになった 1クラスで完結するようになり、セットアップが簡単になった ボーンの軸方向を意識せずに済むようになった 劣化した点 少し重くなった 細かい調整ができなくなった 使い方 物理演算したいGameObjectに Pbd Spring Boneをアタッチし、揺れモノの起点となるボーンを指定するだけで動きます。 仕組み 基本的な考え方はPosition Based Dynamicsと呼ばれるものです。 GameObjectそれぞれの各点を質点と見なし
目次 1. Unreal Engine上で強化学習を行いたい理由 2. 各種手法の比較 2-1. 内部実行系の手法 以下の4つの方法について紹介します。 ・Python Editor Script Plugin ・UneralEnginePython ・Python Foundation Packages ・Neural Network Inference 2-2. 外部通信系の手法 以下の4つの方法について紹介します。 ・Mind maker ・UE4ML ・ML Adapter ・Learning Agent 3. 結局何を使えばいいのか ※記事中のUEはUnreal Engineの略です。 1. Unreal Engine上で強化学習を行いたい理由 強化学習は、機械学習の一分野であり、エージェントが環境と相互作用しながら、試行錯誤を通じて最適な行動を学習する手法です。ゲームエンジンと
Onnx Runtimeをネイティブプラグインとして、Unity上で動かす実験とサンプルを公開しています。 github.com 開発の動機 4年前に、TensorFlow LiteをUnityで動かす実験を初めて、 はじめは全くの趣味で始めたものが、今では海外からいただく相談の半分以上が機械学習関連になっています。 四年前に始めた実験↓ asus4.hatenablog.com ところが、実際にシェアを見ると、研究関連ではPytorchのシェアが圧倒的。Unityの公式推論ライブラリBarracudaやTensorFlow Liteで動かすために一旦Onnxに変換するなどの事例なども増え始め、速度的にはTFLiteは非常に満足していますが、サクッとモデルを試してみたいという時に、変換するのが億劫になってきていました。公式ツールで変換しようにもOnnxやPytorchのNCHWからTFLi
ML-Agents:ハチドリ Unityには、強化学習を構築するためのフレームワークであるML-Agentsがあります。また、Unityの公式なチュートリアル&コースウェアを提供するUnity Learnにおいて、このML-Agentsのチュートリアルを提供する「ML-Agents:ハチドリ」があります。 「ML-Agents:ハチドリ」は、Humming bird (ハチドリ)が蜜を吸うゲームの中で、ハチドリが効率的に蜜を吸うことをゴールとして、強化学習を用いてハチドリをトレーニングするための学習コンテンツです。 この記事は、私が「ML-Agents:ハチドリ」を学習した際に、重要だと考えた事項を備忘用にメモするためのものです。 プロジェクト:①Flower.cs 本プロジェクトでは、個々の花の機能のスクリプトを作成します。ハチドリはこの花と直接やりとりをするので、適切な反応をする必要が
「ドラゴンクエストVIII」は,いかにしてスマートフォン向けに移植されたのか? 最適化からUI設計のポイントまでを開発チームが語る ライター:米田 聡 ゲームエンジン「Unity」の開発者向けイベント「Unite Japan 2014」初日である2014年4月7日に,「Unityでコンソールタイトルを移植する 〜ドラゴンクエストVIII 移植から学ぶ大規模開発テクニック〜」というセッションが開催された。 講演の内容はタイトルどおりで,2004年に発売されたPlayStation 2(以下,PS2)用の「ドラゴンクエストVIII 空と海と大地と呪われし姫君」(iOS / Android。以下,DQ8)を,Unityによってスマートフォン向けに移植したときの体験を,開発チームが解説するというものだ。Unityのイベントとはいえ,それだけの話に止まらず,据置ゲーム機用に作られたゲームのインタフェ
はじめに BR200は、Unity社とExitGames社の2社が共同開発した、200人同時参加可能なバトルロイヤルゲームのサンプルです。 そのネットコードに使用されているのはPhoton Fusionで、ドイツのExitGames社が開発、GMOグローバルサイン・ホールディングス株式会社が日本展開を行っています。 これまでのPhoton Fusion記事では基本的な使い方を中心に紹介してきました。Fusionの強みはダイナミックな同期範囲設定やラグ補正など、バトロワ系に代表される参加人数の多いオンラインゲーム向けの機能にあります。 しかしながら、サーバーモードに対応したサンプルなど、大規模マルチプレイを開発する場合に参考にできる資料があまりありませんでした。 そんな中2022年9月、サーバーサイドも含めた完全に動作するサンプルプロジェクトが無料公開されました。それがBR200です。 バト
ゲームエンジン、特にUnreal Engine、Unityのような汎用エンジンの普及、台頭が日本と海外のゲーム開発の明暗を分けた。 note.mu ↑この記事や、色々と話題になったゲンロン8でもこんなようなことが言及されていたが、これは本当だろうか? 「汎用」エンジンということに限定すればこれはあまり正しくはない。 そもそも、日本でもそれなりに有名なAAAタイトル、『Grand Theft Auto』、『ASSASSIN'S CREED』、『Call of Duty』、『Battlefield』、日本でも結構な勢いでヒット中の『Marvel's SPIDER-MAN』、これらのタイトルでUnreal Engine、Unityのような汎用エンジンを使用しているチームってどれだけあるのか? 答えは0だ。 海外のAAAタイトルで商用化されている汎用エンジンを使用してゲームを作成しているチームは思
Motion Diffusion Model で生成したモーションをUnityで再生する方法をまとめました。 ・Unity 2021.3.10f1 前回 1. Motion Diffusion Modelで生成したモーション前回、「Motion Diffusion Model」で「the person walked forward and is picking up his toolbox.」(人は前に歩き、ツールボックスを拾う)というプロンプトからモーション(results.npy)を生成し、(おまけで) result.jsonに変換しました。 今回は、このモーションをUnityで再生します。 2. Unityでのモーションの可視化はじめに、モーションのUnityでの可視化を行います。 (1) 3DでUnityプロジェクトを作成。 (1) results.jsonをAssets/Reso
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 2012年8月22日 にあった、CEDECの講演についての記事です。 「ゲームAIはプレイヤーを虜にできるか? ~アクションゲームにおいて、AIを使って華麗に誤魔化しつつ魅せる手法~」 テーマは 「CPUパワーを使い高度なAIを構築するわけではなく、 処理は軽くそれらしいAI をいかに作るのか?」 です。 ・気がつかなければOK ・俺つえー感を演出 ・ちょっとした工夫 ・人間らしく見せるAI ・賢く見えるAI について解説。 -------------------------------------------------- ●気がつかなければOK ユーザーは自分が動かしているキャラに集中していて 敵AIにはそれほど意識を向けていない と言う事を利用している。 画面外のキャラや
前書き 「設計なんて不要でしょ」について という非常に興味深い技術記事が投稿された.私は,その上で設計不要論について話したい. 1つ断っておくが,私自身は設計について肯定派の人間である.実際に, リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ 別視点から理解するクリーンアーキテクチャと適用限界 といった記事を書いている. しかし,社会でコードを書いている中で,多くの場合,設計が要らなくなるのではないか.ということを思うようになった.それが,なぜか.そして,一方で設計が必要となるソフトウェアとは何か.について書きたい. 動乱の時代と第4次ベンチャーブーム 平成も終わりに差し掛かり,令和が始まるというタイミングで1つの大事な発言があった. 経団連会長“終身雇用を続けるのは難しい” 日本の労働者のロールモデルの崩壊を示唆した大事件だったと感じている.いわゆる,「良い大学に入
本稿では、私が長く続けている個人でのゲームエンジン開発で得られた知識や経験を紹介します。 嘘ですポエムです。アルコールとか入ってます。 本当はかっこいいこと言ってみんなの役に立つこと書きたかったです。書きたかったけど無理だったよ…。 ひとつのゲームエンジンを作り続けてもう何年も経ちます。その間コンセプトも定められず満足なメジャーリリースもできないままだらだら作り続けてしまったので、あんまり役に立つことは書けなさそう。 とりあえず昨今のゲームエンジンの開発に必要な技術要素と、私が開発している Lumino というゲームエンジンでの代表的な実装例を紹介する、みたいな体で書いてみようと思います。なにか間違ってそうでしたらコメントお願いします。 多分、ちょっとでも役に立つかもしれないのは、「ゲーム作ってたけど気が付いたらゲームエンジン作ってて、ゲームが出来てないけどゲームエンジン公開してみたくなっ
80年代風作例。ユニティちゃんモデル及びシェーダーを使っています。© UTJ/UCL こんにちは! CL事業部の原です。 この記事は Tech KAYAC Advent Calendar 2019 の13日目です。 今回はUnityで80年代風を表現するということにチャレンジしてみました。 80年代風と言っても、レトロゲームを再現するという意味ではありません。 80年代風イラストの雰囲気を表現したいと思います。 80年代リバイバルブームとは ここ数年、80年代リバイバルな表現がファッションやデザイン、映画などでブームになっていたことはこれを読んでいるみなさんにも思い当たるところがあると思います。しかし、この現象を包括的にまとめたような記事文献は見つけることができませんでした。なので、個人的体験から80年代リバイバルブームを追ってみます。 80年代リバイバル表現との出会い:tofubeats
最近ゲーム業界のインサイト記事がとっても刺激的で面白い。ここ最近もキレッキレの記事を2つ読んだ。 まずはゲーム業界のライターである徳岡正肇氏のインタビュー記事。氏のことはこの記事で初めて知ったのだけど、完全に「知の巨人」だ。ウォーゲームとはなんなのか、戦争はどういう原理で成立しているのか、ゲームの何が人をエキサイトさせるのかを明快な言葉で語る。 「戦争は、時間と空間のジレンマである」現代ウォーゲームが発見した“真実”——ゲームはいかに戦争の「本質」を捉えてきたか【徳岡正肇氏インタビュー】 https://t.co/YW7ShNeZMJ 次に、IngressやポケモンGO開発に携わっているNianticの川島氏と、ゲームAIに関しては日本での第一人者である三宅氏の対談記事。人工知能と身体性の関係、Nianticのミッション、ゲームの快楽について語られている。 ゲームの真髄は「身体性」–Nia
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く