[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild2 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
833: 名前は開発中のものです。 [sage] 2019/12/27(金) 15:36:00.79 ID:CBqToL3L(3/3) AAS
いや申し訳ないです
画像自体いじったら目的は果たせたので解決ですありがとう
834: 名前は開発中のものです。 [sage] 2019/12/28(土) 14:28:02.71 ID:nbosvN83(1) AAS
画像いじっても解決するだろうけど、素材なおすの面倒そうだから
1.CreateEmptyでGameObjectつくる
2.quadをGameObjectの子にする
3.GemeObjectをy=0に配置したときに木の根元が地面に合うようにquadのyを調整
この状態でGameObjectをprefabにすればいいんじゃないかな
835(1): 名前は開発中のものです。 [sage] 2019/12/30(月) 15:00:43.51 ID:MefacUP9(1/2) AAS
質問失礼いたします。
スクリプト等をいじって保存後に再生ボタンを押して動作確認するとエラー等が出ていないのにうまく動かず、
何回か繰り返していると何も変更していないのにうまく動作する様になる事があるのですが、保存以外にも何か条件や方法あるのでしょうか?(ブラウザの更新ボタンみたいに全て読み込み直す等)
836(1): 名前は開発中のものです。 [sage] 2019/12/30(月) 15:33:19.42 ID:7cSOiqUU(1) AAS
無いよ
837: 名前は開発中のものです。 [sage] 2019/12/30(月) 15:43:15.90 ID:MefacUP9(2/2) AAS
>>836
どこか保存されてないなど自分の勘違いかもしれないのでもう少し様子を見て頻繁に再現する様なら再インストールも考えてみます。
ありがとうございました!
838(1): 名前は開発中のものです。 [sage] 2019/12/30(月) 22:51:24.73 ID:p/zM1Bwy(1) AAS
開発機 Windows 10 では XInput のゲームパッドを bluetooth接続で使用してて、
ビルド先の実機 Android 9 では同じゲームパッドを DirectInput モードで bluetooth接続してるんだけど、
XInput と DirectInput でボタン、軸がバラバラで途方にくれてる。
ゲームパッドは 8Bitdo N30 Pro 2
コードからは、Input.GetAxis("Vertical") == 1 とかで呼んでるけど、
なんかベストプラクティスとかあるのかな?
[プロジェクト設定]→[入力]で、ボタン、軸の違う XInput と DirectInput コンパチで設定する方法とか?
839(1): 名前は開発中のものです。 [sage] 2019/12/31(火) 02:21:30.45 ID:5UwvHbim(1/2) AAS
>>838
InputManagerでのゲームパッド完全対応は既製品を網羅して決め打ちするしかないから皆途方に暮れた末にアセットに頼ってるのが現状だよ
840: 名前は開発中のものです。 [sage] 2019/12/31(火) 08:35:26.33 ID:Y8q/9GVB(1/10) AAS
>>839 どうもありがとう。
なるほど、最終的にはキーコンフィグを自力実装か、アセット頼りになるのか。
Unity 側でOS判定は出来そうだから、開発中は Windows なら XInput で、Android なら DirectInput の
デフォルト設定をコード内で選択するようにするか。
でも、それだと InputManager をコードからいじることになるのか。
Input.GetAxis("Vertical") ← ここの "Vertical" をコードから指定する感じだよね。
結構めんどくさいね。
というか、Input.GetAxis には仮想軸の文字列しか渡せないの? オーバーロードも一つもない?
そんなバカな…
841(1): 名前は開発中のものです。 [sage] 2019/12/31(火) 09:24:48.90 ID:Y8q/9GVB(2/10) AAS
今、InputManager にかわる新しい入力システム InputSystem が出てたことを知った。
キーパッド入力部分のソースコード全部書き直せってか。
ぐぬぬ
842: 名前は開発中のものです。 [sage] 2019/12/31(火) 10:07:49.31 ID:D9jsx8E3(1) AAS
>>835
シーンに何も置いてない状態で起こるならエディタ側の問題
空のシーンだと正常に動くならライトやらスクリプトやらが悪さしてる
843(1): 名前は開発中のものです。 [sage] 2019/12/31(火) 12:42:41.52 ID:CcuSFy9r(1) AAS
>>841
大改修になるけど、今までキー入力のバッファリングが無くて不便だったのがやっと解決されるからアクションゲームとか作ってるなら乗り換えた方がいいよ
844: 名前は開発中のものです。 [sage] 2019/12/31(火) 15:12:13.49 ID:5UwvHbim(2/2) AAS
Input Systemのドキュメント読んで来た
Xbox, PS4, Switchのコントローラーは公式対応で、
その他は汎用HIDを識別とあるがやっぱり自前のマッピングが必要っぽい
未知のコントローラーを検出したらジョイスティックを順番にぐりぐりさせて識別するオートコンフィグさえ実装したら実用レベルだな
845: 名前は開発中のものです。 [sage] 2019/12/31(火) 15:17:52.78 ID:Oh+ty5S6(1) AAS
やはりアセットの方が楽そうだね。
500円とかなら間違いなく買うw
846: 名前は開発中のものです。 [sage] 2019/12/31(火) 18:06:11.29 ID:Y8q/9GVB(3/10) AAS
>>843 ありがとう、さっそく InputManager から InputSystem に換装してみた。
ゲームパッドは 8Bitdo N30 Pro 2 で検証。
【結果】
// Dpad:十字キー
Gamepad.current.dpad.up.isPressed
Gamepad.current.dpad.down.isPressed
Gamepad.current.dpad.left.isPressed
Gamepad.current.dpad.right.isPressed
⇒ XInput と DirectInput で同じキーが取れる。
// ボタン
Gamepad.current.aButton.isPressed
Gamepad.current.bButton.isPressed
Gamepad.current.xButton.isPressed
Gamepad.current.yButton.isPressed
⇒ XInput :(※N30 Pro 2のボタン表記では取れない)
aButton → Bボタン
bButton → Aボタン
xButton → Yボタン
yButton → Xボタン
⇒ DirectInput :
aButton → Aボタン
bButton → Bボタン
xButton → Xボタン
yButton → Yボタン
847: 名前は開発中のものです。 [sage] 2019/12/31(火) 18:06:35.38 ID:Y8q/9GVB(4/10) AAS
【状況】
十字キーは XInput と DirectInput のコンパチが実装出来た。
ボタンは XInput では XBOXコンのボタン配置で取れた…
DirectInput では N30 Pro 2 の表記の任天堂配置で取れた。
InputSystem の XInput でも任天堂のボタン配置で取りたい。
どうにか出来ないものかな?
L、Rはまだ試していない。
848(1): 名前は開発中のものです。 [sage] 2019/12/31(火) 20:58:22.95 ID:p26duGZu(1) AAS
みんなアセットを買って解決してるよ
849: 名前は開発中のものです。 [sage] 2019/12/31(火) 21:17:07.92 ID:Y8q/9GVB(5/10) AAS
>>848 申し訳ない、今回はアセットを購入しない方針で問題を解決したいんだ。
850: 名前は開発中のものです。 [sage] 2019/12/31(火) 21:59:33.07 ID:Y8q/9GVB(6/10) AAS
※L、R は XInput と DirectInput のコンパチが実現してた。
Gamepad.current.leftShoulder.isPressed
Gamepad.current.leftTrigger.isPressed
Gamepad.current.rightShoulder.isPressed
Gamepad.current.rightTrigger.isPressed
⇒ XInput、DirectInput とも
leftShoulder → L1ボタン
leftTrigger → L2ボタン
rightShoulder → R1ボタン
rightTrigger → R2ボタン
で、結局、ボタンの数だけ ButtonControl 型のフィールドを作って、
OSを判定してボタンの参照を渡して解決した。
自分のコードの中では任天堂のボタン配置で入力処理を書いた。
多分、XInput で ABXYボタンがXBOX配置か、任天堂配置で問題が起こるのだろう。
851(1): 名前は開発中のものです。 [sage] 2019/12/31(火) 22:12:50.69 ID:Y8q/9GVB(7/10) AAS
InputSystem 良いね。でも、Unityの初心者向けサイトはまだ InputManager 使うやり方で
説明されてるので、これから Unity 始める人は InputSystem が使いやすいと思う。
さあ、ひとまず開発環境でのゲームパッド問題は解決した。教えてくれた人ありがとう。
次はフレームレートの問題だな。開発機の Windows 10 では普通に 60fpsで開発してたんだけど、
Android 9 の実機では 60fps では厳しくて、30fps にしようと思ったが、さらに古い Android 5 で
動かしたら、20fps 程度じゃないと安定しなかった。
作ってるのは、64マリオみたいな3Dアクションだけど、判定に Ray 投げまくりなので、
fpsが異なる設定の Android の実機で動かすとバグ出まくりだよ…
852: 名前は開発中のものです。 [sage] 2019/12/31(火) 23:02:42.59 ID:Y8q/9GVB(8/10) AAS
あと ゲームパッドの振動だ。
XInput と DirectInput のコンパチでゲームパッドを振動させる方法があるのかな?
853: 名前は開発中のものです。 [sage] 2019/12/31(火) 23:50:33.51 ID:Y8q/9GVB(9/10) AAS
というか、InputSystem なら
Gamepad.current.SetMotorSpeeds(1f, 1f);
とかで、開発環境 Windows 10 で XInputモードの 8Bitdo N30 Pro 2 は振動した。
InputSystem やるじゃん! 公式にゲームパッドの振動に対応したんだと思ったが、
デプロイ先 Android 9 で DirectInputモードの 8Bitdo N30 Pro 2 は振動しなかった…
Windows 版は振動対応だけど、Android 版は振動未対応って、ぐぬぬ
854: 名前は開発中のものです。 [sage] 2019/12/31(火) 23:55:47.91 ID:Y8q/9GVB(10/10) AAS
いや、8Bitdo N30 Pro 2 自体が、DirectInputモードでは振動未対応って可能性もあるね。
誰か、InputSystem の SetMotorSpeeds で、DirectInputモードのゲームパッドを振動させることに
成功したら、教えてくだせえ。
振動ありとなしでは、ゲームの面白さが段違いだよ…
855: 名前は開発中のものです。 [sage] 2020/01/01(水) 00:35:54.56 ID:cBmOpE+o(1/6) AAS
というか公式に振動の解説あったわ。
外部リンク[html]:docs.unity3d.com
> PS4, Xbox, and Switch controllers, when connected to their respective consoles.
> Only supported if you install console-specific input packages in your Project.
> PS4 controllers, when connected to Mac or Windows/UWP computers.
> Xbox controllers on Windows.
InputSystem の Rumble が Android に対応していない…
856: 名前は開発中のものです。 [sage] 2020/01/01(水) 01:00:44.65 ID:Kx2wbxr1(1/2) AAS
>>851
そういうときのfixed updateだよ!
そしてそこでinput systemが活きてくる!
857(1): 名前は開発中のものです。 [sage] 2020/01/01(水) 01:23:21.99 ID:cBmOpE+o(2/6) AAS
>> 856
自分は Unity は初学者だけど、Unity の作法通り、FixedUpdate() で Rigidbody に対して処理書いてオブジェクトの動作させてる。
それでも、fps が変化すると、壁を上りきる時とかハシゴを降りる時とか、Ray 処理の微妙な判定で細かい動作バグが出てる現状…
※オブジェクトの動作は全て自前実装。
ゲームパッドのキー入力は Update() で取ってるけどね。
上下前次1-新書関写板覧索設栞歴
あと 145 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s