【UE4】Unreal Engine 4 初心者質問スレッド part6
■ このスレッドは過去ログ倉庫に格納されています
>>695 アセットにヘックスのやつってなかったかな 格闘ゲームの投げ技のように、つかみに行くアニメーションがヒットしたら自分と相手が同期してアニメーションする仕組みを実装しようと思っています 同じフレーム数の攻撃側のアニメーションとやられ側のアニメーションを用意したのですが つかみがヒットした後の処理で、自分に攻撃アニメーションを再生して、そのすぐ後で当たった相手にやられアニメーションを再生するという何とも冗長的な実装方法しか思いつかないのですが 同時に別々のアニメーションを再生させるスマートな仕組みとかあったりしますでしょうか >>698 ヘックスじゃないけどトップダウンというサンプルが近かったです。 サンプルちゃんと見ないとダメですね。すみませんでした。 >>699 その方法でいいと思うけど、シーケンサーを再生するという手もある >>688 削除出来ないなら見えなくすれば? コリジョンとかも無くせばゲーム中は無くなったのと一緒 パッケージ化の際に ERROR: Unable to instantiate module 'UnrealEd': Unable to instantiate UnrealEd module for non-editor targets. ってエラーが出てパッケージ化できなくて困ってます IntermediateとSaved消してから試したり、 uprojectファイルのAdditionalDependenciesにUnrealEdがないことなどは確認しました 何か他に怪しい箇所などはありますか? >>703 エディタ用のモジュールが使われているからパッケージが作れない もう少し書くとUnrealEdを必要とするAPIとかをどこかで使ってるので UnrealEdが見つからないって言われてる ログからなにを使っているせいなのか辿る必要がある >>704 モジュールはuprojectをメモ帳で開いたときに書いてあるモジュールがプロジェクトに含まれるモジュール全部って認識なのですがあっていますか? その場合モジュールは1つしかないので、このモジュールの中からUnrealEdを必要とする処理を探して消せばいいということでしょうか? >>709 C++つかってるならSourceフォルダ内の(Project名).Target.csのなかにUnrealEdに依存しているモジュールがあるか 自分でUnrealEdのAPIを呼び出しているかかな >>710 (Project名).Target.csの中は Type = TargetType.Game; DefaultBuildSettings = BuildSettingsVersion.V2; ExtraModuleNames.AddRange( new string[] { "(プロジェクト名)" } ); となっています。 自分で書いたソース以外は追加していないので、書いた処理の中にUnrealEdのAPIを使っている処理があるということでしょうか? IT掲示板群 ttp://x0000.net/forum.aspx?id=15 学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net 数学 物理学 化学 生物学 天文学 地理地学 IT 電子 工学 言語学 国語 方言 など simulationライブラリで純粋な関数式プログラミングをする ttp://x0000.net/topic.aspx?id=3631-0 UIライブラリ (C#, 2D) を作ったよ ttp://x0000.net/topic.aspx?id=3688-0 連続と離散を統一した! ttp://x0000.net/topic.aspx?id=3709-0 4Dエンジン ttp://x0000.net/topic.aspx?id=3677-0 matrixのライブラリ ttp://x0000.net/topic.aspx?id=3711-0 ある強力なFor関数 ttp://x0000.net/topic.aspx?id=3630-0 SQLライブラリ ttp://x0000.net/topic.aspx?id=3675-0 >>713 何度もすいません UEdGraphPinを使っていたソースを消して (ゲームには使っていなかった) パッケージ化を試してみたのですがダメでした。 他にはUnrealEdを使ってそうな部分は見当たらなかったのですが、 UnrealEdを使っている箇所の特定方法などはありますか? >>714 パッケージ化しようとしたときのログに出てると思うけど >>715 (referenced via Target -> プロジェクト名.Build.cs -> BlueprintGraph.Build.cs -> KismetCompiler.Build.cs) とログにあったので、プロジェクト名.Build.cs内のBlueprintGraph.Build.csの記述を消して再度パッケージ化をしてみたのですが、 また同じエラーでログに出ているファイル名も変わりませんでした。 build.csを書き換える際に何か必要な手順があるということでしょうか? >>716 もうそれ以上はログかプロジェクトを直接みないとわからん 失礼します。 ボタン入力についてです。 あるブランチがTrueだった際に、次に「A」「S」「D」「W」のどのボタンを押すかを取得し、その条件によってノードが分岐する。というものを作りたいのですが、 ブランチですべて組むと、4つそれぞれのボタンが押されているかの真偽をセットし、それをブランチの条件にして、と少し複雑なノードになってしまいます。 ボタン入力に特化した、「A」「S」「D」「W」それぞれ、このボタンを押したらこっちに分岐、このボタンを押したらこっちに分岐、という感じにシンプルにする方法はないでしょうか。 >>719 すみません「UE4 入力イベント」で検索したのですがどれのことなのかわかりませんでした。古典的なローグライクのマス移動を作っているのですが、そういう場合でも入力イベントが有効なら教えていただけますでしょうか。 >>722 ありがとうございます。読ませていただきました。 キーボードイベントのことでしょうか。 キーボードイベントをそのまま使用すると、いつでも処理を受け付けてしまうので、 キーボードイベントの真偽情報を一度変数に入れ、 それをブランチの条件にして実装してました。 ボタン指示待ちの状態を作り、このボタンが押されたらこの処理このボタンが押されたらこの処理、と言ったことのできる簡潔なノードはないと言うことでしょうか。 ブループリントは基本スパゲティになる、簡潔に書こうと思うと終わらないよ >>723 ローグライクだから、移動中はキー入力を受け付けないようにしたいという事かな キー入力したら移動処理中のフラグを立てて、そのフラグでブランチすればすれば良いんちゃうか 結局聞きたい事は簡略化の話じゃなくて、シンプルな処理待ちの話か 一個のノードをペタって終わりとか諦メロン 僕も質問してみまんこ(^^ UE4でゲーム作るときにシューティングとか2Dアクションとか作れまふよね(^^ それの2Dアクションのspriteを変える方法を教えてくらふぁい(^^ 僕は初心者なので優しくしてでふ(^^ ボッキング!(^^ 近いのはスイッチかな それでもキーボードイベントで変数に代入してスイッチに渡すから、キーボードイベントから処理中ブランチ通して移動処理に行くのと対して変わらんな 皆さんこんにちは! unreal engine4をはじめたばかりなのですが、複数のテクスチャーをブレンドして 貼りたいと思い試したのですが、うまくいかなので質問させて下さい。 まずテクスチャーを重ねたいのでTexturesampleを複数だしました。それをmultiplyで 重ねたいと思い一つめのTexturesampleノードのテクスチャーを マテリアルエクスプレッションテクスチャーをダブルクリックして中に入りパスを指定して マップを貼りました。 同じように2個目のTexturesampleノードにもテクスチャーを貼ったのですが、最初の ノードのテクスチャーも一緒に2個目と同じものに更新されてしまいました。 画像パスを変更すると、複製前のテクスチャーも変更されてしまいます。 どうしたら複数のテクスチャーをマップすることが可能になるでしょうか? 保存する時に アセットDefaultTexture(DefaultTexture.uasset)の保存に失敗しました って出るのでそれがいけないのでしょうか?どうして保存できないのかも分かりません。 基本的な部分かと思うのですが、アドバイスお願いします。 皆さんの意見を参考にローグライクのマス移動についてこの画像のようなノードを組みました。 これで100単位でのみ座標が動くはずだと思ったのですが小数点以下がずれるどころか「102」とか進んだりしてしまいます。 たくさん移動しているとその積み重ねでどんどんずれていき困っているのですが、100きっかり動くというのは無理なんでしょうか。 違う方法があれば教えて下さい。https://imgur.com/a/JHiTeVv.png あー関数化を知らないんじゃないかと思ってたら、その通りだったな オレならW上からinput matiまでを関数にしてキーボードイベントの後ろに付けるわ なんでズレるのかは知らん >>730 AI Move ToのAcceptance Radiusを0にしてみたら ai moveって関数化出来んのやな マクロ化は出来たんで纏めてみた ちゃんと動作検証してないんで間違ってたらゴメンやで https://i.imgur.com/GieO27T.jpg https://i.imgur.com/CY6VPh0.jpg 15年前くらいにMaya触ってたレベルなんですが 建築系するとしてC4Dとun real engineどっちが入りやすいですか? フリーのオブジェクトがインポートしやすい方というか 壁紙ぱっと変更したりテーブルの柄変えたりなんですけど もう知識がなくなって0ベースから始めたいんですが UEはモデリングソフトじゃないからC4Dの比較対照にはならない。 >>735 なるほど 別ツールでモデリングして引っ張ってくるのが主流なのか ありがとござます >>734 autocadの図面を読み込めるmax >>733 ご丁寧にありがとうございます! おかげさまでできました! マクロを全く使ったことがなかったんで、使いこなせるように勉強してみます。。 感謝感謝 >>732 僕のノードのまま、cceptance Radiusを0にしたらなぜか動かなくなってしまったんですが 733さんのやり方だと0にしても動きました! ありがとうございます。 皆さん本当になんでも知っていて尊敬します。 >>733 色々とテストをしていたのですが、移動が終わる前に再びボタンを押してしまうと、座標がずれてしまいます。 おそらくAI move to の実行ピンからSequenceにつなぐと、移動の処理を始めた段階で、Is Moving のチェックが外れてしまい、 移動中も入力を受け付けてしまうのだと思います。 なので実行ピンからではなくOn successからSequenceに繋げばうまくいくだろうと思ったのですがAcceptance Radiusが「0」だと1マス動いた時点で どちらにも動けなくなってしまいます。 100移動の指示をしても実際には誤差が生じ、サクセスに抜けなくなってしまうのではないかと思ったのですが、現在位置をTick直下でPrint stringして監視していると、きっかり100動いているんですよね。 どうしてサクセスに流れないのでしょうか。Acceptance Radiusを上げれば動けなくなることはないですが座標がずれてしまいます。 ue4のc++の.build.csにある publicのAddRangeに ProceduralMeshComponentを 追加して ほかのhファイルでProceduralMeshComponent.h をincludeしたいのですが、できません(表示されない) build.csに名前を追加するだけでは足りないことがあるのでしょうか? 調べても出てこないことでしたので、 もし知っている方がいたら教えていただけると幸いです。 わかりにくくてすいません includeできるものに ProceduralMeshComponent.hがないということです ない、というのがよくわからない。インテリセンスで補間されないってこと? それともインクルードするとエラーが出るということ? プラグインはデフォルトで有効だから ProceduralMeshComponentをDebugMenuDev.Target.csのPublicDependencyModuleNamesに登録して 目的のコードで#include "ProceduralMeshComponent.h"するだけだと思うけど >>740 0だと誤差で完了できない場合があるから少し遊びを持たせて、完了時に目的の座標に一度強制移動させるのが良いと思うよ >>744 Target.cs名はコピペしたものそのまま貼ったので無視して、自身のプロジェクト名ね インテリセンスでも補間されないですし そのまま打ち込んでもソースファイルを開ませんというエラーになります >>747 エンジンのバージョンと、どうやってコードを書いてるかを教えて あと実際にファイルが有るか確認してみて Engine\Plugins\Runtime\ProceduralMeshComponent\Source\ProceduralMeshComponent\Public\ProceduralMeshComponent.h エンジンのバージョン 4.24 コードの書き方は書いている場所ということでしょうか? (プロジェクト名).Build.csに初期から書かれているコードにプラスして、ProceduralMeshComponentをpublicdependencymodelnames.addRangeに 書き込みました。 またファイルを確認したところProceduralMeshComponent.hはありました。 >>745 なるほど! それでやってみます!ありがとうございます >>749 実際にエラーの出てる#includeの書き方のほう、どういう記述している? あと、念の為一度、エクスプローラーからプロジェクトファイルを右クリックのメニューにあるGenerate Visual Studio project filesをしておくのも良い ありがとうございます Generate Visual Studio project filesを押したところincludeファイルに追加できました。 こういったプラグイン的なことはGenerate Visual Studio project filesを押さないとだめみたいなんですかね? どちらにせよ助かりました たびたびですがありがとうございました! >>752 単純にインクルードパスが通っていない場合などあるので、定期的にVSのプロジェクトファイルは作り直すのが良い IT掲示板群 ttp://x0000.net/forum.aspx?id=15 学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net 数学 物理学 化学 生物学 天文学 地理地学 IT 電子 工学 言語学 国語 方言 など simulationライブラリで純粋な関数式プログラミングをする ttp://x0000.net/topic.aspx?id=3631-0 UIライブラリ (C#, 2D) を作ったよ ttp://x0000.net/topic.aspx?id=3688-0 連続と離散を統一した! ttp://x0000.net/topic.aspx?id=3709-0 4Dエンジン(画像有り) ttp://x0000.net/topic.aspx?id=3677-0 matrixのライブラリ ttp://x0000.net/topic.aspx?id=3711-0 ある強力なFor関数 ttp://x0000.net/topic.aspx?id=3630-0 SQLライブラリ ttp://x0000.net/topic.aspx?id=3675-0 プログラム実行中に非ライティングモードにしたいときはどうしたらいいのでしょうか? コリジョン表示したいときはコマンドモードで「Show Collision」すればいいみたいな感じでできない? まだライティングが未完成な状態でテストプレイしたいってときがあるんですよね。 >>755 コンソールコマンドで ViewMode Unlit >>750 >>733 の者だが、とりあえずうまく行ったようで良かった AI moveを使ったことがないので不具合あったようでゴメンね 因みになぜAImove使ってるの? ちょっと調べた感じ、AImoveは障害物をよけて経路計算するノードみたいだけど上下左右に動くだけなら普通の移動でいい気がするんだが ローグライクなターン制にするなら移動する全アクターで同期とらなきゃいけないからAImoveだとめんどくさそうだし それともAImoveにそういう機能があるのかな 制作物の互換性ってあります? win機かMac機かで運用悩んでるんですが MacBook Pro16インチで制作中にカクツキはないけど1回フリーズして不安になって ゲーム用のwinがあるからそっちに乗り換えようと思って 職場はMacだから両方で走らせたいんです あとアセットとかwinの方が多いような気がしますが 基本的にwin運用の方が向いてますか? >>757 ありがとうございます。 AImoveを使用していた理由は、on succesがあり、処理が終わった時点で次のノードに流せると思ったからです。 でも思ったように機能しなかったので、試行錯誤した結果on succesで判断するのではなく、ブランチを使い判定するようにしたら思ったとおりの移動になりました。 とりあえずうまくはいったのですが、on succesを使っていないので、もはやAImove じゃなくても良いのですが。 すみません。 プレイヤーキャラクターではない、AIコントローラーで動くキャラクターにspringarmでくっつけたのですが、そのカメラを一時的にメインカメラにする方法ってありますか。 Set View Target with Blend >>761 ありがとうございます。 固定カメラしか繋げないと思ってたのですが、 キャラクターを繋げば付随したカメラ適用されるんですね。 コマンド使わなくても描画モード変えられるよね? F1234だったか、普通に1234だったかは忘れた UE4.25で作っているプロジェクトが、すぐ落ちるようになってしまいました。 解決策わかる方いらっしゃいましたら、教えていただけるとありがたいです。 落ちたときに出るエラーメッセージは下記のとおりです。 よろしくお願いいたします。 Fatal error: [File:/Users/build/Build/++UE4+Licensee/Sync/Engine/Source/Developer/Apple/MetalShaderFormat/Private/MetalShaderCompiler.cpp] [Line: 716] Failed to extract Metal compiler search directories >>767 内部で環境チェックしてるようなので、環境をかえてしまったのでは? Macのことは分からないのでチェック関数内のコメントを抜粋しておくよ // Fetch the version of the metal frontend for ShaderPlatform // We are only interested in the (metalfe-XXX.X.XX) part. // xcrun -sdk <sdk> metal -v // For example (in xcode 11.1): // xcrun -sdk macosx metal --version // Apple LLVM version 902.9 (metalfe-902.9.58) // Target: air64-apple-darwin19.0.0 // Thread model: posix // InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/bin >>768 ありがとうございます。言われてみれば思い当たる節がありまして、落ちるようになる直前、Xcode(mac,iphone向けの開発をするソフトウェア)をインストールしました。xcodeアンインストールするしかないんですかね。したところで元に戻るかわからないですが。 >>769 わからんけど、xcode入れてても要求されている環境にすれば落ちないと思うよ 数日前に始めたけどxcodeって入れないとダメってエラー吐かれたんだが もしかして入れなくてもUE動くの? ue4のlinetracebychannelで カメラ座標からレイを飛ばすとレイを可視化したときに明らかにカメラから飛んでるようにみえないのですが、 これはue4 の使用なのでしょうか? ちなみにカメラ以外がレイを飛ばすときれいにいきます 何をもって明らかになのか分からんので仕様かどうかも答えられなかろう 画像貼るなり、どうやってカメラの座標取得してるのかなど情報がないと >>771 バイナリを作るのに、コンパイルツールが必要だから、Xcode は必要なのでは? それに何かのツール・拡張機能などが、ソースコードをコンパイルするかも知れないし、 普通、開発者には、Xcode は必要 マルチプラットフォームのツール・アプリなどは、 バイナリじゃなく、GitHub をclone しろなど、ソースコードで配布する開発者もいるから >>771 ビルドに使われるXcode command line toolsだけあれば大丈夫 Xcode本体は入れる必要はない キーボードイベントについて質問です。 キーを押したときと離したときに一度だけ実行が流れるというシステムだと思うのですが、 キーを押している間だけ毎フレーム実行し、離したら止まるという仕組みはどうしたらできますでしょうか。 Sequenceの使いみちについて教えて下さい。 Sequenceについて調べてみると、then1から順番に実行するが、故意に遅らせることがなければ、ほぼ同時に実行されます。 とあります。でもこれって直列につなぐのと同じではないですか?どういう違いがあるのでしょうか。使いみちも教えていただきたいです。 >>777 Pressedでbooleanをtrue、Releasedでfalseにして、Tickでbooleanがtrueの場合に処理をする TickでIsInputKeyDownをつかって常時監視する Sequenceの使い道とかイベント処理とかの質問を俺が見て思うのはUE4についての質問ではなく、コードの組み方についての質問だと思うんだが この手の質問は自分で調べで考えた方が早いで >>778 個人的に使ってる方法として処理ごとに分けている 例えばブランチでtrueの場合のみ追加で処理をする場合、直線的に実装すると ブランチのfalseのピンも正しく接続する必要があるのに対して SequenceならThen0の直後にブランチを配置してtrueの場合は追加処理を行い falseには何も繋げなければ、trueの場合でもfalseの場合でも必ずThen1に来るので楽だしミスしにくい >>779 IsInputKeyDownというのがあるんですね。使えそうです。ありがとうございます。 >>781 なるほど!確かにそういう使い方ができますね!勉強になります。ありがとうございます。 >>780 ご指摘ありがとうございます。 私のようにプログラム未経験でブループリントのみで始めてるものにとっては、なかなかそれが難しいんです。私のような方他にも沢山いらっしゃると思うので別スレ立てました。 よろしくお願いします。 すごく初歩的な質問で申し訳ないんですが 会社にUE導入しようかと考えてまして WinとMacどちらの環境がいいですか? 職場はMacなんですがコスト的にはWinだと思いますし 元々Win触ってたので操作には支障ないのですが ソフトウェア上、何か差異ありますでしょうか Macじゃないとダメな理由がなければWindowsかな Macであるがゆえの問題解決に時間を取られそうっていうのと 情報の量、マシンスペックの拡張コストとかの面でもMacはマイナーかと プラグインとかの対応数も少ないと思う 参考程度に https://www.zugakousaku.com/archives/ue4_study/1132 >>785 ありがとうございます Win運用の方が現実的ですよね こちらの記事にあるセルシェーダーなのですが、 途中から急にキャラクターのテクスチャが貼られています これはどこかでセルシェーダーとキャラクターテクスチャの合成が行われているのでしょうか? また行われているとすればどういった 合成になるのでしょうか? マテリアル関係はどうも資料が薄く 多少なげやりになってしまいますが、 もしわかる方いたら教えていただけると幸いです すいません 記事のhttpは表記できないみたいなので ue4 誰でもわかるセルシェーダー入門 です >>787 記事画像中の真っ白なBaseTextureノードに元のキャラクターのテクスチャを指定したと思われます なるほどです ありがとうございます ということはこの記事だと セルシェーダーを適用したい オブジェクトごとにセルシェーダー用のマテリアルを書かないといけない感じなんですね。 共通項の多いマテリアルの場合、必要部分のみをパラメータ化してマテリアルインスタンスとして使い回すと快適ですよ なるほどそれは便利かもしれないですね ただテクスチャからマテリアルを作るのはできると思いますが、その逆が存在しないみたいなので、どうしようかというところですね。 それは今関係ないのでは? 上の場合はテクスチャノードをパラメータ化して色んなキャラに適用すればいいって話なのですが すいません自分の理解が足りてないだけかもしれませんが、おそらくパラメーターのやりとりって 適用したいオブジェクトのbpでcreate dyndmic material instanceをよんでそこからset textureパラメーターバリューでテクスチャを入れることで セルシェーダーのパラメータにしたテクスチャの部分に自分のテクスチャいれるのかなと思いました なのでテクスチャが必要かなと 助けて!!!!テストプレイでキーボードのセミコロン(;)を押すと デバッグの文字がでてすごい邪魔…どうにかしようと設定画面のキーショートカットとか探してdebugやらデバッグやら検索かけても それらしい項目が見つからない どこにあるの・・・もう探すの疲れたよ >>795 とりあえず他にもあるかもしれないけど、方法は2つで ・自身のプロジェクトでキーバインドを上書きする ・エンジン側のキーバインドを消す ●自身のプロジェクトでキーバインドを上書きする場合 Config\DefaultInput.ini の最後に [/Script/Engine.PlayerInput] -DebugExecBindings=(Key=Semicolon,Command="ToggleDebugCamera") を追加 ●エンジン側のキーバインドを消す場合 Engine\Config\BaseInput.ini 内にある +DebugExecBindings=(Key=Semicolon,Command="ToggleDebugCamera") を探して、先頭に ; をつけてコメントアウトする 後、やるとしたら違うキーに変更するという手もあるかなぁ >>796 おお神よ なんと感謝していいか 感謝の言葉もありません…本当にありがとう!! ue4 って マテリアルからテクスチャに変換は不可能なんですかね? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる