【ゲームエンジン】Unityなんでも質問スレpart16 (979レス)
1-

391: 03/10(月)10:00 ID:nznRi/MF(1) AAS
>>390
ワイなら普通に3Dで作ってテクスチャとシェーダーで誤魔化す!m9⎛´・ω・`⎞ドーン!
392: 03/10(月)14:11 ID:8oz3IGno(1) AAS
>>390
ブラックオニキスとやらの動画チラ見してきた
壁は箱じゃなくて板かな?
なにが問題になってるのかわかんないが
描画よりもマップデータの情報(グリッド毎に4方向の壁の有無と色など)をしっかり決めれば
描画は総当りで全部描いてもよさそう
393
(5): 03/10(月)14:21 ID:L/s7RVLg(1/7) AAS
Unity2021で、Terrain配置して適当に起伏作って、階層直下に配置したTPPのキャラに、CharacterControllerと公式TPPサンプルのC#スクリプトをアタッチして動かしているんだが、
デバッグすると、エディタ上の階層直下でそのTPPオブジェクトを選択していないと、前進しようとしてCharacterControllerインスタンスのMove()を呼んでも、キャラが何かに引っかかって前に進まないんだが
394
(1): [393] 03/10(月)14:22 ID:L/s7RVLg(2/7) AAS
なお、エディタ上の階層直下でTPPオブジェクトを選択した状態になっていると、キャラが何かに引っかかるということはない模様。デバッグ中にエディタ上の階層中でTPPオブジェクトの選択を外すと、また引っかかる様になる。
何でこうなるんだろ?!
誰か現象の理由を知ってる人いたら解決策教えてくれ。
395: 393 03/10(月)14:22 ID:L/s7RVLg(3/7) AAS
規制に引っかかったから分割した
396: 393 03/10(月)14:54 ID:L/s7RVLg(4/7) AAS
解決したわ
マジ使えねえな>>1の冒頭のゴミカスタヒねよ
397: 393 03/10(月)14:58 ID:L/s7RVLg(5/7) AAS
垂直同期を有効にしないとデフォのCharacterControllerは使えないのか?!それはそれでまた問題だな・・・
可変フレームやろうとするとCharacterControllerを自作するしかないのか?!
398: 393 03/10(月)17:16 ID:L/s7RVLg(6/7) AAS
いや違うな。垂直同期関係ないわ
どうもFPSが高くなると、CharacterControllerのMoveが正常動作しなくなるみたいだな。時間分解度が高くなると、速度が丸められちまうのか?!
みんな一体どうやって解決してるんだ
399
(1): 393 03/10(月)17:52 ID:L/s7RVLg(7/7) AAS
公式TPPサンプルは、ΔTを加味してLerpで速度変化を滑らかにしているが、現在速度が1未満になるようなら、強制的に速度1にするようにしたら解決するな
しかしこれだと高いFPS叩き出せるマシン使うと、速度1に到達できるΔTが短くて済む様になって、わずかに有利・不利になる、みたいな影響が出そうだ・・・
400: 03/10(月)17:56 ID:SmVHNl3q(1) AAS
>>390
Unityに詳しくないので適当な感じだけど
Unityってライン引いたりペイントできないんだよね?
できるなら昔ながらのやり方で線引いて色塗ればいいけど
できないなら、全パターンの画像をあらかじめ用意して表示するのはどう?
おそらく3*3程度の範囲内の表示なのだろうから
全パターン網羅しても大した量にならないはず
401
(1): 03/10(月)18:09 ID:rWN/XQsw(1) AAS
よし教えてあげよう
まず全画面にピッタリフィットする Plane をつくる
そこにテクスチャーを貼る
そのテクスチャーを Read/Write Enabled に設定する
テクスチャから .GetPixels() でゲットした画像に
ブラックオニキス風の迷路を自前で描画する、以上ドーン!
402
(1): 03/10(月)18:30 ID:b5AYsFG3(1) AAS
>>401
昔あったミステリーハウスみたいに
ゲームプレイ中に描画の工程を見せたりできる?
403: 03/10(月)19:38 ID:NjRrBCxW(1) AAS
>>402
ブラックオニキスの迷路は、あれテキストグラフィックスだからね。line描画とか無いよ。
404
(1): 03/11(火)08:19 ID:t2Y8zFBc(1) AAS
Blenderからfbxを持ってきて、きちんとテクスチャを貼っても面が逆になってるって良く言われる一部が透明化されれのは何が原因ですか?
405: 03/11(火)08:31 ID:UBr+m5Ww(1) AAS
ブラックオニキスのラストステージは壁の色によってワープする鬼ゲーだった
2年ほど遊んだは
406: 03/11(火)09:21 ID:ehRpuUWR(1) AAS
地下5階に強いタコがいたな。
あれを倒せばゲームクリアかと思ってた。
407
(1): 03/11(火)10:31 ID:qoVjCkbs(1) AAS
>>399
サンプルとか知らんのだけど地面との判定がデフォのphysicsだと思うので、
fixed updateの周期を上げれば解決するかも
settingsのどこかにtimeのやつがあるから試してみるといいかも
違ったらすまんね
408
(1): 03/11(火)11:19 ID:TELndAPa(1) AAS
>>404
Blenderで面の方向や裏面非表示にして確認してみて
409: 03/11(火)13:41 ID:Gm3dz+Lg(1) AAS
>>407
ありがとう。ドンピシャだったわ。Project settings -> Time -> Fixed Timestepをデフォの0.02から0.01にしたら引っかからなくなった
しかし、Fixed Updateを頻繁に呼ぶと処理パフォーマンスへの影響が気になる。どうしたもんか・・・
ところで>>394の現象は、階層中でTPPキャラのオブジェクトを選択してるとインスペクタが大量に動作するので、FPSが落ちてΔTが大きくなって、引っかかる現象を回避できてたんだろう
410: 03/11(火)14:09 ID:De4J1NUc(1) AAS
Blenderでジオメトリの面の向きをちゃんと確認してるん?Shift+Nで自動でやってくれるけど
あとエンジン側で透明マテリアルが重なった場合に透過回数設定があった気がする・・あれっUEだっけ 忘れた
411: 03/12(水)06:58 ID:UWPhDF4+(1) AAS
今日も元気だ暴飲暴食!玉将で豪遊してきた!
豚骨ラーメン!チャーハン!ビール500リットル!これでたったの999円!m9⎛´・ω・`⎞ドーン!
i.imgur.com/ruPTUcZ.jpeg
412: 03/12(水)10:19 ID:pORy2Cy8(1) AAS
>>408
問題ないんです
413: 03/12(水)10:20 ID:8wulrGuP(1) AAS
お金ないから一食1000円はかけられないやうらやましい
414: 03/12(水)21:20 ID:hfXlQOjL(1) AAS
俺らもドーンおじくらいにゲーム売って稼いで1000の食事目指そう!
415: 03/12(水)23:25 ID:3CtIUSmX(1) AAS
999円だからセーフ!m9⎛´・ω・`⎞ドーン!
416: 03/13(木)00:20 ID:YB8HQ+gT(1) AAS
ドーンはアプリで稼げてるの?
なんかこの前凄絶な作品リストを見たような気がするけど
417: 03/13(木)10:58 ID:tms/61Oq(1) AAS
DLサイトやストアURL載せずに、ゲームやアプリの売上報告ばかりする
仮想の自分を作って虚栄心を満たしている人もいるからなあ
418: 03/13(木)17:49 ID:FLrxWfLl(1) AAS
よし、俺も虚栄心満たしていくとするか
419: 03/13(木)23:22 ID:yDeD09lr(1) AAS
action.Invoke(function) ってなに?
(functionは関数)

時間差つけるのがInvokeだと思ってたけど、引数に時間がないんよ
420: 03/13(木)23:49 ID:vUamdQZ4(1) AAS
Invoke使うな!
コルーチン使えつってんだろ!?m9⎛´・ω・`⎞ドーン!
421: 03/14(金)00:57 ID:Ix7/mKDm(1/2) AAS
コルーチンで時間差するのはどうしたらええのん?
たとえば3秒待機してからトリガーしたいのけんど
422: 03/14(金)01:49 ID:Gp453UhF(1/2) AAS
ググれ!m9⎛´・ω・`⎞ドーン!
423: 03/14(金)01:58 ID:FAogYAm0(1) AAS
はい次の方
424: 03/14(金)04:23 ID:Gp453UhF(2/2) AAS
今日も元気だボインボイン!たまごっちで豪遊してきた!
ゆで卵はそれ自体のカロリーより消化に必要なカロリーの方が大きいのだよ!
つまり食べれば食べるほど痩せるのだ!m9⎛´・ω・`⎞ドーン!
i.imgur.com/8CEfdoG.jpeg
425
(1): 03/14(金)08:19 ID:GiVAOqdk(1) AAS
yield return new WaitForSeconds(3.0f);
426: 03/14(金)10:16 ID:Ix7/mKDm(2/2) AAS
>>425
なるほど!そこで待つんですね
大儀である
427
(1): 03/16(日)22:44 ID:GRsYaYlu(1) AAS
今日も元気だ暴飲暴食!焼きそばのパンチョで豪遊してきた!
明太子肉パスタ!レモンサワー350リットル!これでたったの250円!m9⎛´・ω・`⎞ドーン!
i.imgur.com/4jz8b3L.jpeg
428: 03/16(日)23:29 ID:RqnJvOYj(1) AAS
>>427
うまそー!!
429: 03/16(日)23:35 ID:cSxvG11Q(1) AAS
パンチよって場所変わったけか?
430: 03/17(月)07:10 ID:upljSn1d(1/2) AAS
アキバのパンチョはずっと同じ場所だよ?ワイの庭だ!アキバはワイの庭だ!m9⎛´・ω・`⎞ドーン!
431: 03/17(月)08:50 ID:nVrYowyW(1) AAS
アキバのJRきっぷ売り場は田舎者にもわかりやすい
432
(1): 03/17(月)09:57 ID:upljSn1d(2/2) AAS
あのな?お前はグンマー帝国の土民だから知らないだろうけどな?
切符なんてとっくの昔に絶滅してもう無いんだよ?
スイカってのが果物屋に売ってるからな?それ買ってから上京しろよ?パスポートも忘れんなよ?m9⎛´・ω・`⎞ドーン!
433: 03/17(月)10:11 ID:OiIjNzua(1) AAS
>>432
やめたれww
434: 03/17(月)13:10 ID:mT2GCUJZ(1) AAS
普通にユニティー利用者が減りそうなスレだなあーあ
435: 03/17(月)13:19 ID:A17rJDf2(1) AAS
教えて君が死ぬだけでは?
436: 03/17(月)14:10 ID:q5KZRby3(1) AAS
教えてくんは答えを求めるより問う力が必要
437: 03/17(月)14:50 ID:v99msUeP(1) AAS
問うということは問うということです。
438: 03/17(月)18:07 ID:r8mHMuNp(1) AAS
進次郎さんだ
439: 03/18(火)04:44 ID:B0NlRmSu(1) AAS
今日も元気だ暴飲暴食!キャバクラで豪遊してきた!
柿の種!魚肉ソーセージ!レモンサワー350リットル!これでたったの198円!ということは198円ということだ!m9⎛´・ω・`⎞ドーン!
i.imgur.com/BMWNq4V.jpeg
440: 03/18(火)07:16 ID:E1ZcQ+uo(1/4) AAS
ゴミしかいなくなったのか、ここ
441: 03/18(火)07:39 ID:HAK2u94N(1) AAS
1読めば解決
442: 03/18(火)07:45 ID:E1ZcQ+uo(2/4) AAS
一部のゴミどもの所為でUnity質問スレが機能していないのはゲ製版としては痛手だな
俺も質問したい
443: 03/18(火)07:49 ID:E1ZcQ+uo(3/4) AAS
×ゲ製版
〇ゲ製板
444: 03/18(火)08:39 ID:PmhHb3Ev(1/5) AAS
唐突ですが質問です

GetComponentsInChildren<Canvas>().FirstOrDefault(c => c.gameObject.name == "Main");

この意味が全くわからないんですが
ラムダ式ではない表現はできますか
445: 03/18(火)09:05 ID:aDh1xtQs(1) AAS
Canvas FindMainCanvas(GameObject parentObject)
{
Canvas[] canvases = parentObject.GetComponentsInChildren<Canvas>();
foreach (Canvas canvas in canvases)
{
if (canvas.gameObject.name == "Main")
{
省4
446: 03/18(火)09:19 ID:t0GIYjHt(1/2) AAS
できる
何をやってるか? は実行するスクリプトとその下の全gameobjectから Mainという名前の着いてるcanvasコンポーネントの抽出

わざわざメソッド作るまでもないからラムダのままでよくね?
447
(1): 03/18(火)09:23 ID:PmhHb3Ev(2/5) AAS
おー、理解できたは
canvasがすでにある前提でそれを探してるのか!
ありがとう
448
(1): 03/18(火)09:36 ID:DiFYRPfA(1) AAS
ドーンおじの関数名が妥当たけど、せっかくなら合わせてやれよ
449: 03/18(火)09:40 ID:t0GIYjHt(2/2) AAS
>>447
canvasが無ければnullが返るよ
first or default はクラスが対象だと 最初に見つけたものかnull
450: 03/18(火)10:01 ID:CiYy2RAM(1) AAS
LINQは負荷高いけど便利だから覚えて損無いと思うよ
451: 03/18(火)13:12 ID:gLHpA01b(1/3) AAS
ゲーム開発から逸れるがLINQ使わない開発なんてあるの?
趣味ならまだしも仕事だと積極的に使えと言われる
452: 03/18(火)13:14 ID:gLHpA01b(2/3) AAS
Unityは古いバージョンのC#だからいまだにforeachとかでループ回すレガシーな書き方を好むプログラマも多そうな印象
453: 03/18(火)13:17 ID:3FO5OPQZ(1) AAS
個人的にはエディタの拡張機能ではLINQ使ってるけどリリースビルドには一切含めないようにしてる
LINQは使うたびにGCが過剰に発生するのが負荷が高いと言われる所以だから
作ってるゲームがそれを許容できるかによる
454: 03/18(火)13:18 ID:PmhHb3Ev(3/5) AAS
LINQ重いから
知ったかクライアントは仕様書で禁止してくるよ
455: 03/18(火)13:42 ID:gLHpA01b(3/3) AAS
ゲーム開発で使うとしたらエディタとか初期化に限られるよねやっぱり
業務アプリでも呼び出し頻度高いところとか大量データ処理する所では使わないようにしてる
456: 03/18(火)14:19 ID:iKQuGUKe(1) AAS
「距離の判定でルート使ったところで1msもかからん」って言ったら自称開発者が「1msも変わったらヤバイだろ」って突っ込んできたんだけどこいつほんとに開発者か?ってなってる
「1msも変わらん」って言葉の真意は1ms以下で無視できるレベルで小さい(実際は0.1ms程度)って伝わらないんか
というか距離の判定で1msかかるのは設計ミスやろ
457: 03/18(火)14:25 ID:DhM0KiUV(1) AAS
API単位だと1msと0.001msでかなり意味違うから額面通り受け取られたら普通にツッコまれる
Instantiateくらい重い処理なら別だけど
458
(1): 03/18(火)15:31 ID:QNX4HnNW(1) AAS
曖昧な発言する雑なやつが何で威張ってんの
459: 03/18(火)16:14 ID:yU/sQVqt(1) AAS
>>458
それ君w
460
(1): 03/18(火)17:28 ID:E1ZcQ+uo(4/4) AAS
240 FPS出そうと思ったら、フレーム辺り4ms強しかないからな
461
(3): 03/18(火)18:41 ID:PmhHb3Ev(4/5) AAS
現在のスクリプトのフルパスを返す関数があるのですけど、
それの一個親のフォルダ名を取得するのはどうしたらいいですか
/でsplitして最後のアイテムを消すしかない?
462
(1): 03/18(火)18:55 ID:phvr3KFu(1) AAS
>>461
Path.GetDirectoryName()で取れる
463
(1): 03/18(火)18:57 ID:GOtEBAFE(1) AAS
>>460
えっ?
464
(3): 03/18(火)19:04 ID:UdWYMzyu(1/2) AAS
>>462
いや、
 string filePath = @"C:\hoge\fuga\hoga.txt";
に対してPath.GetDirectoryName(filePath)すると
 @"C:\hoge\fuga"
が取れる
>>461が欲しがってるのはfugaの部分だけじゃない?
省5
465: 03/18(火)19:07 ID:UdWYMzyu(2/2) AAS
>>463
1秒は1000msだから
1000 / 240 = 4.16666667
1フレームあたり4ms強
466
(1): 03/18(火)20:26 ID:KSYQbbOt(1/2) AAS
>>464
そんな面倒なことしなくてもGetFileNameとかでいけるのでは?
パス操作でSplit使うのは最終手段
467: 03/18(火)20:43 ID:2C3TH5ss(1/3) AAS
>>466
GetFileNameだとhoga.txtが取れてしまう
fugaの部分だけを取りたいなら回りくどいけど>>464の方法くらいしか思いつかん・・・
468: 03/18(火)20:44 ID:2C3TH5ss(2/3) AAS
もっとキモい話になるけど、Path.GetDirectoryNameはディレクトリパスだけを返してくれる便利な魔法の関数などではなく
 \または/で区切って最後の部分を除外した文字列を返す("C:\hoge\fuga\hoga.txt"→"C:\hoge\fuga")
だけで、Path.GetFileNameも同じく
 \または/で区切って最後の部分のみ返す("C:\hoge\fuga\hoga.txt"→"hoga.txt")
だけなので、理論的には
 Path.GetFileName(Path.GetDirectoryName("C:\hoge\fuga\hoga.txt"))
でfugaの部分を取れるっちゃ取れる
省1
469
(1): 03/18(火)20:45 ID:d603JaOd(1) AAS
DirectoryInfoとか
470: 03/18(火)20:54 ID:2C3TH5ss(3/3) AAS
>>469
string filePath = @"C:/hoge/fuga/hoga.txt";
DirectoryInfo di = new DirectoryInfo(filePath);
Console.WriteLine ($"di.Name={di.Name}");
Console.WriteLine ($"di.FullName={di.FullName}");
Console.WriteLine ($"di.Parent.Name={di.Parent.Name}"); // これでfuga取れたわ
Console.WriteLine ($"di.Parent.FullName={di.Parent.FullName}");
省1
471: 03/18(火)21:20 ID:KSYQbbOt(2/2) AAS
自分が想像してたのは正にそのGetDirectoryNameしてGetFileNameだった
確かにキモいっちゃキモいね
でもDirectoryInfoが一番しっくりくるし知れてよかった
1-
あと 508 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s