Gaming Life

一日24時間、ゲームは10時間

UE4

UE4 Niagaraを触ってみる(3) 引き寄せ(Repeller)モジュールを自作

シリーズNiagara第三弾。前回記事はこちら。 ai-gaminglife.hatenablog.com 前回、パーティクルを引き寄せるアトラクタを作った。今回はその逆。パーティクルを払いのけるような動きをする「リペラー(Repeller)」モジュールを作成した。 完成品 ヤバイ。超か…

UE4 Niagaraを触ってみる(2) アトラクタ Module Script自作

シリーズNiagara第二弾。前回記事はこちら。 ai-gaminglife.hatenablog.com パーティクルをある点に集めるアトラクタModuleを作った。 完成品 アトラクタモジュール自作した #UE4 #ai_game_study pic.twitter.com/M50BLu9bjc— ai (@ai_9684_dct) 2018年7月12…

UE4 Niagaraを触ってみる(1)

そろそろ正式実装されると一部で噂のUE4の新パーティクルシステムNiagara。現時点では英語情報すらほぼ無く、手探りでやっていくしかない。が、UE4.20のPreview版時点では前バージョンと比較してもかなり使いやすくなっているのでチョットずつ触り始めている…

UE4 メッシュの一部の色をBPで動的に変更する

以前の記事でマテリアルエディタ上で一部の色だけを切り替える仕組みを作った。で、折角だしBlueprint上でパラメータを切り替えられるようにしようと試してみた。 ai-gaminglife.hatenablog.com 動的にマテリアルのパラメータを制御するBPを作る 詳細は省く…

UE4 メッシュの一部の色だけをパラメータで切り替えられるマテリアルを作る

unrealengine.hatenablog.com 上記のブログ等で物体全体の色をパラメータで切り替えるなどは紹介されているが一部だけの色を切り替えるみたいなものは見つけられなかったのでそれを自前で実装した。マテリアル全体の構成は以下の通り。 ちなみに今回、マテリ…

イベントディスパッチャーを使ってUMGの文字を変える

前回の続き。 ai-gaminglife.hatenablog.com UMGの詳細パネルからプロパティに関数バインディングすると毎フレーム処理が走ってしまい良くない。今回はその一つの解決法。 イベントディスパッチャーを使って必要な時だけ関数を呼び出す 今回はThirdPersonCha…

UMGの詳細パネルから関数を作ってバインディングするのは良くない

今日Twitterで教えてもらい知ったこと。下の記事でも使っているテクニックのUMG要素の制御関数を詳細パネルで作るのは良くない。 ai-gaminglife.hatenablog.com それを確かめるのに簡単なテスト。UMGを作成し、Textを配置、そこからバインディングする関数Ge…

Blutilityで遊んでみる(2) UE4.20 コンテンツブラウザ上でアセットの詳細設定を一括で変更する

以下の記事でボクセルモデルをFBXとして取り込む時、テクスチャの設定を Compression -> Compression Setttingを "UserInterface2D"に変更 Texture -> Filterを "Nearest" に変更 Level Of Detail -> Texture Groupを "2D Pixels" に変更 の様に変更する必要…

Blutilityで遊んでみる(1) レベルエディタ上でActorのスケールを変更する

先日UE4.20のPreview1が公開された。で、このverで前々から気になってたBlutilityの機能がちょっと拡張されたらしいのでちょっと遊んでみた。詳しい手順は以下の記事が分かりやすい。 qiita.com unrealengine.hatenablog.com anapurna.co.jp ざっくり説明す…

MagicaVoxelで作成したモデルをUE4で利用する (2) StaticMesh編

[MagicaVoxelで作成したモデルをUE4で利用する (2) StaticMesh編] はじめに この記事は前回の続きです。前回の記事から見ていただくことをおすすめします。 ai-gaminglife.hatenablog.com 第二回ではボーンを入れずアニメーションさせない、StaticMeshとして…

MagicaVoxelで作成したモデルをUE4で利用する (1) 導入編

はじめに 当ブログの現状のメインコインテンツ(?)であるMagicaVoxelで作ったモデルをUE4に持っていくワークフローの研究がようやく一定の成果を上げられたので、数回に分けて公開していこうと思う。目標は以下の通り。 MagicaVoxelでStaticMesh用モデルを…

某イベントでUE4を使ったVRタワーディフェンスゲームを作った話

某ハッカソンイベントでVRゲームを作った。一人で。 こんな感じのタワーディフェンスゲームを作ってました #xrjam #UE4 #UE4Study pic.twitter.com/kLQcPYeqtz— ai (@ai_9684_dct) June 3, 2018 今思うといくらUnity触りたくなくてもせっかくイベントに参加…

MagicaVoxelで作成したモデルをBlenderでリギングしたい(個人用メモ)

前回記事でStatic MeshをUE4に持っていく方法は確立できたがボーンを入れてアニメーションを付けるところまではまだできていない。いろいろ実験してみたので今回はそのメモ。 ai-gaminglife.hatenablog.com QubicleのOptimizationオプションについて ボクセ…

MagicaVoxelで作成した3DモデルをUE4に持っていく方法・完結編(Qubicle使用)

とうとうMagicaVoxelで制作したモデルをUE4に上手く書き出す方法がわかったのでまとめ。過去記事は以下の通り。 ai-gaminglife.hatenablog.com ai-gaminglife.hatenablog.com ai-gaminglife.hatenablog.com 今回はSteamで販売されている「Qubicle」(1980円)…

UE4超初心者向けチュートリアルスライド(2)を公開しました

ai-gaminglife.hatenablog.com 前回は想像以上の方に見ていただけたようでありがとうございます。サークルの第一回集会も個人的には上手くできたと思っているので、第二弾を作成しました。 今回は プレイヤーの攻撃の簡易実装 敵キャラ、敵AIの実装 敵のスポ…

UE4超初心者向けチュートリアルスライド(1)を公開しました

大学でゲーム制作サークルを立ち上げた(唐突)。その最初の集会用にUE4超初心者向けチュートリアルスライドを制作しました。そこそこ有用なものだと自負しているのでこちらのブログにも公開します。 なお、下記のzipファイルをダウンロードする前提で話が進…

UE4の乱数生成BPの実装を見てみる(1)(Random integer in range)

なんとなくUE4でMinecraftのようなランダム地形生成アルゴリズムを実装してみたい、という気持ちになり、最近乱数について調べている。その中で、UE4の乱数生成はどうやっているのか見ておく必要があるだろう、ということでエンジンソースを時間を見つけて読…

特定のBPインターフェースを実装しているか判定する関数(Does Implement Interface)

超小ネタ。 特定のインターフェースを実装しているかどうかで処理を分けるには、「Does Implement Interface」という関数を使えば良さそう。 上の画像は現在制作中のゲーム。青色の矢印床には「インターフェースA」を実装しており、橙色矢印床には実装されて…

MagicaVoxelで作成した3DモデルをBlender経由でUE4に持っていく方法・改良版2

注)今回紹介する方法もモデル次第では問題が発生する可能性があります。 前回までの振り返り 二回に渡りMagicaVoxelで制作したモデルをBlender経由でFBXを作成する方法を模索中。前回までの方法では影の付き方が変になってしまっていた。 ai-gaminglife.hat…

UE4 ForLoopwithBreakの改造(デクリメントとDelayを実装)

超小ネタ。以前の記事で「For Loop With Delay」マクロを自作したが、 ai-gaminglife.hatenablog.com これに加えてBreakとデクリメントでループを回す必要がある場面に遭遇したので「For Loop With Break and Delay Decrement」マクロを自作した。 ForLoopを…

MagicaVoxelで作成した3DモデルをBlender経由でUE4に持っていく方法・決定版(にしたかった)

前回の記事 ではply形式でexportし、スマートUV展開して頂点カラーを焼き込んでテクスチャを作成、そのテクスチャとfbxで書き出したモデルを取り込むという手法を紹介したが、この方法では色とUV座標がズレが生じ、色の位置がずれてしまう問題が発生していた…

MagicaVoxelで作成した3DモデルをBlender経由でUE4に持っていく方法

追記: 色々な問題を解決したverを公開しました ai-gaminglife.hatenablog.com 最近MagicaVoxelというボクセルモデリング(3Dドットモデリング)ツールで3Dモデルを制作している。Minecraft感覚でモデルを製作でき、BlenderやMayaと言ったDCCツールよりはるか…

TwinStickShooterテンプレートを使ってゲームを作った

ここ数回のブログでちょっとずつ見せてはいたが漸くゲームが完成した。実質初めて自力で完成させたゲーム。 TwinstickShooterテンプレートを改造してゲーム作りました#UE4 #UE4Study #EpicFriday pic.twitter.com/GESqw9gRiy— ai (@ai_9684_dct) 2017年12月2…

UE4 UE4で偏りを持った乱数(正規乱数)を生成して敵AIのエイムを適度に散らしてみる

マケプレのセールで買ったアセットが4.18未対応で泣いた。 ブループリントで乱数を生成するには、Rand Float in Range 等を使う。で、この ブログ を見ると分かる通り、帰ってくる乱数は例えば1-10までの整数乱数を生成するとだいたいどの数字も同じ確率で出…

UE4 特定のStaticMeshをナビメッシュの計算対象外にする

小ネタ。日本語情報が見当たらなかったのでブログに残しておく。 ai-gaminglife.hatenablog.com 極め本22章23章でLevelに配置した TargetPoint を永遠に巡回するみたいなAIがあるが(上記過去記事参照)、StaticMesh コンポーネントを持った Pawn を件のAIで…

UE4 DelayとForLoopについて色々実験した

ゲーム作ってると数秒おきにアクションを起こす、みたいなことをしたくなる。SideScrollerテンプレートだとこれをSet Timer By Function Nameを使って解決してるが直感的にはForLoopのLoop Bodyに処理とDelayを置いて解決したい。だがこの方法ではうまくいか…

UE4 ビヘイビアツリーで巡回+攻撃する敵AIを作るのに苦労した話

UE4にはビヘイビアツリーと呼ばれるAIを簡単に作れる機能がある。 人工知能の作り方 によるとXBoxで2004年に発売された『Halo2』の開発のため発案、GDCで発表されて以降ゲームAIの分野に置いて最もポピュラーな方法として確立されたらしい。 ビヘイビアツリ…

UE4 ちょっと見栄えのいいワープ機能を実装してみる

先日の第三回UE4GameJamに参加して以降、他の人の組んだBPを読み込んだり、いろんな機能を実験していたのだがその中で色々応用の効きそうなBPが実装できたので自分用のメモがてらブログにまとめる。 環境 使用ver: UE4 1.8.2 使用テンプレート: TwinStickSho…

UE4進捗1-4 MaterialInstanceDynamicを使ってマテリアルの色を変える

自作モデルでMaterialInstanceDynamicを使ってみた pic.twitter.com/YAMDmxe1Oa— 抽選に負けた (@ai_9684_dct) 2017年11月5日 pythonの勉強を始めたせいでUE4を触る時間が少なくなっているがブログを更新していかないと企画すらボツになってしまいそうなので…

UE4進捗1-2 SideScrollerテンプレートでエイム方向を制御する

こんにちは。未だにブログでの口調が決められません。暫く統一感のない文章になると思いますがじき直して行くので許してください。 前回記事で、UnrealEngine4付属のSideScrollerテンプレートを少し改造して弾を撃てるようにしましたが、プレイヤーが向いて…