[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild3 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
43: 名前は開発中のものです。 [sage] 2020/01/13(月) 21:07:35.13 ID:auL79zSW 物知り顔でドヤってる>>21があまりにも愚かだったから突っ込んだだけで感謝とかそういうのは別に求めてない ……というかてめえには一言足りとも語りかけちゃいないのになんでお前がいちいち答えるんだよ、構ってちゃんかよ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/43
44: 名前は開発中のものです。 [] 2020/01/13(月) 21:09:46.43 ID:Rcgjsxsv >>41 自称中級者なのになんで初心者スレきたの? 寂しいの? 書かないと死ぬ病気なの? 構ってほしいのかな? なら雑談スレいけやぼけ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/44
45: 名前は開発中のものです。 [] 2020/01/13(月) 21:11:21.23 ID:Rcgjsxsv >>43 だから糖衣構文君は雑談スレで勘違いして暴れていいよ ほんと動かないコード書いて恥ずかしくないのかね http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/45
46: 名前は開発中のものです。 [sage] 2020/01/13(月) 21:32:16.53 ID:QiViT9Gr 質問いいかな? マリオ64+初代トゥームレイダーみたいな3Dアクション作ってるんだけど、 スマホ画面のバーチャルボタンでの二つボタン同時押しがきつい。 例えば、Bダッシュジャンプ(※B押しながらAでジャンプ)とかが出来ない。 そこで物理コントローラでの操作はそのままで、例えばスマホ画面の バーチャルコントローラだけ、Bボタンを "離す入力" を遅延させることは出来ないかな? 例えばスマホではBボタンを離しても、0.5秒は押したままで判定されて、その隙にAボタンを押すみたいな。 スクリプト内では以下でコントローラの入力を取ってる。 UnityEngine.InputSystem.Controls.ButtonControl 自分が思いつくのは拡張メソッドとか? スマホ判定したら、特定のボタンの wasReleasedThisFrame が来たら、何とかして遅延実行させるとか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/46
47: 名前は開発中のものです。 [] 2020/01/13(月) 21:46:07.74 ID:Rcgjsxsv >>46 さーせん自分インプットシステムようわからんので ここは自称中級者君と糖衣構文君が動くコード書いて説明してれることを祈る http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/47
48: 名前は開発中のものです。 [sage] 2020/01/13(月) 22:06:33.65 ID:QiViT9Gr >>47 いえいえ、いつもありがとう。 スクリプトでは例えば以下のように書いてるけど(※例えばYボタン) if (yButton.wasReleasedThisFrame) { // 処理 } 物理コントローラー接続時とスクリプトを変えたくないとしたら、 yButton.wasReleasedThisFrame の前に処理をインターセプト出来て、 本来の wasReleasedThisFrame が来たら 10フレ遅らせて wasReleasedThisFrame を発火させるとか。 なら、UnityEngine.InputSystem.Controls.ButtonControl を継承した自作クラスを作るとか? そんな入力イベントをバッファ出来る自作ボタンコントロールクラスとか出来るのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/48
49: 名前は開発中のものです。 [sage] 2020/01/13(月) 22:39:53.81 ID:QiViT9Gr とりあえず進捗 以下のようなクラスの継承では動かなかった。 public class BufferButtonControl : ButtonControl { // 処理を書く予定だった } 無理やりキャストして ButtonControl 型の変数に突っ込もうとしたが、Unity で実行時エラーが出た。 yButton = (BufferButtonControl ) Gamepad.current.yButton; しかし拡張メソッドは動いた。 public static bool WasReleasedThisFrame(this ButtonControl self) { Debug.Log("Hack!"); return self.wasReleasedThisFrame; } あとはこの中にスマホで物理コントローラ接続無しなら、10フレ程度バッファする処理を書けば… って、どう書くんだろう? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/49
50: 名前は開発中のものです。 [sage] 2020/01/13(月) 22:40:12.07 ID:yBWGUThF そんな処理より、操作変えた方がいいよ。 ボタン二つを管理するのかな?と思ったけどそうじゃなくて遅延させるのはちょっと… どうしてもやりたいなら、タッチマネージャーを頭から作るのが必要かと。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/50
51: 名前は開発中のものです。 [sage] 2020/01/13(月) 22:42:52.88 ID:6zyx93de ここまでの内容をまとめると 怒涛の連レスするID:RcgjsxsvはID:QiViT9Grと同一人物で 前スレで何か悔しいことがあってたまらないから自分で質問して自分で解答して 感謝されてる素晴らしい僕を見せつけたいとそんな感じか どれだけ承認欲求拗らせるとこうなるんだろう http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/51
52: 名前は開発中のものです。 [sage] 2020/01/13(月) 23:13:16.61 ID:QiViT9Gr >>50 アドバイスありがとう。 タッチマネージャーを自作が良さげでいいのかな。 うーん、もともと ”このゲームは必ず物理コントローラを接続して下さいキリッ!” っていこうとしてたけど、 流石にそんな物理コントローラ用意するコアな人達は1%もいないと思い、スマホ画面上にボタン表示して自分で 動作テストしたけど、当然とても操作が難しかった。 でも、自分的にはスマホ的なタッチ操作はまだ考えてなくて、あくまでスーパーファミコン的な操作でやりたいと思ってる。 で、ボタンを離す動作の遅延処理を思いついたという流れ。 上に書いたように拡張メソッド自体は動くので、何とかバッファ処理出来ないかなと… スマホ画面でBダッシュジャンプを実装したいなあ… http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/52
53: 名前は開発中のものです。 [sage] 2020/01/13(月) 23:43:09.48 ID:yBWGUThF 指がaボタンの位置にきたらジャンプでいいのでは? ?b押しっぱなしからスライドa領域 ?a領域タッチ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/53
54: 名前は開発中のものです。 [sage] 2020/01/13(月) 23:54:48.93 ID:wx103lZP >>52 実装はとてつもなく簡単だがお前には絶対に理解出来ないから諦めろ 生成したInputActionに登録するコールバックでフラグ立ててコンテキスト見ながらUpdate内でポーリングとか言われても分かんないだろ? これが超基本的なInputSystemの使い方なのに生の値取って処理しようとしてるレガシーなお前にはまず不可能なんだよ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/54
55: 名前は開発中のものです。 [sage] 2020/01/14(火) 00:08:41.92 ID:TgWjNKx2 入力バッファの為のInputSystemでバッファ取る為にサブクラス作るって最高に馬鹿げてるけど、Upフラグキャプチャして0.5秒後に消すだけのことが自分で分からないならぶっちゃけ何言っても伝わらないと思う IQは20違うと話が通じないって言われてるんだよのび太君 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/55
56: 名前は開発中のものです。 [] 2020/01/14(火) 01:54:57.74 ID:s+JbO9cF >>45 いいからお前はSelectMany挟んだ時の動作イメージ書けよ。逃げてんじゃねーぞ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/56
57: 名前は開発中のものです。 [sage] 2020/01/14(火) 07:50:43.51 ID:Sje8YI9U >>53 なるほど、でも "ボタン" で実装するのが要件なんだ。 >>54, 55 とりあえず、ありがとう。調べてみるわ。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/57
58: 名前は開発中のものです。 [sage] 2020/01/14(火) 07:58:18.64 ID:d/PuqDsL >>56 (自分が先に書いて見せればそれで論破が成立するのにそれをしない……つまりはあれか、自身の知らない答えを煽って引き出そうとする伝統のあれか……) http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/58
59: 名前は開発中のものです。 [] 2020/01/14(火) 10:53:05.74 ID:s+JbO9cF >>58 こっちはIEnumが連続するって話で終わってんだが LINQ勘違い君はWhere限定の最適化方法や関係ないLINQ使用箇所のIL上げてほらループネストしてないだろドヤっ!とかWhereは要素そのもの返すだとか 間違いや勘違いだらけのこと並べ立てて俺はLINQよく知ってるって勘違いしまくってるんだけどよくアレで他からツッコミ入らないのか不思議でならないんだが http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/59
60: 名前は開発中のものです。 [sage] 2020/01/14(火) 11:03:25.28 ID:Sje8YI9U Bダッシュジャンプの挙動は UniRX の Observable で実装出来た。 InputSystem.Controls.ButtonControl や、InputSystem.OnScreen.OnScreenButton 辺りで 色と試したけど、スクリプトの中でボタンを押したことにしても、希望の動作にならかかったので、 UniRX で、ダッシュボダンを離しても nフレ後までは最高速ジャンプ出来るように実装した。 あとアドバイスの内容で、ああこの人は "物理ゲームパッド用のゲーム" を開発したことない人だなと分かるようになった。 UnityEngine.InputSystem.Gamepad とかのことね。 でも出来たんでサンキュー! http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/60
61: 名前は開発中のものです。 [sage] 2020/01/14(火) 11:42:59.26 ID:Sje8YI9U というか、Unity初心者の自分が言うのもなんだが UniRx 便利だわ。 実務の C#案件では LINQ は自然につかうが、Rx まではあんま必要なかった。 まあ、Unity でも LINQ で処理する必要性があったら使おうと思うけどね。 それとも、Unity では UniRx はOKで、LINQ はダメなの? どして? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/61
62: 名前は開発中のものです。 [sage] 2020/01/14(火) 12:56:12.43 ID:GDy6IxVO >>59がLINQに詳しいみたいだから聞いてみたらどうだろう IEnumとか想像上のIF?持ち出してるあたりあんまり分かってないみたいだけど http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/62
63: 名前は開発中のものです。 [sage] 2020/01/14(火) 13:02:53.66 ID:FSjVa/a9 >>60 おはようございます出来たそうでよかったです、もう必要ないかもしれないけど ちょっと自分も>>46の要件をやってみました頭の体操になりましたので参考までに よければ、こんな画面でuiのbuttonコンポーネントに画像付けてみまして https://i.gyazo.com/832eccb23ff5882fd4bb0330ef2b5a81.png Aボタンの遅延を実装してみました https://i.gyazo.com/004bb73967d71daa88863b17b949e305.png プログラムではボタンを離してから2秒後まで押下中と判断しています 単純に押下の判定を2つ、ボタン押しているか?フラグが立っているかです で離した後Invokeでフラグを解除しています RaycastAllとか勉強になりましたよ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/63
64: 名前は開発中のものです。 [] 2020/01/14(火) 13:04:43.50 ID:A84mTdZ6 >>62 めんどくさいから省略してるぐらいわかんだろほんとアホなの? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/64
65: 名前は開発中のものです。 [sage] 2020/01/14(火) 13:04:50.47 ID:d/PuqDsL >>59 ふーん で、ソースは? まさか脳内ソースとか言わないよな http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/65
66: 名前は開発中のものです。 [sage] 2020/01/14(火) 13:08:41.41 ID:GDy6IxVO >>64 IEnumeratorとIEnumerableのどっちのつもり? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/66
67: 名前は開発中のものです。 [] 2020/01/14(火) 13:38:07.43 ID:FSjVa/a9 雑談スレでゆっくり心行くまでやってけれ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/67
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 935 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s