【UE4】Unreal Engine 4 初心者質問スレッド part4 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>535
してるかも。何回もしてるけど問題が起きたのは今回が初めて。
古い方のUE4を新しいのにすれば直る? >>536
フィルタは正常。フィルタかけてもやっぱり表示されない… UE4はメジャーアップデートのときに機能が追加されてアセットのフォーマットが変わることがあり、
変わったときは保存したアセットにエディタのバージョンが記録されて、新機能に未対応な古いエディタで開いてしまうことが無いようになっている。このときContent Browserから見えなくなる(ひどい仕様)。
つまり一つのプロジェクトに対して複数バージョンのエディタを混在して編集作業することはほぼできない。 一度新機能なくて良いから、バグ無しに更新されたUE4が欲しい 安定したバージョンにしてそのまま使い続ければいいだけでは 関数内でdelayと同等な機能組めないかなぁ
setTimerくらい? delayとかset timerって実用的じゃない気がするんだが
例えばディレイやタイマー中にステージクリアしちゃったらどうすんの
関数にはできないだろうけど
タイムラインで処理したほうが無難だと思うなぁ 関数はともかくマクロにはディレイ折りたためば持ち込めるな
そいつを関数に入れたら、まあたぶんエラー出るだろうな
問題起きたときの検討箇所も増えるしシンプルに解決できないことは無理にやらない方がいいと思う 1秒処理を止めて1秒間のアニメーションが終わったら次の処理へみたいなのをdelayなしでやりたい >>551
五時に起きて結果まで見てくれるあんた優しいわw 色々近い方法は見つけたけど今回はUMGアニメーションの終了を検知して次の処理へってだけだからdelayでいいがしてきた >>555
UMG のアニメーションなら終了イベントあるから
そっちのほうが安全 >>556
Event On Animation Finishedのことですか?
試してみましたがこれを使った方法が思いつきません
今回は複雑なanimationではないのでTimelineで解決しましたが今後のために知りたいです 自分の状況にあったアドバイスがほしいなら貼ればいいのに >>557
タイムラインで何を動かしているのか分からないからあれだが
UMGで作成したアニメーションの再生終了時にイベントが飛んでくるので
適切にハンドリングしてあげればよいだけだよ https://imgur.com/ojICbBY.jpg
https://imgur.com/DhxaJ9N.jpg
黒画像のopacityを1から0に変えてフェードイン・フェードアウトをするだけのアニメーションです
overlapしたらフェードアウトアニメ再生
フェードアウトアニメーションが終わったら「FadeoutToFadein」でPlayerPawnの位置を変えてフェードインのアニメーションを実行
フェードインアニメーションが終わったら「ProcessAfterFadein」でUMGをRemoveする
Delayなしに最初と同等な機能が組めましたがまだ遠回りな気がしてなりません >>560
二枚目でplayerのtick止めてるけどええんか?
その後のIsWarpFromもGoToWarpPointから持ってこられてるやつじゃないけど大丈夫?ってかそいつの役割はなんだろ
ディレイ使わない理由はワールド時間に依存するからかな?
それならやっぱりアニメーションの終了をフラグにするのがいいと思うけど 勝手にエスパーして悪いがこれはどうだろう
主人公も周りもピタリと止まったあと、目的地で立ち尽くせる
その時間はフェードのオンオフに依存
移動先はトカゲアイコンの空アクター、レベルで自由に設定できる
ttps://i.imgur.com/OZHsWoM.jpg
ttps://i.imgur.com/fWAdCZF.jpg
ttps://i.imgur.com/4dM5RNe.jpg
ttps://i.imgur.com/4wIgRAh.jpg >>563
IsWarpfromは無限ループしないようにワープポイントが持っているbool変数です https://imgur.com/Dp1wgc5.jpg
https://imgur.com/LMaUmE0.jpg
アドバイスを受けて色々変えてみました
相互に行き来できるワープギミックなので「IswarpFrom」があります
今のところTickを止めても問題ないので「TickEnabled」を使ってましたが確かに後々問題が出そうです
「SetGlobalTimeDilation」を使うと移動は出来ませんがその場で向きだけが変わってしまいます。 変な書き方で止めないでくれ
解決したのか、何を求めてるのか分からん
1秒フェードはもういいのか? >>566
すいません途中で送ってました
今の状況は
eventTickEnabledを使うとうまく行く
setGlobaltimeを使うと(画像)フェード中にその場で回転してしまう
今後の為に後者を採用したほうがいいとは思いますがあとこの問題だけが解決しません うーん見せてくれた限り、ほぼ同様に組んで検証したが普通に飛んでくれたぞ?
まだ見えてないそちら特有の部分と競合してるのかもなぁ
ちなこっちはサードパーソンサンプルのほぼデフォ状態での検証
そっちはツインスティックサンプルみたいだがそこらが関係あるかは自分で試してくれ… >>569
あ、移動はするけど飛んだ先でフェードインが終わるまで入力を受け付けないようにしたいのに方向入力だけうけつけてしまっている、という意味です。 なんだそれだけか、それならプレイヤー入力も同時に止めればいいだけのこと
timedilationの後にEnableInput、DisableInputでも追記してやるといい(たぶん) FString ObjectName = GetOwner()->GetName();
UE_LOG(LogTemp, Warning, TEXT("positiom report for %s"), *ObjectNamei);
このObjectNameはポインタ型ではないのに、何でこのような記述ができるんですか?
FString* にしたらエラーになる理由もわかりません。 FStringクラスが単項演算子*をオーバーロードしてるから >>574 >>573
レスありがとうございます。
オーバーロードされるタイミングがあまりイメージできませんが、
ざっくりいうとFStringの変数はポインタ型になるということであってますか? >>575
ちがう
単項演算子 オーバーロードで検索すればわかるけど
前方アスタリスクをつけた場合の振舞いを FString クラス内で定義している
*Hoge は必ずしもポインタの実体参照ではない >>577
何か代入時に処理されるものと勘違いしてました。
これで先に進めます。ありがとうございました。 4.18でビルドしてから、前まで出来てたのに、gradle.batが無いとかでいきなりエラー吐かれて詰まった
誰か改善案知ってますか? UMGいじってるのですが、文字の大きさや行間の幅などはブループリントで任意にコントロールできるのでしょうか?
サイズに関してはScaleboxをテキストの親にすれば大きさ変更できたのですが行間は方法が見つけられなくて。
可能ならばテキストのアピアランスのパラメーターを直接セット&ゲットしたいのです。 selectノードってステートマシンじゃ使えない? AActorのAはActorクラスのことだとわかるんですが、
UWorldのUと、FStringのFは何を指しているんですか? >>589
ありがとうございます。ずっともやもやしてたのがすっきりしました。 ue4って他のアクタを管理するためだけの描画もコリジョンも必要とせず実行優先度が高い
HogeHogeManagerとかFugaFugaObserver的なBPは作れないんでしたっけ?
そーゆーのはGameModeとかに実装してくださいってことなのかな? やっぱそうですよね
>>593
インゲーム中は必ず必要になる機能なんでGameModeにでも実装します Tickが呼び出される順序のことなら、TickGroupである程度設定できる。 コンポーネントでつくってGameStateにもたせるのもいいよ GameStateか
まだ使い分けよくわかんないな
ドキュメント的にはあれはオンライン用で、シングルだとGameModeみたいに取り敢えずただ裏で走ってるだけみたいな感じかな Androidパッケージ化でエラー吐きすぎてやになってくる パッケージ項目の企業名とプロジェクト名を入れる所で、文字入力を何回直しても、エラー吐かれまくって発狂しそうになった事はある Aという攻撃を受けたら、Bというアクションが一定時間使えなくなる的なのは何で作れば良いだろうか
具体的には敵のビームを受けたら、ジャンプが数秒出来なくしたい
ちなみにビームね当たり判定と、ダメージは作れました cooltime cooldown 制限時間といったワードで検索すれば出てくると思うゾ
tickのやつとかDelta Secondsのノードのfloat値と自分で用意したfloat値と
ブーリアンであーだーこーだやれば簡単よ レベルエディタでエリア全体をまとめて90度回転させたら
トランスフォームに少数誤差が発生してしまったので
位置と回転の少数切り捨て(上げ)をさせたかったんだが
UEのスナップって相対スナップしか出来ないのね
今後こーゆーことまたおきそうだから何とかしたいのだが
アクタのトランスフォームの少数まとめて切り落とす良い方法あります? マテリアルエディタでエラーが出たときに出るダイアログで
うっかり「今後表示させない」をやってしまったようなのですが
出なくなってしまったエラーダイアログを再度表示させる設定に戻す方法知ってる方いらっしゃいますか? Vehicleのチュートリアル触ったがカスタムの余地がないレベルでいい出来だな…
アニメーションブループリントがあそこまでカバーしてくれるとは プレーヤースタートを地上より少し上に設定してプレイボタンを押したら
デフォルトポーンは落ちてきても、プレーヤーコントローラーがプレーヤースタートの場所に留まってしまいます。
プレーヤーコントローラーをデフォルトポーンの位置に同期させるにはどうしたらいいんでしょうか? なんで同期をとる必要があるかわからないけど
GetPlayerPawnでとれるアクターにアタッチすれば位置の同期はとれるよ 処理順てきには、デフォルトポーンの、 BeginPlayでGetControllerでコントローラーとってきてアタッチの方がいいかもね でもアタッチされてないと気持ち悪いという気持ちはわからんでもない
無駄なのは同意 返信ありがとうございます。
敵戦車AIのスクリプトで、BeginPlayで
AMyTank* PlayerTank = Cast<AMyTank>(GetWorld()->GetFirstPlayerController()->GetPawn());
でプレーヤーのインスタンスを取得して、
PlayerTank->GetActorLocation();
でプレーヤーのポーンの位置を指定して、そこに弾を打つという処理をしたいのですが、
なぜかAIの戦車がプレーヤーコントローラーの位置を狙っている状態なんです。
GetPlayerPawnでポーンの場所を指定してもプレーヤーコントローラーの位置を狙ってきます。
APawn* PlayerPawn = UGameplayStatics::GetPlayerPawn(GetWorld(), 0);
PlayerPawn->GetActorLocation();
プレーヤーコントローラーではなくポーンを狙わせるにはどうしたらいいんでしょうか? >>GetWorld()->GetFirstPlayerController()->GetPawn()
コントローラのインスタンスとってない?と思ったエアプ。 すみません自己解決しました。
プレーヤーコントローラースクリプトを当てた戦車のメッシュをシーンコンポーネントの中に入れていたのが原因みたいです。
何らか設定しないとシーンは一緒に動いてくれないみたいですね。
レスありがとうございました。 質問したいのですが、アプリを配付する時に自分達が作った素材を簡単に抜き取られない様に出来ますか?
パッケージングした時に自動的に暗号化等はされるのでしょうか?
お願いします オープンソースだからパッケージのアセットをDCCツールのフォーマットに逆コンバートするツールも多分あるんだろうけど、
PAKフォーマットやSerializeに手を入れればツールそのままでは使えなくなって、マイナーなゲームなら解析する人も現れず、素人ではぶっこ抜けなくなるんじゃないか。
暗号化もかけられるけど同様の理由で手は入れる必要あると思う。遅くなるローディング速度とも相談。復号できる鍵がバイナリに入っている以上、本気で解析されたらどっちみち抜かれると思う。 端末に入れた以上はやっぱり防ぎようが無いんですね
皆さんありがとうございます ゲーセンに新しく出た電車でGOもUEなんだね
デモでロゴが出てた 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
R9CONCF1RP >>619
アレはフォトリアルな表現を追求してるらしいからな
UEにゃピッタリだ
ただ、あの手のものはモデリングの手間がハンパねぇと思う PC用のUE4のインディーのゲームをプレイするのに、いつでもクリーンインストールできる専用のサブマシンとか仮想環境とか用意したりしてますか?
PCはいったん実行すればほぼ何でも出来るからちょっと怖いなって思いました。故意にせよ過失にせよ。 実行したら何でも出来るって意味が分からないんだが
ネットに転がってる見知らぬインディーゲーしたらウイルスに感染するのが怖いですって事?
それなら手を出さない方が良いかと >>613
Actor はルートコンポーネントを動かすから、その中に入れなていないシーンコンポーネントは置き去りになるよ
プレイヤーコントローラーの位置を狙っているように見えて、正しくアクターの位置を狙ってたという結末だったのだけど
Actor を移動させるとき、メッシュコンポーネントを直接動かしてたりしたのかな?
なんか最初に「自キャラがうまく動かねぇ」とかやった経緯が見え隠れ UE4でのad広告はバナーだけですかね?
広告の動画とか載せる方法はありますか? 大きなデータベースを扱うならUE4とUnityどっちがいいとかあるの? それは知らんが処理速度はUE4のBPよりunityのJS、C#やらUE4のC++のほうが早そうだよね >>629
BPの方が遅くなるんか、コンパイルしちゃえばC++で書いた時と同じってわけじゃないのね >>630
マジ!?
これから入門書買ってやろうと思ってたんだけど!? BPて中の人が最適化続けてるみたいだからそのうち差が無くなるのでは
そうなったらこっちに乗り換える() 別にいまのBPでも
C++が困るほど糞重くなることってそんなに無くないかね
将棋や囲碁ソフト並みにCPUフル回転させるとかならとかく ■ このスレッドは過去ログ倉庫に格納されています