【UE4】Unreal Engine 4 初心者質問スレッド part4 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>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フル回転させるとかならとかく そうなのかー
ちょっとずつUEの勉強も始めようかな、あとC++の基礎とか BP処理重いといえば重いがCPUの速いPCでは問題にならない。
GetAllActorsOfClass等の一部の問題メソッドを使わなければ。
あとループとかマクロとかでPCでも無理なことしなければ。
BPは規模が大きくなるとメンテナンス困難なのが問題になる。
ソースコードなら使える様々な手段がノードベースであるために使えず、全部目で見て手で直すしかないのは厳しい。
ただしC/C++ベースの開発と比べての話なので、そもそもBPしか使えないなら気にすることではない。 FuncA()をもつclass Aのヘッダをincludeしているclass Bがあった場合、
class BのインスタンスInsBから、InsB->FuncA();
みたいにclass Aのメンバを直接は呼び出せないんですか? >>639
includeしてclass Aをclass Bから利用できるようにしたところで、class Aとclass Bは別クラスのまま。class Bのインスタンスに対してclass Aのメソッドを呼びだすなど出来ようはずはない。 ありがとうございます。継承とごっちゃになってました。 知慧深き諸先輩方のお力をお貸ししていただきたくこちらに質問をさせて頂きまそ
キャラクター表示のための2Dのspriteが、外部ビューア・ビューポート・テクスチャ・スプライトでは同じ色味で表示されるのに対し
ビューポート内のカメラプレビュー及びスタンドアロンでは暗いところがより暗く、明るいところがより明るく表示されてしまいます。
マテリアルやdefaultengine.ini、プロジェクト設定、コンソールコマンドなど思いつく限りの手を試してみましたがダメでした...
カメラアクタのcolor gradingをいじっても完全に同じ色味にすることができず、途方に暮れております。
どうかお助けくださいorz ライティングの問題じゃ無いかと思う。エアプであった。 旧バージョンではpower2.2につないだらマシになった気がする 上のタンクの質問してた人と同じような失敗でハマった・・・
プレイヤーとの距離を調べてレンジに合わせた攻撃出すような処理で
AIコントローラの中に実装した関数でプレイヤーと操作中の敵の距離算出するのに
うっかり自分(コントローラ)のGetActorLocationしてしまってたわ キャラクターのスケルタルメッシュがいつの間にか消えるんだが
デフォルトに戻すボタンが表示されているが押しても何も起きない。修正して保存しても再起動すると消えてる。この現象は何だ あなたがバグだと思うものがバグです。ただし、Epicの修正パッチを得られるとは限りません…… >>647
一つだけおかしいものがある場合は、まず異常のないものとプロパティを見比べるとよいよ 物理ボディの設定のコツがさっぱり分からん・・・
>>647
リダイレクタ系の悪さとかでは・・・?
その対象のメッシュってリネームしたりフォルダ移動させたり
リンクがあるのに無理矢理削除とかしたことあるファイルじゃない?
UE4のブラウザ上では消えてても実際のフォルダ上にリネーム前のアセットが残ってて
ヘンな挙動になったことが自分の経験であった UE4.17辺りを調べた情報で、Googleがgradleに完全移行する為にantをサポート対象から消す方向らしいね
UE4も近い内、antが消えると思う
皆知ってるかも知れんけど気を付けて
本スレの続き
manifestの指定したsdkのバージョン設定はgradleで変更されるのは確認出来た
そんで、gradleでのsdkのバージョン14以下はエラーとして扱われる
という事はsdkの指定したバージョンをどこかで参照してエラーとして判断している
比較対象してるファイルがどこかにあるを見付ける
今ここまで考えたけど、ファイルがどこか分からない OS5.0はSDKバージョン14に対応してたのは分かったけど根本的な解決になってないな……
わかんねw 連投スマン
gradleでのパッケージングと起動がやっと成功した
SDKバージョン14だけど
batファイルからparse manifestエラーがしんどかった ストーリーマップ敵ダンジョンアイテム装備etcetc…
考えただけで血反吐出るわ
一人でやるもんじゃねぇ まずは小規模なクソゲーから作れよ
最初から大規模なゲームなんか作れるわけがない まずは適当な小サイズのレベルで必要なイベント処理とかBP書いたりして一つずつ機能作って行くのが良いよな
大型なんか作ろうとして作れるものじゃないわ いつでもすぐセーブできてすぐその場で再開できるようなゲームを作るときは
最初からセーブ機能を実装することを考えたほうがいいわ
あとからやろうとするとすげー面倒な事になる
ソースは俺 そういやUE4ってオブジェクトごとにプログラム組んで複数同時に動かせたりするけど
エンジンなしの素のC++とかのプログラムって一行ずつ処理するんだよね? ■ このスレッドは過去ログ倉庫に格納されています