【UE4】Unreal Engine 4 初心者質問スレッド part5
■ このスレッドは過去ログ倉庫に格納されています
>>479
ライトの種類もスタティックにしてあるんですよね・・・
なんなんだろう?? ビルドしまくるならCPUはコア数が多いほうがええんか? CPUコアは少ないより多いほうが良いが、予算の使い道としてCPUコアがベストとは限らない。 16コアとかに行くのは過剰で、CPUはメインストリーム8コアにとどめ、メモリ32GBor64GB(プロジェクト規模による)とSSD(NVMeでなくSATAでよい)を必要なだけ用意するのが良いかと。 >>481
ライティングをビルドして初めて影でてくるけど、どう? >>483-485
予算まで踏み込んだレスありがとうやで
やっぱ数やな、いよいよインテルから離れることになりそうや UE4の各種処理が全てマルチスレッド完全対応してるわけじゃないのでシングルスレッド性能「も」重要よ? (アムダールの法則)
RYZENがどの程度なのかはまだ評価していない。マザーボードとか含めたトータルの安定性で考えてIntelに日和っていたけれど、そろそろいいのかな。 レイトレーシングがあっという間に実用的なものになりそうでワロタ AMD製GPUと、それを使って既に開発が進んでいる次世代コンソールのレイトレース対応はどうなるのだろう。
DirectXのAPIがすでにあるということはnVオンリーというわけでもなさそうだが。 極め本にあるけど
パーティクルでライトにチェック入れても画面外になったら光源が消えるせいで、パーティクルとは別にライトを設定しないといけない事もなくなるだろうから
まあ作り方は変わるだろうけど
実用的な速度で動く頃にはue5やら6になってそう void AMyActorController::SetPawn(APawn * InPawn)
{
Super::SetPawn(InPawn);
if (InPawn)
{
auto MyActor = Cast<AMyActor>(InPawn);
if (!ensure(AMyActor)) { return; }
UE_LOG(LogTemp, Error, TEXT("set")); //set出力
}
SetPawnをオーバーライドして、Superクラスで呼び出した場合、
InPawnには自動的にコントローラーが制御しているPawnが代入されるんですか? 何を想像しているのか読み取れなかったが、とりあえずそのensureの使い方、あってる? 真偽逆だったりしない? >>486
結局原因がよくわからなかったのですが、
色々いじってたら
影落ちるようになりました!
ありがとうございます!!!><; >>494
教材に書いてあったコードを省略したものなんですが、
このSetPawnはSuper以外どこからも呼び出してないのに実行されてるようなので
どういう仕組みになってるのか知りたいんです。
ensureは
if (!ensure(MyActor)) { return; }
if (!MyActor) { return; }
でも実行されたんであってると思いますたぶん。 C++の仕組みの話なのだけど
SetPawnは親クラスのオーバーライドをしているだけ
呼び出しもとはAPlayerControllerのPossessの中で呼びたたしてたはず
ブレイク貼ってスタックトレースみなされ codeworks 1r5と1r6って大きな違いある?1r6でも古いエンジン動くんかな オーバーラップでアクターをスライドさせるんですがAddActorLocalOffsetで入力した位置までの移動速度を変える(遅くする)にはどうしたたいいですか? パーシスタントレベルのBPにOnActorBeginOverlapを複数置きたいのですが最初の1つを設置後、同ノードが出てきません。複製をしてもカスタムイベントになってしまいます
レベル内にトリガーボックスは3つ置いてあります(複製したものです)
お願いします 諦めてCASTやブループリントインターフェースなどで何に触ったか判断 >>502
マップ内でトリガーボックスを3つ選択したあとに
LVBP開いて右クリックでOnActorBeginOverlapを追加を選べば
普通にトリガーボックスのオーバーラップノード1.2.3と追加されるんだけどねえ・・
カスタムになる時ってのは同一の名前のノードがすでにある場合になるけどさー >>504
そのようにやり直してみたらできました。ありがとうございます! vimeoのチュートリアル全部英語でなかなか理解が進まない
youtubeのは字幕あるけど古いからなぁなんで変えたんだろ スタックトレースはVisualStudioのデバッグ>プロセスにアタッチ→UE4選択
→エディタのプレイボタンポチ→呼び出し履歴でいいんでしょうか?
そこには不明とSetPawn以外でてこないんでよくわかりません。
Possessの中とは、ActorがBPでAIControllerをParent Classに登録したことをC++に持ってく処理の中ということで合ってますか?
「ActorがBPでAIControllerをParent Classに登録したこと」によって、InPawnにそのActorが代入されるということでしょうか? >>506は>>497さんの回答への再質問です。
言い忘れましたが>>497さん回答ありがとうございます。 >>496
> ensureは
> if (!ensure(MyActor)) { return; }
> if (!MyActor) { return; }
> でも実行されたんであってると思いますたぶん。
結論から言うと間違ってるんだが、いろいろ根本から理解できてない雰囲気なので、どう説明したものかな…… >>507
ああ、エンジンビルドしてないとそうなるか
エンジンソースを取得してビルドするとみれるようになるよ
というか、C++さわるならエンジンを自分でビルドした環境じゃないと厳しいね
AIControllerはコントローラーてあって
アクターの親クラスではないよ
アクターの親クラスはUObjectでしょ
どういうタイミングでSetPawnが呼ばれるかは俺もパッとはでてこないけど
PlayerControllerの場合でざっくり覚えている内容で言うと
ポーン生成時に自身に設定されてるコントローラーが生成されるはずで
その時にPossess処理が走る、その処理の中でSetPawnされる
AIControllerもかわらんとおもう。多分ね trigger boxにbegin overlapでPlay Sound2Dノードを足したのですが、ピッという音がピピピピピピピピッとなります
Play Sound2Dの前にDo Onceを足すとピッとなりますが、一回目のオーバーラップにしか反応しません。どうしたらいいでしょうか >>511
castとかタグとかを使ってるのか状況がわからないけど
とりあえず、何回オーバーラップしてピッを一回鳴らしたいのであれば
雑な処置になるかもしれんが、
end overlapを追加してbegin overlapのとこのdo onceのresetに繋げる
オーバーラップって普通一回の処理?なはずだから、Play Sound2D追加するだけならピッで終わるはずと思うんだど
何かが複数オーバーラップしてんじゃないの? >>512
PlaySoundの前に他の処理もあってEndOverlapも入れてたんですが、そのEndOverlapが出てくるよりも前にPlaySoundを移したらうまく動作しました
おかげ様で解決しましたありがとうございます! 3dsで作ったドアフレームをレベルに配置したら真ん中を通り抜けできないんですが何か設定でしょうか?
StaticでPhysicsはオフです >>515
コリジョンを一旦リムーブしてやり直したらできました。ありがとうございます 3d系のゲームだとむしろunityのほうが重くない?
cpuが謎の動きをする >>516
ビューポートでコリジョン表示させればわかりやすいよ >>519
Showからチェックするんですね!はじめて知りました。すごく便利そうです。ありがとうございます
たびたび質問すみません
F1キーでウィジェット(Menu)を出すようにしたのですが、ウィジェットはきちんと出ますが同時にウィジェット以外がワイヤーフレームになってしまします。
レベルBP - F1>CreateWidget>AddtoViewport>SetShowMouseCursor(true,Target=GetPlayerController)
ウィジェットBP - OnClick(BackButton)>RemoveFromParent>SetShowMouseCursor(false,target=GetPlayer~
という感じです。よろしくおねがいします >>510
イメージが掴めたのでオーバーライドしてるだけという意味がようやくちゃんとわかりました。
エンジンビルドは後で調べてみようと思います。
ありがとうございました。 すみません、ver4.20でコントロールリグ使おうと思ったのですがアクターにSKmannequinが選択できずに困ってます 原因わかる方いますか? >>523 自己解決しました 単純に選択の仕方をわかってないだけでした
ただその後のシーケンサーの設定でbasehumanが出てきません 何が原因でしょうか? ウィンドウのサイズを変更してもウィジェットのサイズが変わらないんだけどどうすればいいでしょうか?
ライフバーとか小さくしたい 自作したケモ耳しっぽ有り人型キャラにアニメーションをつけてるんですがUE4に持っていくとアニメーションが一部消えてしまいます
アニメーションはMAYAでつけてまして、ボーンとしてHumanIKにケモ耳としっぽボーンを追加したものを使っています。
このボーンとスキニングしたメッシュをアニメーション付きFBXで書き出してUE4に持っていきましたがケモ耳としっぽ以外のアニメーションが消えてしまいます。メッシュは正常に読み込まれています。
HumanIKのアニメーションが無くなってるような挙動なのですがなにか必要なことありますか? 子がadd、removeされたときに呼び出されるイベントとかないですかね SpriteStudioをUE4で扱いたいのですが、エディター上ではサンプルシーン等動くのですが、パッケージ出力しようとすると何故か失敗します。
どうすればよいのでしょうか? エンジンをソースコードからビルドしないとだめとかかな? 初心者にはソースやコンパイラはちょっと難しいので、Plugin形式でマーケットプレイス(有料でいいので)に出してくれるとありがたいのですが・・・
もう少し検索してみます。 サードパーティプラグインのSpriteStudioを駆使しようとしている時点ですでに初心者ではないっ サブレベルを読み込もうとすると止まるときと止まらないときがある
どうにかしたいんですが ドラッグではなく、クリックでマウスポインタにアイコンを追従させて移動を行うインベントリシステムを作りたいのですが、
ウィジェットとマウスポインタとを親子付けすることは可能でしょうか マウスの位置を取得するノードがあったはずだからそれを
常時稼働させればいい >>538
ありがとうございます 上手くいきました
出来ればTickは使いたくなかったのですが、他に方法が無いので仕方ないですね tickじゃなくて
使用時だけループにチェック入れたタイムラインでいいじゃん 自分キャラと敵キャラに武器持たせて
戦いたいんですがどうすりゃよいですかね? あとノ−トpcでue4で開発する場合
スペックはどれくらいありゃよいですかね? >>541
チュートリアル見たり極め本読んで頑張る
>>542
作成するプロジェクト規模と作業内容によって増減するが一つの目安はGPUにGeForce GTX1050搭載、メモリ32GB >>543
感謝です
本はue4を極めるとかいう忍者ゲ−ムが
作れる本をかじってます
ただこれにはスケルなんたらの武器を振りまわす説明はなかったような
dellの10万の第8世代プラス1050のやつでいけそうですね。 >>544
公式のリファレンス見た方が良い
武器を付けるにはボーンにソケットがいる UdemyのUE講座の外人講師からメールきたけど・・以下
さまざまなバグのため、現在Unreal 4.20をスキップすることをお勧めします。Unreal 4.21がリリースされるまで、代わりに4.19のバージョンをダウンロードしてください。
このバグは、コースやその他の混乱の後にデータを失う可能性があります。これらのバグは、4.21で修正される予定です。今のところ4.19を守ることは、よりスムーズな経験につながります。 C++のコースの人からでしょ?C++だけのエラーかね? データを失うというのだからエディタのバグを指していると思うが、自分は4.18で固定して4.20使ってないので、なんのバグのことかわからない。 そういえば4.20はvisual studioのメッセージ表示が文字化けする construction scriptでattachToComponent使ってスタティックメッシュをアタッチするとコンパイルする度に消える謎
ビューポートでちょっと移動させたら再表示されるけどどうなってんだ 消えるのはBPのコンパイル押したときだけだね
消えた後はビューポートで座標変えないと実行してもビルドしてもアタッチしたメッシュは消えたまま
BP側のビューポートじゃ表示されてるんだけどなあ…
BeginPlayの方だと正常に動くからこっちにしとくか バージョンアップしたら旧型を使うぐらいの方がいいな
こんだけチマチマ変えていたらバグにも会うわ Hot fixで直るバグは待てばいいのだが、4.21にならないと直らない類のバグは、4.21が出た後も4.20にはそのまま残る。 >>546
>>548
関係あるかわからないけどデータが消える系のバグらしきものに今遭遇した
4.20のUE4でAndroid用にパッケージングしたのをInstall_○○-armv7-es2.batを使って
テスト用端末にインストールしようとしたところプロンプトに
XX Deleted
みたいのが大量に流れてテスト用端末に刺さってたMicroSDのほぼ全てのデータが消えた
4.20でパッケージされたAPKをBatを使ってインストールする作業は何度かやったことがあるが
以前はこんなおかしな動作にはならなかった
原因がわからないので報告だけで申し訳ない
みなさんもご注意ください >>556 情報の共有ありがとう。
4.20の新機能は惹かれるものがあるけれど4.19.2で制作しようと思います。 サービスのブループリントを作ってEvent Receive Tickをオーバーライドして、
アウトプットのOwner ActorにPrint Stringを繋ぐと、CharacterのAIControllerがプリントされます。
でもOwner ActorからSetFocusノードを呼び出せず、
Owner Actor→Get AIControllerのアウトプットから呼び出せるんですが、
Get AIControllerのアウトプットにPrint Stringを繋ぐと、↑のと同じAIControllerがプリントされます。
これはどうなってるんでしょうか。 凝った技や魔法でシーケンサー的なものを使いたいんですが、
何か良い機能はないでしょうか。
このタイミングで、このタイプのイベントを、この引数で実行するみたいな
AnimationのNotifyの機能だけみたいなものがほしいです。 //ヘッダ
UPROPERTY(VisibleDefaultsOnly, Category = Mesh)
class USkeletalMeshComponent* FP_Gun;
//cpp
FP_Gun = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("FP_Gun"));
これで作ったSkeletalMeshComponentは
VisibleDefaultsOnlyにすることで編集できなくなるプロパティはどこですか?
コンポーネントのデフォルトで編集に制限がかかっている場所が見当たらないんですが。 >>560
デフォルトはDetailsの間違いです。 シーンキャプチャ2D使ってテクスチャ写してたら重くて洒落にならんのだけどこれってPCのパワー不足なの? なんか別のサイトとか見てるとみんな普通に使ってるからなにか不味いのかなと思ったけどただいれただけでFPS10も下がるしビックリしたよ
パッケージ化したゲームだと大丈夫だったりするのだろうか ポータルまがいな物を作ったは良いものの、パフォーマンスが悪いというねw
動的なシャドウを生み出すライト関係がキャプチャーと相性悪いとかあるようだけど
fps低下を抑える工夫をしなきゃいけないかもね
シーンキャプチャーを取り入れてるゲームといえば
UDKのantichamber
UnityのImpresja
どっちもUE4製じゃないけどさw
キャプチャー間隔や解像度の調整、シンプルなマップづくりにして負荷軽減してる感じだった >>560
自己解決しました。コンポーネントの機能を制限はしないんですね。 #include "Engine/Classes/GameFramework/Actor.h"
#include "Engine/Classes/GameFramework/PlayerController.h"
これらのものを何も考えずにvisual studioでやってきましたが、コードエディタをatomに変えると、これらのヘッダーの場所がわからないとエラーを出されました
どうすればいいんでしょうか? 物理を使用せずに動いているアクターの速度を計測したく、一定時間あたりの座標の変化量を時間で割った値を試しにプリントストリングで表示させた所fpsの変動を受けたぐちゃぐちゃの値になってしまいます
これを正すにはどうすればいいのでしょうか おれ思うんだけどさ
アニメーションの制御こそステートマシンじゃなくてビヘイビアツリーのシステム使ったほうが
都合が良いような気がしてきた
アニメーションて定型遷移より割込み処理のパターンのが多いもん >>569 物理使ってるのはそれでいけるんですがアドアクターワールドオフセットとかで動かしてると常に0になるのでダメでした ごめん。じゃあ分からん
何フレームか前のデータを参考に平均を取るしかないんちゃうか つーかオフセットで動かすくらいなら
別に速度を計算しなくても
亜からじめ速度を決めておいて
その速度通りに動かせばいいだけなんじゃないの プレイボタンを押すと、スプリングアームでアクタの後方に配置しているカメラが
ルートコンポーネントのオリジンの位置に固定されるんですが、なにが原因なんでしょうか? もしかしてそれはスプリングアームに付いているカメラではなくアクタの中心点が
描画用ターゲットカメラとして選択されてるのではないか?
UE4の視点決定の流れは実は結構ややこしく、詳細かいてないので分からないが
もしそのアクタがテンプレートで生成済みのものではなく
自分でActorクラスから1から配置してつくったものなら最終描画カメラがアクタの中心点に設定されている可能性がある
初心者がたぶん一度はハマる部分
(あとは忍者本でも読んでくれ〜) てっとりばやく書くとアクタが持っているカメラコンポーネント(の位置)ではなく
そのアクタ自身がカメラになるということがUE4では可能ということですゥ〜〜〜
そこら辺はプレイヤーコントローラやらカメラマネージャやらウンたらカンたら >>577
アドバイスをもとにプレイヤーコントローラーをアタッチしたところ
C++からCreateDefaultSubObjectで作ったカメラが正常に動作するようになりました。
でもエディタから追加したカメラは同じ症状が出ています。
回避する方法はわかったのですが、正直原因がよくわからないのでもう少しヒントもらえませんか?
とりあえず先に進めるようになりました。ありがとうございます。 >>578
訂正。エディタでも正常に動作してます。
アクタに2つカメラをつけて切り替えを試してみたら
最初にアクティブにしたカメラは正常に動作してるんですが
切り替え先のカメラにはアクタがカメラになる症状がでます。 ■ このスレッドは過去ログ倉庫に格納されています