【UE4】mobile実機確認でLevel上のActorが真っ黒になったときに行ったこと
こんにちは。
先日、UE4でmobile向けのゲームを制作中に実機デバッグを行った際、Level上のActorが真っ黒になってうまく表示されませんでした。
色々試してみて効果があったと思われるものを紹介します。
1.マテリアルを軽いものに変える
もともと時間で点滅するようなマテリアルを使用していたので軽いものに変更しました。
↓
2.LightingをStaticに変更する
各Levelの以下のものをStaticに変更しました。
・Atmospheric Fog
・Sky Light
・DirectionalLight
3.open levelで同じLevelを連続で読み込まない
GAMEOVERになった際にどうしてもリトライで同じLevelを連続で読み込まなくてはいけませんでした。そこで工夫をしてステージLevelを読み込む前に必ずLoadingLevelを読み込むことにしました。
以上の3つを実行した結果問題が解決し、真っ黒な表示が直りました。
ここまで読んでいただきありがとうございます。
【UE4】project名を変更する(Blueprint project)
こんにちは。
今回はBlueprint projectのproject名を変更する方法を紹介したいと思います。
まず、下の画像のようにmainディレクトリにはuprojectファイルがあると思います。最初にこの名前を変更します。
次にこのディレクトリにあるConfigを開きます。すると下の画像のようにDefaultEngine.iniファイルがあるのでこれをテキストエディタなどで開きます。
開くと下の画像のようになっているので、[URL]の下の行に
GameName=新しいproject名
という一文を追加します。
次に先ほどのmainディレクトリからintermediate/Sourceに移動すると、下の画像のように三つのファイルがあります。この3つのファイル名には、古いproject名が付けられていると思うのでこれらを削除します。これを削除しないとパッケージングするときに新しいproject名のファイルと競合してエラーが起きます。
これでproject名の変更作業は終わりです。project名はパッケージングした時のexeファイルにも名前が引き継がれるので名前の変更手段を知っていても損はないと思います。
ここまで読んでいただきありがとうございました。
【UE4】Androidアプリに広告をつけてリリースするときのプロジェクト設定
こんにちは。
今回は、Androidアプリに広告をつけてリリースするときのプロジェクト設定について特に重要な点について紹介していきます。
・Androidプラットフォーム
これは、「今すぐ設定」を押します。
・Accept SDK Licence
クリックします。
・Store Version offset(arm64)
1にします。これについては後述。
・Target SDK Version
29(Android10)にします。最新のものにしておきます。2019/11/22現在、Google play consoleではAPIレベル28以上にしておかないとapkファイルをアップロードするときにはじかれます。そのため、最新のSDKプラットフォームをインストールしておきましょう。
・Support arm64[aka arm64-v8a]
チェックします。これについても、2019/11/22現在、Google play consoleでは64bit対応版しか受け付けてくれないので注意です。
・Extra Tags for <manifest> node
com.google.android.gms.games.APP_ID="@string/app_id" com.google.android.gms.appstate.APP_ID="@string/app_id"
を追加します。
・Extra Permissions
com.android.vending.BILLING を追加します。
・Key Store
デジタル署名のために作成したKey Storeを追加します。
・Key Alias
Keyの名前を追加します。
・Key Store Password
パスワードを追加します。
・Key Password
パスワードを追加します。
・Enable Google Play Support
チェックを入れます。
・Games App ID
Google play consoleのゲームサービスのアプリ名の下に書いてあるIDを追加します。
紛らわしいですが、AdMobのApp idではありません。
・include AdMob support for ads
チェックを入れます。
・AdMob Ad Unit IDs
AdMobの広告idを追加します。
・Google Play Licence Key
ライセンスキーを追加します。
以上です。
他にもチェック項目はありますが重要なもののみ抜粋してみました。
皆さんももしよければ自作のアプリを公開してみてはいかがでしょうか?
ここまで読んでいただきありがとうございます!
【UE4】キーボードの入力とWidgetのボタン入力を両立する
こんにちは。
UE4ではplay画面(新規エディタウィンドウなど)でWidgetのボタンを押すとキーボードからの入力を受け付けなくなります。
そこで今回は、キーボードの入力とWidgetのボタン入力を両立する方法を紹介したいと思います。
使うBPのノードはこちらです。
このノードをかませることで二つの入力が両立できます。
・Player Controller
これには、get player controllerをつなぎます。
・in Widget to Focus
これには、表示させている対象のWidgetのreturnからつなぎます。
・In Mouse Lock Mode
これはこのままで大丈夫です。
・Hide Cusor During Capture
このチェックは外します。これは重要でmobile向けの開発をしているときは、mobile previewでスワイプが利きにくくなります。
これで、キーボードの入力とWidgetのボタン入力を両立できるはずです。
ここまで読んでいただきありがとうございます!
【Blender2.8→UE4】exportするときの注意点
今回はこの自作キャラクターをBlender2.8からUE4にexportする際の注意点をまとめていこうと思います。
・面の法線を外側にそろえる
これをやらないとUE4で一部の面が表示されないことがありキャラクターがかわいそうなことになります。
やり方としては、編集モードで面を選択して「メッシュ→ノーマル→面の向きを外側に揃える」で設定します。
・boneのスケールに気を付ける
全選択してスケールを100倍→拡大縮小を適用→0.01倍にします。これはBlenderとUE4でスケールが違うために設定する必要があります。これを行わないとアニメーションなどがうまくexportできない場合があります。
・export画面での設定
まずジオメトリのスムージングを面に設定します。
次にアーマチュアでデフォームボーンのみに設定します。
これで設定は完了です!
UE4にimportできた!
全体像
走るアニメーション
ジャンプアニメーション
素人なので拙いキャラクターですが自分で作成して愛着があるので、UE4で動いているのをみると感慨深いです・・・。
ここまで読んでいただきありがとうございます!!
【UE4】particleのspwanに合わせてcollisionをON・OFFする
こんにちは。
今回はparticleのspwanに合わせてcollisionをON・OFFにする方法を紹介していこうと思います。
ちなみにこの記事はUE4の内容を扱っていますがUnityちゃんが登場します。
やり方としてはとても簡単です。
まず、particleをspawnさせたらbool変数でON・OFFするスイッチを作ります。
次にこのスイッチに合わせてあらかじめ作っておいたcollisionをON・OFFします。
これで完成です!簡単ですね。
ちなみにこれを実行すると以下のようなmap上で以下のような演出を作ることができます。
ここまで読んでいただきありがとうございます!
【UE4】外部ファイルを含んだprojectをpackagingするときの注意点
こんにちは。
今回は外部ファイルを含んだprojectをpackagingするときの注意点について書いていこうと思います。
外部ファイル(.txtや.csvなど)をprojectで読み書きする場合、そのままpackagingすると外部ファイルが除かれた状態で出来上がってしまいます。
そのため、以下のような設定が必要です。
まず、対象の外部ファイルをprojectのContentディレクトリの中にある任意のディレクトリに入れます。
次にc++のコード上で以下のようにパスを記述して組み込みます。
FPaths::ProjectContentDir()+"/外部ファイルのあるディレクトリ"
最後にプロジェクト設定のパッケージ化にあるAdditional Non-Asset Directories to Packageに、対象の外部ファイルのあるディレクトリのパスを設定します。
これでpackagingした後も外部ファイルを読み書きできるはずです。
ここまで読んでいただきありがとうございます。