トップページgamedev
1002コメント357KB

【UE4】Unreal Engine 4 初心者質問スレッド part2 [無断転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2016/08/05(金) 20:17:52.44ID:pdy+ULxi
unreal engine 4の初心者質問用スレッドです。

Unreal Engine
https://www.unrealengine.com/
4 Trailer
http://www.youtube.com/watch?v=PD5cRnrMqWw
公式質問コミュニティ
https://answers.unrealengine.com/
https://answers.unrealengine.com/spaces/16/japanese.html
公式チュートリアル動画
https://www.youtube.com/playlist?list=PLZlv_N0_O1gaCL2XjKluO7N2Pmmw9pvhE
参考になる日本語ブログ
http://unrealengine.hatenablog.com/

無料3Dソフトとペイントソフト
https://www.blender.org/
http://www.gimp.org/

前スレ
【UE4】Unreal Engine 4 初心者質問スレッド part1
http://echo.2ch.net/test/read.cgi/gamedev/1434449293/



次スレは>>980が建ててください
0300名前は開発中のものです。2016/09/20(火) 23:54:38.13ID:mbmMLHia
長いコートのゲームってことは・・・
https://www.youtube.com/watch?v=LXnHgV9Zk5Y
0301名前は開発中のものです。2016/09/21(水) 04:38:25.39ID:Rl3u0Iat
ガチなの作るとしたらコートのスキニングがどうやってるのかは気になる
0302名前は開発中のものです。2016/09/21(水) 12:13:18.25ID:fCMURBOF
UE4に独自の布シミュ搭載されるらしいけど、いつになることやら…
0303名前は開発中のものです。2016/09/21(水) 16:07:46.62ID:LFS3AfJG
>>267
遅くなりました266です。レスもらったときはEvent Hitでも判定できなかったんですが、他のことやってから再度見てみたら判定するようになってました。こちらの環境依存の変なバグだったんですかね。長々とお手数おかけしました!
0304名前は開発中のものです。2016/09/22(木) 17:32:25.32ID:TiTHCauO
インベーダーゲームを作る記事を見ながら練習してるんですが、アクタをスタティックメッシュとして保存する方法が分かりません。
解説サイトggってもバージョン違いで解決できず、記事の画像に見える単語片っ端から機能検索入れても×
4.13.0(最新版?)使ってて、1回保存できたのをやり直そうと思って別プロジェクトで1からやったら出来なくなりました。ご教授お願いします
0305名前は開発中のものです。2016/09/22(木) 17:57:20.76ID:PLr1nyaK
プラグインいじってたらEdit からもWindowからもプラグインブラウザにアクセス出来なくなって
解決方を日本語で検索しても出てこないのでここで聞こうと思ったら解決したので書いておくの
.uprojectをテキストエディタで開く
"Name": "PluginBrowser",
"Enabled": がfalseになってたらTrueにする
0306名前は開発中のものです。2016/09/22(木) 18:19:12.72ID:tL9I5Jd3
>>304
少しググったけど凸型の自機を作る段階だよね?
置いたGeometryアクタを選択する→プロパティの「Brush Settings」の▼を開く
すると5つくらい設定が追加で出てくるので、右下のスタティックメッシュを作成をクリックする
これは変わってないはずだし、それ以外のやりようが無いと思うから違ったらちょっと分からんすまん

>>305
ナイスやこういうレス増えて欲しい…欲しくない?
0307名前は開発中のものです。2016/09/22(木) 19:20:23.16ID:TiTHCauO
>>306
そうです、自機作る段階です。
アクタ選択してもBrush Settingsの項目が無いので、環境設定からだすものかなーと探してみたのですが見当たらず…
一応聞きたいのですがプロパティはStaticMeshとかActorとかの項目があるタブですよね?
0308名前は開発中のものです。2016/09/22(木) 19:40:13.59ID:tL9I5Jd3
>>307
アクタのプロパティにStaticMeshってカテゴリがあるなら、それは既にスタティックメッシュになってるか、スタティックメッシュを含んだアクタってことだよ

レベルエディタの右上のアウトライナに、アクタがラベルとタイプで並べて表示されてるよね、選択したアクタの右側の表示は何になってるかな?
0309名前は開発中のものです。2016/09/22(木) 19:47:24.46ID:TiTHCauO
>>308
ありがとうございます、解決しました。
モードのジオメトリから選択せずに基本から選択していたので既にスタティックメッシュの状態で、
それを手順通りに進めようとしていたので詰まってしまっていました。恥ずかしいです。
0310名前は開発中のものです。2016/09/23(金) 01:25:58.02ID:PlanFTcV
シェーダー複雑度って、
緑がgoodで赤がbad白がもっとbadだけど、
赤だと正直ヤバイ?ガラスの透明のマテリアルつくったらどうしても赤くなっちまう。しかもいくつか透明が重なるとどんどん白に近づいていく...

負荷が軽くて綺麗なガラス質感の作り方あれば教えて欲しいです。
VRコンテンツ作ってます。
0311名前は開発中のものです。2016/09/24(土) 13:53:59.03ID:KfGI8bsN
Unreal Engineの豊富なチュートをどう言う順番でやって行くか議論するUnreal Engine勉強法みたいなスレ欲しい
頼んだEpic JAPANの工作員
0312名前は開発中のものです。2016/09/24(土) 14:34:12.03ID:LGlHiMfj
チュートリアルやるくらいなら
極める本とマテリアル本買ったほうが早い
0313名前は開発中のものです。2016/09/24(土) 14:37:53.63ID:052TV3Dr
動画はわかりやすいけどヘルプはほんと頭に入ってこないな
構成がおかしいのか翻訳がおかしいのか
0314名前は開発中のものです。2016/09/24(土) 14:43:54.55ID:saIFbM9T
前提の用語が多すぎる上にその用語の解説にまた専門用語使ってるからな
一定のラインを超えればまた楽しくなってくるんだけど…
0315名前は開発中のものです。2016/09/24(土) 16:53:38.43ID:RZds2xqJ
デバッグ時にやってることまとめてみました
・いきなり本番の複雑なブループリントを組まないで、やりたいことだけの最低限のシンプルなブループリントを組んでみる
・PrintStringを活用する。色や表示時間も変更すると複数PrintStringある時に分かりやすい。
(ConstructionScript内のPrintStringはOutputLogのほうで見る)
・VectorなどをPrintStringで表示させても直感的にどこのことを指しているのかわかりにくいのでDrawDebugPointノードを使う。DrawDebug◯◯にはいろいろ亜種があるので適当なものを使う
・BreakPointを活用する。落ち着いて処理の流れが見たいときは迷わずBreakPoint
・DelayノードDuarationに0を入れると処理を1tickディレイさせることができる。Castが失敗するときとかの一時的な応急処置などで使用
・変数の中には右クリックするとConvert to Validated Getと表示されるものがあって、その変数に中身がちゃんとあるか調べる時に便利
(マクロのIsValidでもオーケー)
・各種デバッグ機能を活用する。例えば当たり判定などで困っているときはWindow→DeveloperTool→CollisionAnalyzerでコリジョン反応を逐一記録することができる。まぁ、見難いので最後の手段
関係ないけどAIやEQSまわりのデバッグ表示は見ててとっても面白い

みなさんは詰まった時にどんなことやってます?
0316名前は開発中のものです。2016/09/25(日) 10:37:58.18ID:rcCjAcxd
構造体の一つのメンバに値をセットする簡単な方法はないですか?
Getは出力ピンを選べて見た目はスッキリできるのですが
Setはセットしたいメンバ以外にGetからSetへピンを接続するって手順踏まなければならないんですかね
メンバが少しならいいんですが20個位あると見た目がとんでもないことになってしまいます
0317名前は開発中のものです。2016/09/25(日) 10:52:04.53ID:rcCjAcxd
失礼、構造体の入力ピンを右クリックしたらメンバを設定というのがありました
0318名前は開発中のものです。2016/09/25(日) 14:23:13.07ID:beh22bP1
質問です。
キャラモデルの髪の向こうにある眉毛を見せたい場合、どうすればよいのでしょうか。
UE4というより、もしかしたら3DCG全般に普遍的なノウハウがあるのかもしれませんが…

単に髪を透過マテリアルにしても頭の形が見えてしまうので、
眉毛と髪が紐づいたマテリアル設定が必要だと推測しています。
あるいは、カメラになんらかの設定が必要なのでしょうか?
カメラからtraceを飛ばして眉毛にヒットした場合、前面に表示させる(←方法は思いつきません)ようにBPを組む、とか…

何かご存知でしたらご教授をお願いします。
0319名前は開発中のものです。2016/09/25(日) 14:58:06.68ID:o1y7OPo1
そういうのはシェーダーだね、自分で書くのはかなり難易度高いしHLSL勉強する必要がある
0320名前は開発中のものです。2016/09/25(日) 19:29:21.59ID:Rl2n2K/m
CustomDepthは?
0321名前は開発中のものです。2016/09/25(日) 19:45:54.35ID:jxTYpGCk
眉毛シェーダー面白そう、っていうか
キャラゲーだと必須っぽい技術だろうからノウハウあるんだろうな
0322名前は開発中のものです。2016/09/25(日) 20:21:23.65ID:Rv7gVySg
>>320
髪どころか何もかもつけ抜けていくぞ
0323名前は開発中のものです。2016/09/25(日) 20:40:21.19ID:Rv7gVySg
つーか、噂のDだかGバッファを使えばできそう
重くなるだろうから俺はやりたくないけど
髪の毛があってなおかつ眉毛があれば
眉毛を描画するっていう
0324名前は開発中のものです。2016/09/25(日) 22:53:42.14ID:FRGQFYKO
キャラを谷村新司にしちゃうとか
0325名前は開発中のものです。2016/09/25(日) 23:05:37.68ID:FRGQFYKO
今試してみたけど別オブジェクトならTransparentの透明度0のマテリアル用意して
DetailのTranslucencySortPriorityをセットしたら手前に来たぞ。
キャラが何人もいたら視点によっては眉毛だけたくさん見えることになるが。
0326名前は開発中のものです。2016/09/25(日) 23:20:50.91ID:GmgCoTPl
髪のマテリアルが、おでこ辺りにきた時だけ色が変わればいいのではないか?
0327名前は開発中のものです。2016/09/25(日) 23:49:34.11ID:Rv7gVySg
>>325
頭いい!思いもしなかったよ
0328名前は開発中のものです。2016/09/26(月) 00:51:13.70ID:MftabWNW
>>322
実際に眉毛で使えるか分からんけど特定マテリアルだけを突き抜ける&距離によって透けさせなくするってのができた

とりあえずスクショ
http://imgur.com/a/cNmCz
眉毛だけ別メッシュにしてRenderMainPassのチェック外してRenderCustomDepthPassのチェック入れる
髪と眉毛のマテリアルでPixcelDepthとCustomDepthを比較する感じ

http://www.tomlooman.com/the-many-uses-of-custom-depth-in-unreal-4/
ここのCulling Inner Trianglesってところで詳しく解説してるわ

>>325
発想に脱帽
0329名前は開発中のものです。2016/09/26(月) 00:53:30.58ID:MftabWNW
訂正眉毛にはマテリアルは必要じゃない
0330名前は開発中のものです。2016/09/26(月) 01:25:16.57ID:WnecWQuj
>>328
なるほど、こっちも頭いいな
0331名前は開発中のものです。2016/09/26(月) 06:04:09.06ID:2F+uVSLd
まつげ、眉毛の優先表示
http://www.slideshare.net/TomohiroOgiwara/ue4meetup-63696087

36p以降に記載されてる。なぜかページ指定リンクが動作しなかったので、自分でページ送りしてくれ。
0332名前は開発中のものです。2016/09/26(月) 10:29:11.73ID:xJBlXtEP
スポーンアクターで大量のアクターを同時にスポーンさせると画面が一瞬カクつくのですが、これはこういうものなのでしょうか?
Wave制の防衛RTSでWaveの変わり目に敵を出現させたいのですが、スマートなやり方が思い付きません
一応ゲーム開始時に画面外にスポーンさせておいて、使う時に移動させるやり方でカクつかなくなりましたが、登場していないアクターをレベル上に置いておくのは後々パフォーマンスに影響が出る気がしてやめたいです
0333名前は開発中のものです。2016/09/26(月) 11:20:58.38ID:p/1tQMou
配列に格納しておいてカクつかない数ずつ間を挟んでスポーンさせる
wave開始の流れをスポーンとゲート開けの二段階にする
敵を影無しキューブくらい軽い奴にする

…くらいしか思いつかないなぁ
0334名前は開発中のものです。2016/09/26(月) 11:59:27.47ID:XeBUNWS2
アニメみたいに眉毛そのものを前に出すんじゃなくて
髪の下に眉が破綻なく隠れてるように見せるなら
同じ形状の髪モデルを2つ用意して、片方はマスクで
もう片方はトランスペアレントのマテリアルを割り当ててごまかしてる
マスクの部分がハゲ頭が見えたり描画順がめちゃくちゃになるのをある程度抑えて
トランスペアレントの部分がフサフサ感を出す感じ
大手のゲームも半透明髪実装にこの方法使ってたような
0335名前は開発中のものです。2016/09/26(月) 13:08:56.17ID:xJBlXtEP
>>333
ありがとうございます
時間差でスポーンさせる方法でなんとか出来そうです
0336名前は開発中のものです。2016/09/26(月) 17:56:31.99ID:MftabWNW
>>332
これ見ててtick内で負荷がかかったときに処理を次のtickにまわせる新機能が搭載されたってどっかで見たの思い出してググってもでてこない
夢でも見てたんだろうか…
0337名前は開発中のものです。2016/09/26(月) 18:15:26.17ID:DK5WsWwI
CPU負荷を取得できるノード使えば
うまく処理を割り振れるんじゃないの
03383222016/09/27(火) 01:53:06.05ID:Q4F0ea4K
たくさんのヒントと回答ありがとうございます!
「極めるゲーム開発」の本を読みながら、一つずつ試している段階です。
おそらく明日にはどれかで狙いの動作できるはず…と思っています。すいません。またこの内容のことを質問をするかもしれません。
0339名前は開発中のものです。2016/09/27(火) 04:48:10.67ID:DZ8BINMQ
つい最近UE触り始めた者です、2つ質問させて下さい

・選択したオブジェクトを中心にビューポートの回転やズームすることは出来ますか?
(今は、ちょっと動かす度に注視点がズレるのでその度にFキーで中心に戻す、という操作をひたすら繰り返してます…)

・3dsMaxのBipedからコンバートしたリグのモデルで、UE上では手足のツイストボーンが動作してくれません。
 UE内でコンストレイント等を設定することで、Max側と同様の動作を実現することが出来ますか?

 ttps://answers.unrealengine.com/storage/temp/21674-animretarget.png
 現状はこの画像と同様な感じで、ツイストボーンがきちんと追従せずあらぬ部分で折れ曲がった状態になってしまってます。
0340名前は開発中のものです。2016/09/27(火) 09:40:21.11ID:xEVuGPTG
>>339
オブジェクト中心周回→ALT+左ドラッグ
オブジェクト中心遠近→ALT+右ドラッグorホイール

下はわかりません(´・ω・`)
0341名前は開発中のものです。2016/09/27(火) 12:10:25.49ID:DZ8BINMQ
>>340
なるほど+Altだったとは…ビュー操作が断然快適になりました、有難うございます!
0342名前は開発中のものです。2016/09/27(火) 12:58:16.70ID:EEL34+Mn
モバイル向けにパッケージすると幾つかのテクスチャ画像がホワイトアウトしてるのでいくらか調べてみたんですが、CompressionSetting等いじっていても未だ解決出来ていません。
どんな設定をすればモバイルでもテクスチャ表示出来るか情報ある方いませんか?
0343名前は開発中のものです。2016/09/27(火) 13:15:54.53ID:xEVuGPTG
プロジェクト設定→ターゲットハードウェア→プロジェクト設定の最適化対象→モバイル/タブレット+スケーラブルな3D・2Dにしてからパッケージングしてもそうなっちゃう?
あとは真っ白になってしまうテクスチャorマテリアルを特定してプロパティとにらめっこ

なお詳細な解決方法は知らん模様
0344名前は開発中のものです。2016/09/27(火) 13:19:33.61ID:EEL34+Mn
>>343
かつてこれや!!!これ設定すればいける!!!→駄目ってなりました…
0345名前は開発中のものです。2016/09/27(火) 13:20:16.90ID:k5MBhQPk
やたらテクスチャが大きくないか?
古いモバイル端末とかだと1024x1024までしか読み込めないやつがあったような
0346名前は開発中のものです。2016/09/27(火) 13:21:29.21ID:xEVuGPTG
そうか、あかんか…
0347名前は開発中のものです。2016/09/27(火) 13:58:10.35ID:EEL34+Mn
1024よりも大きいやつもあるんですが、500*500のエフェクトに使ってるテクスチャも映らないのがあるので、困ってます
0348名前は開発中のものです。2016/09/27(火) 23:47:47.68ID:CoCU2P9R
古いとアルファも使えないからアルファなしとアルファだけの
白黒に分けるとか読んだ記憶がある。

あとモバイルに限らないけど512とか2の何とか数にしないと
Mipmapを作ってくれないとか。512x256とか比率は変わってもおkらしい。
500x500がちょっと気になったので。
0349名前は開発中のものです。2016/09/29(木) 20:26:38.95ID:zjc970rz
342です。映らなかった画像のサイズを512なりに直したら正常に映りました。しょうもないことでお騒がせを…
0350名前は開発中のものです。2016/09/29(木) 23:40:22.21ID:60a2cMlW
http://s3.gazo.cc/up/62324.png
この継ぎ目のくすみを無くしたい。
どこの触れば良いですか。ライトかマテリアルか
0351名前は開発中のものです。2016/09/29(木) 23:47:16.90ID:CLsbIgDj
これスムースシェーディングかかってるでしょ…
切ればいいのでは。
0352名前は開発中のものです。2016/09/30(金) 00:13:50.65ID:oTtpdvD0
>>350
ライトマス
static lightning level scaleを0.1〜0.2に
indirect lightning qualityを8ぐらいとか高めに

でプロダクション品質ででライトマップをビルド
むっちゃ時間かかるけどな
0353名前は開発中のものです。2016/09/30(金) 00:25:16.69ID:Ca/oNmtR
ウィジェットはRemoveFromParentしてもメモリに残り続けるらしいのですが
消す方法はないのでしょうか。
要らなくなったら消えてくれると楽なのですが・・
と言うか使わなくなったらRemoveFromParentで消すって解説を結構見るのですが
これなかなかの罠仕様なんじゃないですかね。
0354名前は開発中のものです。2016/09/30(金) 00:26:55.29ID:oTtpdvD0
https://forums.unrealengine.com/showthread.php?118799-UE4-Lightmass-Deep-Dive-ポストモーテム
ライトマス関連の解説
公式ドキュメントにも海外サイトにもほとんど情報ないし唯一の使えるライトマス解説だと思う
0355名前は開発中のものです。2016/09/30(金) 00:28:47.72ID:oTtpdvD0
>>353
どっかでウィジェットを変数化して初期化すればメモリ開放されるって書いてた気がする
検証よろ!
0356名前は開発中のものです。2016/09/30(金) 00:35:09.20ID:oTtpdvD0
>>353
http://limesode.hatenablog.com/entry/2016/05/14/001800
ここに書いてあったわ
0357名前は開発中のものです。2016/09/30(金) 00:36:44.80ID:Ca/oNmtR
>>355
それもやってみたのですが
元気に生きてるようです・・・
0358名前は開発中のものです。2016/09/30(金) 00:50:47.27ID:Ca/oNmtR
リンクありがとうございます
最後の方法を試した後GetAllWidgetofClassで
配列のサイズを見たら残念ながらカウントされていました
0359名前は開発中のものです。2016/09/30(金) 00:57:04.49ID:oTtpdvD0
nullも一つとしてカウントされてるってことじゃないなら、わからないなぁ
一応ガーベッジコレクションに任せておけば大丈夫ってことになってるらしいけど…
すまんね、力になれなくて
0360名前は開発中のものです。2016/09/30(金) 08:55:22.62ID:ddkW1mY0
ウィジェットを専用のサブレベルで呼んでそいつを消せばキレイにならんかな
0361名前は開発中のものです。2016/09/30(金) 12:48:23.52ID:Wnfs8c3Q
ガーベッジコレクションが効くまである程度時間が必要ってのを知らないだけとか?
0362名前は開発中のものです。2016/09/30(金) 13:25:14.39ID:ETU4pfvJ
ビヘイビアツリーについての質問をしてもいいですか?
ビヘイビアのwaitのタスクを実行中に強制的にwaitを終了させる方法はありますか?
0363名前は開発中のものです。2016/09/30(金) 13:26:00.16ID:T5RULOwW
waitは条件が合わなくなれば終了すると思うけど…
0364名前は開発中のものです。2016/09/30(金) 14:00:56.76ID:Wnfs8c3Q
>>362
そのWaitにBlackboardっていうDecoratorを付けて、そのDecoratorの
ObserverAbortsをNone以外にする。そしてそのBlackboardの値をどこかで
変化させればwaitはabortする。Service作って監視という手もあるけど
そのWaitが終わる契機となるオブジェクトでキャラをゲットして
直接ブラックボードの値を変えるほうがいいかも。

別のやり方。
Taskを作ってTickかタイマーで監視して終了条件を満たしたらFinish。
もしくはTask内からイベントをバインドしてそのバインドが呼ばれたらFinsihのほうが
無駄がなくていいかも。ちなみにバインドは最初の一回だけすれば
その後は不要みたい(言い換えると終了するごとにノードは破棄されないみたい)

最後の手法が今のところ俺的に一押し。
0365名前は開発中のものです。2016/09/30(金) 15:10:08.99ID:ETU4pfvJ
waitのタスクを強制終了することができました。
本当にありがとうございました。
0366名前は開発中のものです。2016/10/01(土) 09:04:56.45ID:sY6nI/k0
スパロボみたいな戦闘シーンを作りたいんだが、難しい
0367名前は開発中のものです。2016/10/02(日) 00:44:20.60ID:h6hH8sOm
今までSequenceRecorderが上手く使えなかったけど理由が分かったんで書いとく。
結論はゲームをスタートさせてからRecordボタンを押さないと失敗する。
Add後のActorToRecordでThirdPersonCharacterを指定するのは後でも先でもいいんだけど
ゲームがスタートしてないとRecordを押した時点でそれは編集用のインスタンスを
参照してしまう模様。なので録画しながらゲームをスタートしても動いてるのはゲーム用の
インスタンスで編集用のインスタンスは録画されていないという推測。

この録画機能はアニメーションもベイクというか別途作るので
前にブレンドできるのかという質問があったけどAnimationBPで
2つのアニメーションをBlendノードでAlpha0.5で結合して
プレイしてそれを録画すればブレンドされたアニメーションが作成できた。
Sequencer上で簡単に、という(多分質問者が期待してるであろう)方法は今のところ見当たらない。
0368名前は開発中のものです。2016/10/02(日) 23:51:15.91ID:6g6v9Urc
今ビヘイビアツリーのチュートリアルをやってるんですが、チュートリアルで完成させたAIキャラを複数置くとプレイヤーに向かうときものすごくブレながら向かってきます。
ブレないようにするにはどうすればいいですか?
0369名前は開発中のものです。2016/10/03(月) 01:43:46.76ID:UPP29TJi
ブレないチュートリアルを探せばいいと思うよ
03703532016/10/03(月) 16:35:28.88ID:pRghSOpM
https://answers.unrealengine.com/questions/322122/remove-from-parent-widget-not-really-removes.html?sort=oldest
だいぶ前の記事ですがバグらしいですね・・・気長に待つことにします
0371名前は開発中のものです。2016/10/03(月) 22:22:08.09ID:/KsORqGF
個人でこんなの作れるなんてすげぇなぁ…
ttps://youtu.be/z5El-yYNUwU
0372名前は開発中のものです。2016/10/05(水) 20:28:56.47ID:sQOxCWE/
500万個以上要素がある配列を作ったらエラーが出ました。
そんな配列が必要な設計するのがおかしいと言えばそれまでなんですが、なんとかエラーを回避する方法や、似たような機能が他にあれば教えてください。
0373名前は開発中のものです。2016/10/05(水) 20:33:55.97ID:JVCPNyw3
五百万ってアンタ…
0374名前は開発中のものです。2016/10/05(水) 20:48:37.27ID:sQOxCWE/
>>373
いや、おかしいのは自分でも分かってるんですが、どうしても他の方法が見つからなくて
0375名前は開発中のものです。2016/10/05(水) 20:52:39.98ID:JVCPNyw3
どうしてもと言うなら
変数を分ければいいのでは…
0376名前は開発中のものです。2016/10/05(水) 20:58:06.02ID:sQOxCWE/
>>375
それも考えましたが、それだとforeachなんかが使えなくなるんですよね
0377名前は開発中のものです。2016/10/05(水) 21:00:29.36ID:sQOxCWE/
例えばMinecraftみたいなのって、座標ごとにブロックのデータを保持してるじゃないですか。
ああいうのってどうやって管理してるんでしょうか。
0378名前は開発中のものです。2016/10/05(水) 21:02:11.30ID:JVCPNyw3
変数ごとにfor eachすればいいじゃん
0379名前は開発中のものです。2016/10/05(水) 21:04:52.65ID:sQOxCWE/
>>378
要素数が動的に決まるのですべての変数をあらかじめリストアップすることが出来ないんです
0380名前は開発中のものです。2016/10/05(水) 21:41:21.69ID:qwaguLct
マイクラってチャンク毎に処理区切ってるんじゃない?
動的に変わるのはブロックの種類であって、座標じゃないし>>378で問題なくね?
0381名前は開発中のものです。2016/10/05(水) 21:59:54.74ID:kt7wHzmT
>>380
マイクラだと行動範囲が増えると新しくチャンクが増えますよね
その新しいチャンクをどうやって管理しようかというような悩みです
0382名前は開発中のものです。2016/10/05(水) 21:59:58.56ID:uxYXfO0S
マイクラ的なのを実装したいなら空気ブロックを定義すれば一定エリア内のブロックの数はきまるだろ
0383名前は開発中のものです。2016/10/05(水) 22:02:24.39ID:kt7wHzmT
チャンク数が動的に変わるので、すべてのチャンクにforeachをかけるみたいなことができないんです。
0384名前は開発中のものです。2016/10/05(水) 23:27:54.60ID:uxYXfO0S
マイクラは全部のチャンクロードしっぱなしなわけじゃないぞ
周囲の一定数のチャンクしか動いてない
そもそも君の実装がどんなのか見てみたいわ
絶対どっかおかしいよ
0385名前は開発中のものです。2016/10/05(水) 23:52:46.23ID:wXiogPpg
マスというかそのチャンク一つのクラスを作って
周囲8マスの参照を持っておいて新しいマスに移動したら
その周囲を確認してまだ存在してない場合は新規クラスを作成でいいじゃん。
で、そのマス内のブロックはそのクラスに処理を丸投げ。
0386名前は開発中のものです。2016/10/06(木) 09:23:10.26ID:PnZOYoWR
コンストラクションスクリプトでランダムノードを使うと
ソフトを起動するたびにライトマップが消えて計算し直しになって辛いのですが
コンストラクションで置いたスタティックメッシュとかを確定させる方法ってないですかね
0387名前は開発中のものです。2016/10/06(木) 09:26:08.38ID:PnZOYoWR
あとウィジェットでもコンストラクションって使えませんかね
0388名前は開発中のものです。2016/10/06(木) 10:31:12.30ID:7LEJK+iN
>>386
ランダムストリーム
0389名前は開発中のものです。2016/10/06(木) 10:36:03.88ID:PnZOYoWR
>>388
それするとライトマップ消えなくて済むんですか。ありがとう!
0390名前は開発中のものです。2016/10/06(木) 13:05:18.40ID:RT0hRp06
>>384
別にロードしっぱなしでなくていいんです。
ただ、座標に対応したデータを簡単に取り出せる仕組みが欲しいんです。
で、その座標に相当するものが500万以上になってしまいます。
例えばDictionaryみたいな物があればそれでもいいのですがUE4にはないみたいで。
マイクラの例でも全てのチャンクを収納する配列のようなもので処理しているイメージだったのですが違うのでしょうか?
0391名前は開発中のものです。2016/10/06(木) 16:35:07.56ID:RT0hRp06
>>385
なるほど、マスごとに処理を丸投げは参考になります。
ただ、すべてのマスを網羅して処理したい場合、例えば全体の地図を作成したいような場合に困ります。
0392名前は開発中のものです。2016/10/06(木) 16:37:47.73ID:8TREaVU/
500x500x20x4バイト
20Mバイト以下だから今のPCなら動く
C++で書け(笑)
0393名前は開発中のものです。2016/10/06(木) 21:41:05.03ID:foE9GZwR
>>391
ブロックを操作するたびにそのコンテナのマスに報告するみたいにして
マスにgetMacroMapみたいなファンクションを用意すれば全マスをループするだけで
地図ができるって言っても君には理解できないだろうから
若干遠回りだけどしっかりオブジェクト指向を学んだほうがいいよ
0394名前は開発中のものです。2016/10/06(木) 23:01:09.88ID:l/NHEwfp
>>393
その辺りの機能的な実装は問題ないんです。
要は全マス中の全要素をループするための変数をどう用意するのがスマートかというところで悩んでいます。
マス(チャンク)のオブジェクト内に例えば一万個程度の要素を実装して、そのマスを500個程度の配列にした場合メモリーの節約になるのでしょうか?
0395名前は開発中のものです。2016/10/06(木) 23:04:31.42ID:PG43PY3O
もうマイクラのソースでも読んでろよ無能
javaだからすぐにバラせるだろ
modもあるし
0396名前は開発中のものです。2016/10/06(木) 23:10:56.90ID:l/NHEwfp
>>395
マイクラは一例で、UE4で大量のデータを扱う場合の作法があれば教えて欲しかったのですが
今まではjavaとc#で開発していて、統合環境としてはXNAくらいしか触ったことがなかったので
0397名前は開発中のものです。2016/10/07(金) 01:24:09.89ID:dUSMP+0Y
ダメだこりゃ・・・
0398名前は開発中のものです。2016/10/07(金) 13:37:35.19ID:edVHPiMR
      \       ヽ           |        /        /
          \      ヽ               /      /
‐、、         殺 伐 と し た ス レ に セ フ ィ ロ ス が ! !_,,−''
  `−、、                                _,,−''
      `−、、                             _,,−''

                  ,.、,、,..,、、.,、,、、..,_|ヽ∧_
───────‐     ;'`;、、:、. .:、:, :,.:'ゝ __\   やめなよ ──‐
                 '、;: ...: ,:. :.、.:',.: .::_||´・ω・`| >

           _,, ─┬─ │ ││ ──┐  ──     /
        _,,−''    │   ├─      /   ──┐   /|
             ─┴─ └─     /      /     |x
0399名前は開発中のものです。2016/10/08(土) 18:16:31.68ID:b8gjfu/q
>>398
プチコン関連で見飽きたわ!
0400名前は開発中のものです。2016/10/08(土) 20:13:44.24ID:h2ex+G0A
ノードベースでマテリアル作ってて嵌った挙句、狙った事を実現出来なかった時の徒労感が凄すぎる…
英語でも中国語でもなんでも良いから、マテリアルエディターで丸とか四角三角みたいな基本図形を描く方法って何処かに纏まってないですかね
■ このスレッドは過去ログ倉庫に格納されています