【UE4】Unreal Engine 4 初心者質問スレッド part6
レス数が900を超えています。1000を超えると表示できなくなるよ。
オーバーラップしたアクターとかを繋いでみて、そのアクターとキャストしたいBPが一致すればキャストできて、そのアクターの変数とかいじれる >>810
AというアクターBPとBというアクターBPががあったとして、AとBが接触しないとキャストできないということでしょうか。 >>811
そのBP使っているアクターを特定できればいい。他から操作キャラクターをいじるならGet player pawnとか、重いらしいけどすべて見つけるならGet All Actors of Classとか >>811
そんなことはないよ
Actorは抽象クラスといわれるような存在で、そのまま使われることはなく基本的には継承して扱われる
Castに関してはC++の継承とポインタの話なのでそこを調べたほうが正しい、が
例えばActorを継承したMyActorをレベルに配置し、そのアクターをレベルブループリントで参照
(アクターを選択した状態で、ブループリントエディターの右クリックメニューで参照を出すやつとか)する場合は何者かわかっているので、MyActor自身が持ってる変数にアクセスできる
つづく GetActorsなどで取得した場合は、Actorとして参照するので、Actorが持ってる変数にはアクセスできるがMyActorとはわかっていないのでMyActorがもってる変数にはアクセスできない
ここで、Actorを入力としてMyActorとしてCastが成功すればMyActorと認識できてMyActorの変数にアクセスできるようになる
もちろん違うActorを入力に渡すと失敗する
例でGetActorsを出したけど基本的には使わないように このへんは文章で説明してもすごいわかりにくいからどうしたものかね? アセットブラウザからアニメーションシーケンスを開くとスケルトンツリーが見れますが
ボーンを選択すると詳細タブにそのフレームでのボーンのトランスフォームが表示されると思います
0フレーム地点でいいのですが、このトランスフォームの値をブループリントかC++で取得する方法はありますでしょうか
プレーヤーのトランスフォームではなくアニメーションアセットのボーンのトランスフォームが必要なのでインターフェースが見つからず苦戦しています >>815
とても丁寧に解説いただきありがとうございます。完全に理解したわけではありませんが、なんとなくはわかりました。
プレイヤーポーンとかプレイヤーコントローラーとかレベルブループリントとか、そういうアクセスしやすいところにグローバルで使いたい変数を集めてそこで管理するとかのほうがいいんですかね。 わからないことが次から次に出てくるんで個人レッスンしてもらいたい。 >>812
Cast to A がプレイヤーならかんたんなんですけどね。
プレイヤーではないのでObjectにつなぐものがないんですよね。Cast to A をしてる時点でObjectに何も繋がなくてもAだよわかってよ。って思うんですけどね。 >>819
どんな感じがわからんけど、変なやり方だと、BeginplayでAがplayerをキャストして自分自身を渡せばいい
playerにActorの変数作っとけば、Selfとかでぶちこめるでしょ
色々とやってみるが吉 >>817
グローバルで使いたい変数などはゲームの内容によって異なってくる
GameInstanceがよかったりGameModeがよかったりGameStateがよかったりもする >>819
なにか抽象的に扱われているオブジェクトを具象化するのに必要なのがCastなのだから
指定されないとわからないのは必然なのだが >>818
自分で調べて解決する能力をつける努力をするべき >>816
答えは知らないのだけどUAnimSequence::GetBonePoseあたりから辿れそうな気はした すみません質問させていただきたいです。
プレイヤーや敵にヒットした矢やボールなどが引っ付くようにしたいのですが、ヒットしたメッシュ位置にくっつけるようなことは可能なのでしょうか。
ヒット位置はライントレースなどで取れますし、ボーンやソケットに対してであれればアタッチできるので
ざっくりとくっつけることはできるのですが、腕や足など大きく動く位置にヒットした場合に見た目が変になります。
メッシュの特定の位置に対して(法線基準のようなイメージ?)しっかりと引っ付く仕組みが作りたいのですが、
何か良い方法はありませんでしょうか。
方法や、参考情報などわかる方がいましたらよろしくお願いいたします。 >>820
そんなやり方もあるんですね。参考にさせていただきます。
ありがとうございます。 >>823
GameInstance,GameMode,GameStateの違いについても調べてみますありがとうございます。
はい、おっしゃるとおりその能力は必須ですね。できる限り自分で調べて、自己解決する能力をつけるようにします。 海のようなフィールドに浮かんでいる箱の中身を自前カッターで開けば、そのまま中身をイジれる
海底に沈んでずぶ濡れの箱を釣竿で釣った時は一度乾燥させて形状を整える必要がある >>825
ヒットした位置とそのコリジョンが属してるボーンとのオフセットを毎回加算してあげるとかではなくて? >>824
ありがとうございます。できました。
参考までにこんな感じです
FTransform Hoge::hoge( UAnimInstance* AnimIns, UAnimSequence* AnimSeq ) const
{
FCompactPose pose;
pose.SetBoneContainer( &AnimIns->GetRequireBones() );
FBlendedCurve curve;
curve.InitForm( AnimIns->GetRequireBones() );
FAnimExtractContext context;
AnimSequence->GetBonePose( pose, curve, context );
return pose[FCompactPoseBoneIndex(0)];
} >>829
その方法で一応くっつくにはくっつくのですが、
メッシュの変形が激しい部位だと、なんか肉の上でぐりぐり動いたり、浮いたりしてしまう状況になります……
しかしやはりボーンにくっつけるほうがよさそうですかね……
現状メッシュとボーンのウェイトとかが荒すぎるのかもしれません……
ちょっとそっちの方向での調整も考えてみます……
ありがとうございます。 まったく試してないけど、
ヒットした瞬間のトランスフォームとボーンかソケットのトランスフォームの差を取って、アタッチすれば何とかなりそうな雰囲気は感じるんだけどなぁ ue4のssr機能使わずに自分でssrを実装したいのですが、可能なのでしょうか? エスパーだが
トランスフォームがワールド基準かアクタ基準かボーン基準かのところで間違っている
スケルタルメッシュの物理アセットが変でコリジョンの位置が想定外の場所に存在
そもそもスケルタルメッシュじゃなくてカプセルにアタッチされている
のどれかだと予想 いろいろ試してみたのですが、やり直してみたところアタッチ関連の設定が間違っていたようです。
それに加えてボーンとメッシュのウェイトも雑だったため変なことになっていたようです。
解決しました! ありがとうございました! 特定の条件の時にキャラ同士のコリジョンを無効にしたいのですが何かいい方法はありますでしょうか
Set Actor Enable Clossionで無効にするとステージとの当たり判定まで完全になくなってしまうので
あくまでもコリジョンの処理は通常で、例外的に指定キャラ間でだけ無効にしたいです
もちろん通常時はキャラ同士もコリジョンさせたいので一律無効はできないです プロジェクト設定でコリジョンのプリセットを作って対応すればいいんじゃね Set Collision Response to Channelで部分的にコリジョンの応答を変えられるようです コリジョンってもしかして1フレームに一回しか呼ばない感じなんですか?
(オンコンポーネントBEGINoverlap)とかのイベント DirectinputのパッドとXinputのパッドを両方繋いでるとして、Xinputを優先させる方法ってある?
両方繋いでる人に箱コン反応しないって言われる アニメーションを再生させたいのだが、
今あるアニメーションは移動が含まれている
移動を消してアニメーションだけを再生させたいのですが、可能でしょうか? とあるタイミングで敵AIに7通りの行動のうち1つをランダムで行動させたいのですが、配列とRandom integer使うしかないでしょうか。 サードパーソンのサンプルに動くcube作ってキャラに衝突させるとカメラが一瞬ズームしてまた戻るという感じに挙動おかしくなるんですけど
これはどうやって阻止するんでしょうか? 極め本だと、UIのテキストに動的な文字列を設定したいときは、バインディングでプレイヤーの変数を渡していました。
レベルブループリントの変数を渡したいときはどうしたらいいのでしょう?
レベルブループリントそのものを受け取る方法が分からなくてうまくいかないです。
どなたか分かる方がおられたらお願いします。 vr開発というのは普通にゲームが作れれば、それほど難しいものではないですか? VRだからって、特別なスキルが必要というわけじゃないよ
テンプレもあるし
問題は市場がすげー小さいこと ある程度作ってる物が出来上がって来ると酔う酔わないはっきりしてくる どういうスキルが必要なんでしょうか?
ゴーグル高いからどんなものか分からんです VRって乱暴に言ったら
視点操作がマウスからジャイロになっただけでしょ
正直つなぐノードを変えるだけで済みそうな気がする
あとはwiiのジャイロみたいな操作がついただけみたいな。
UE4なら対応は難しくなさそうだが UEはデフォでVRデバイスのプラグインが入ってるからそれを友好にするだけ
後はマウスやキーボードと同じようにVRデバイスを扱える
ハンドデバイスに合わせて手のモデルを開閉するとかは自分で造らなきゃだけどサンプル改造すれば簡単
簡単なゲーム作れるスキルがあるなら追加で必要なスキルは何もない ありがとう
安心した
就職する気はないけど、VR案件多いのよね 安価に試したいならoculusgoがおすすめ
2万くらいで買えるし3dofだけどハンドデバイスの真似事くらいは出来るしデバイスがほぼ共通なのでgoで作ったものを他のVR機に流用するのもかなり簡単 自作のモデルを入れて表示させたら一部分が真っ黒くなるんですがどうすればいいですかね?
どのテクスチャを貼っても同じ部分が黒くなるのでテクスチャのせいではない?
あと角度変えても微動だにしないから影でもないっぽいです UVが複数るか、または該当ポリゴンのUVがそもそもない可能性があるね
スタティックでもスケルタルでもエディター開いてUVを確認すると良いよ
いちおうUVは複数持てるけど、特別なキャラでもない限り1つに結合した方がいいかな、とこれはただの個人的意見 >>857
顔と体で分かれてるんですけど黒くなってるのが鼻の下とかのごく一部分だけなんですが影響あったりするんですかね?
一度体を削除して適当なテクスチャ貼ったやつ同じとこが黒くなりました
https://i.imgur.com/KH0UejB.jpg >>858
場所は関係ないよ
これ見る限り、意図せず黒くなってる部分のUVと、普通に影になってる部分のUVがライトマップ上で重なってる可能性もあるかな
ライトマップはデフォだと、チャンネル1として自動で作られて、割り当てられてる
エディタで確認して重複は分かりにくいから、もとのDCCツールで確認した方がいいよ すいません自己解決しました
元のモデルがかなり小さくてそれを拡大するのがよくなかったみたいです
元のモデルを大きくして持ってきたら正常に表示されるようになりました
質問のほう答えてくれてありがとう すみません。質問させてください。
アニメシーケンスの一部のボーンを加算トラックで編集して、元のアニメの動きを編集しました。
プレビュー上は問題なく再生されたのですが、
そのシーケンスデータをモンタージュにいれたところ、加算トラックの回転や拡縮の設定は反映されているものの
位置の設定だけ反映されませんでした。
位置の移動については何か特殊な設定をしないとモンタージュで反映されないのでしょうか?
仕様なのか問題が発生しているのかもよくわからず……
詳しい方がいらっしゃいましたらよろしくお願いいたします…!! >>862
自分もこれで悩んでる、アニメーションレイヤーでリターゲットしたモデルの肩とか位置の微調整したいんだけど、回転と拡大縮小効くのに位置だけ効かない
元のマネキンとかチュートリアルのマネキンだと効いてるんだけどなんなんだろうか… >>862
>>863だけどなんとなくスケルトンのトランスレーションのリターゲティングを全部アニメーションにしてみたら反映されたよ、ただ、俺の場合今度はモデルが歪んじゃったから部分部分でスケルトンにしたほうがいいかも 参考までに >>863
862ですが、すみません。
>スケルトンのトランスレーションのリターゲティングを全部アニメーションにしてみたら
こちらの意味が理解できませんでした……
もしよろしかったら詳しく教えていただきたいです。
よろしくお願いいたします。 >>865
ああ、多分同じようにオリジナルのマネキンに自前のモデル合わせて使ってると思うんだけど(そうじゃなかったらスマンw)
その時スケルトンのスケルトンツリーのオプションでリターゲットオプション表示してトランスレーションのリターゲティングを"移動リターゲティングスケルトンを再帰的に設定"にしたと思うんだけど、これをしないでアニメーションのままで大丈夫
もししてたら移動リターゲティングアニメーションを再帰的に設定でトランスレーションのリターゲットがアニメーションになるから、これでアニメーションレイヤーで動かせるようになるはず >>886
ありがとうございます!
試してみます!! デカールを反映させるかどうかの設定って、全部反映するか全く反映しないの二択しかないんでしょうか? 個別でいけるよ
デカールでも、デカールを貼ってるメッシュ側でも、デカールを受けるかどうかのプロパティがある メッシュごとにデカールを受けるかどうかのプロパティは見つかるんですが、
例えば
・デカール@はメッシュAには反映させるがメッシュBには反映させない
とか
・メッシュAはデカール@を反映させるがデカールAは反映させない
みたいなことも出来ますかね? やったことないけど、出来る、と思いますよ
デカールにコリジョンがあったかどうかは知らないけど、
もしなくても、そのデカールをBPにしてコリジョンを追加して、オーバーラップしてるメッシュがAかBかを判断すれば可能
他にもやり方あるかもしれないけど、自分ならそうするかなと書き込みを見て思った
詳しくはググってください なるほど
デカールに機能が搭載されてるかどうかだけ考えてましたが、そうやれば出来そうですね
ありがとうございます Homeキーをキーボード入力として拾いたいんですけど、なぜか見つからない
Insert、Delete、End、Page Up、Page Downはあるのに
Homeキーを拾うにはどうしたらいいのでしょう?
ttps://i.imgur.com/r8sn09l.png any keyノードを使って
それで反応しないなら諦めて >>874
カタカナで「ホーム」だったw
AnyKeyノード教えてくれてありがとう VDBのファイルはue4でどうすれば開く事が出来ますか? 俺がスレに書き込むと書き込む奴がいなくなるのやめろ カメラ移動の速度を上げたいのですが、マウススクロールで上げる以上に速くすることは出来ますか? >>880
エディッターのカメラならビューボードの右上で変えられます(デフォルトは4) 【ステマ少女パクリマギカとスマガとの共通点 】
魔女
赤・青・黄・黒で色分けされてる
他にも何人もいるが物語開始時点でこの四人以外は全員死亡
赤はツンデレで相討ち上等
青は劇中で悪魔化
黄はさっさと死んだりいつの間にか死ぬ
黒は真ヒロインでループセカイの原因。
ループし過ぎて性格が捻くれたが元は大人しい性格の三つ編み眼鏡っ娘
主人公
肉体的には凡人ながらループ能力を手に入れてハッピーエンドを目指す。
中盤で神と同位の上層存在になり下層セカイでの己の分身を生み出し
あらゆるセカイに送り込みそれぞれのセカイ、魔女を救う(過去に死んだ者も含め)
悪魔
作中における魔女と人類の敵。
魔女の絶望が産み出す魔女のなれの果て。
鉄槌の日(マレウス)
毎年恒例、強大な悪魔が襲来する日で、必ず一人は魔女が死ぬと伝えられている。
序盤の主人公はとりあえずこの日をヒロインとともに生きて乗り越えることを目的にループを繰り返す。
教官
スマガのセカイは存続する為のエネルギーとして「悲劇」を必要としている
唯一そのからくりを知る魔女たちの教官はセカイを存続させる為
少女たちを魔女として契約させ育成し戦いに赴かせ死なせ続けている
もちろん少女たちにはセカイのからくりも、彼女らが約束された死を迎えることも秘密 UEってソースコード一切必要なしってのを売りにしてるけど
逆にunityみたいにソースコード使って開発することってできるの? ソースコードでの開発もできるし、エンジン自体のソースを改造してカスタム仕様にすることすらできる >>883
Unityと違ってエンジン自体のソースコードも無料で含まれてるから何でもできるぞ >>884>>886
エンジンのソースコードいじれるのすごい
グラもきれいだしUnityと比べるなら負けなしって感じだね 起動する度にファイル展開めちゃくちゃするのな
NVMeに突っ込んだらだいぶ早くなりそう キャラクターの移動で移動速度についてです。
「A地点からB地点までの直線移動を3秒きっかりで移動する。」など
移動にかける時間を指定することはできますでしょうか。
Max Walk Speedなどのパラメータを調整して、時間を測っては微調整をして、を繰り返すしかないでしょうか。 >>890
そろばんのことですかねw
距離と時間から速度を計算するしかないんですね。
ありがとうございます。 UE5になるとUE4のアセットは使えなくなったりするのでしょうか? >>895
>前方互換性を持つようにデザインを行っているため、現時点で UE4 で次世代開発を開始して、
>UE5 の準備ができた段階で移行することが可能です。
とあるからできるでしょ 今月無料のmeadowのマップを開いてみたのですが、草などが遠く離れると非表示になるのですが、これを遠くまで表示させる方法を教えてください 自己解決しました
cell distanceの数値を0にしたら表示出来ました >>896
ありがとう
互換性があるならいけそうだな
早くUE5に触れたいな コリジョン関係のブループリントで、プリセットをセットするノードがないのは何故なんだろう?
EnaledとObjectTypeとResponseがあれば同等のことができるのは分かるんだけど、プリセットがあれば楽にセットできるはず
詳細で設定できるものは全部ノードでできるものだと思ってんだけど
ttps://i.imgur.com/izZWFT3.png Set Collision Profile Nameってのがそれじゃない?
ttps://docs.unrealengine.com/en-US/BlueprintAPI/Collision/SetCollisionProfileName/index.html
リスト式で選ぶんじゃなくてテキスト形式でプロファイル名入れないといけないけど 失礼します。
NoCollisionに設定しているStaticmeshCompornent(剣)をキャラクターに
[Static Mesh Compornentを追加]→[Set Static mesh]→[AttachCompornentToCompornent]という流れでアタッチしたのですが、
コリジョンがある状態でアタッチされてしまいます。解決策ありますでしょうか。 BP上のcollision設定はどうなん?
statickMeshのcollision判定用のメッシュそのものを削除するのもありじゃね? シーケーンサーでゴミを空中に浮かせたいのですが、ゴミを1つ1つトランスフォームで動かすのが大変なので、何かランダムで複数のゴミを動かす事はできますか? 物理シミュレートでゴミ山をを吹き飛ばしてシーケンスレコーダー機能で録画ってのはどう? ポイントが2500円ほど有ったのでリアルタイムビジュアルライゼーション本ポチッとした。 Epicランチャーのマーケットプレイスで買ったプラグインを入れたままコンパイルしようとするとエラーがでて終了するのだけれど、コンパイルするにはどうすればよいのでしょうか?
UATHelper: パッケージ化 (Windows (64-bit)): ERROR: Windows SDK must be installed in order to build this target. レス数が900を超えています。1000を超えると表示できなくなるよ。