[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
237: 名前は開発中のものです。 [sage] 2020/01/25(土) 00:44:13.23 ID:lrP57LvS(1/6) AAS
これはもう熟練者様に確認してもらいたいので
シンプルにしたものをパッケージ化しました。
これで症状を確認していただけませんでしょうか。
外部リンク:ux.getuploader.com

まずは
ゲーム開始して、右キーを押しっぱなしで死んでください。
リスタートしても右キーを押しっぱなしです。
そしたらリスタートしてもプレイヤーは右に進むはずです。
そりゃそうです、右キーを押しているからです。

次に、
右キーを押しっぱなしで死ぬのは一緒ですが
その途中に、パソコンのキーボードをどれかひとつ、押してください。
そっちは押しっぱなしでは無く、一度押すだけです。
この間も右キーの方は押しっぱなしです。
で、そのまま死んでください。
すると、リスタート後、プレイヤーは先ほどとは違い
右に進まないんです。右を押している限り、移動はできません。
右を押しながらジャンプはできますが、右を押している限り、移動はできません。

この症状の原因を知りたいです。

Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
238: 名前は開発中のものです。 [sage] 2020/01/25(土) 00:47:53.82 ID:lrP57LvS(2/6) AAS
ちなみにバージョンは2018.4.11f1です
239
(1): 名前は開発中のものです。 [sage] 2020/01/25(土) 09:41:49.47 ID:6e7MKbrk(1/3) AAS
とりあえずもっとシンプルにして修正したよ
外部リンク:thuploader.orz.hm

恐らく原因はLoadSceneでしょ、シーンロードするという事はそれまで居たシーンは
リセットされると思う、だから入力が利かなくなるんじゃないかな

とりあえず同シーンリスタートしたら問題なく出来た

それから、コライダーとか整理した方がいいかな同じオブジェクトに二つ付いてたり
場所かぶっていたり、なんか無駄がおおかった
240: 名前は開発中のものです。 [] 2020/01/25(土) 09:43:38.51 ID:6e7MKbrk(2/3) AAS
あ、ちなみに制作は
2019.2.17f1で取り込み確認、パッケージ化
2019.2.5f1でも確認

2018年バージョンは当方もうすててたので、未確認
でも特にバージョン違いの事してないから問題ないと思います
241
(2): 名前は開発中のものです。 [] 2020/01/25(土) 09:53:45.45 ID:6e7MKbrk(3/3) AAS
>>293
293(1): 名前は開発中のものです。 [] 2020/01/28(火) 23:12:05.94 ID:LfI/H2gH(2/2) AAS
>>289
やっぱりマウスロックかけないとダメなんだね
ありがとう、助かったわ
>恐らく原因はLoadSceneでしょ、シーンロードするという事は

すまん、これ原因究明してないから、これが原因かどうか不明なので
ちょい出かけるからまた戻ったらシーン展開でも症状確認してみるわ
242: 名前は開発中のものです。 [sage] 2020/01/25(土) 10:51:31.73 ID:lrP57LvS(3/6) AAS
>>239
ありがとうございます
修正感謝します
確認してみます!

>シーン展開でも症状確認してみるわ

はい!もちろん修正されたものを見て自分でも原因を考えてみますが
ぜひとも宜しくお願いします。
243: 名前は開発中のものです。 [sage] 2020/01/25(土) 11:51:30.29 ID:52iKK3mn(1) AAS
優しいスレ
244
(1): 241 [sage] 2020/01/25(土) 13:15:17.01 ID:AAVfnYWp(1) AAS
画像リンク


こんな感じでリスタートでLoadSceneしてみたら、症状でましたね
LoadSceneAsyncでも同様なので、やはりシーンロードするとバッファが詰まるのでしょかね

とりあえず途中経過です
なぜLoadSceneでキー2つ目押でなるのかについてはなんか大変そうだな根本原因掴むのは
245
(1): 名前は開発中のものです。 [sage] 2020/01/25(土) 13:30:42.22 ID:4hPFEDML(1) AAS
>>234
234(2): 名前は開発中のものです。 [sage] 2020/01/24(金) 23:42:33.68 ID:rtAyfksW(2/2) AAS
シーンを移動するとInputがリセットされる件

で検索

url貼ろうとするとNG食らうので
の記事がそのまんま答えじゃない?
この記事によると「シーン遷移時にInputはリセットされる」というのが仕様で
今回の場合「シーン読み込みしてるのに横移動入力が拾えてた」というのがむしろバグらしい

で、ちょっと試してみたけど
Inputを拾うオブジェクトをDontDestroyOnLoadにして破棄しないようにしても
普通にシーン遷移を行うとInputはリセットされてしまうようなので
どうしてもシーン読み直しで、かつInputを継続して拾いたいなら
>>234 の記事にあるようにLoadSceneでLoadSceneMode.Additiveで読み込むしかなさそう。

ただ、もし自分だったら
・シーンの読み込み直しなしでリスタートを実装する
・リスタート時に方向キーから指が離れるような演出にする
・気にしない
のどれかにすると思う
246: 名前は開発中のものです。 [sage] 2020/01/25(土) 14:50:49.41 ID:rO5N4tZX(1) AAS
シーンごとのリセットは
アクションゲームなら必須に近いし
ゲーム制作に支障が出そうな仕様だなぁ
247
(1): 名前は開発中のものです。 [sage] 2020/01/25(土) 20:13:13.83 ID:lrP57LvS(4/6) AAS
>>244
>やはりシーンロードするとバッファが詰まるのでしょかね
>>245
>シーンの読み込み直しなしでリスタートを実装する

その様子だとロックマン系のアクションゲームとかでよくある
プレイヤーが一画面分ずつ画面切り替え(切り替わり後、敵が定位置から発生)で
移動する場面などのときに
方向レバーの入力がいちいち途切れて
スムーズなキャラの移動みたいなんができないって
ことですよね?
まだ試してないのでなんとも言えませんが、、、
というかscene遷移って
それこそタイトル画面からゲーム画面にいったりするところでも使いますし
シーン遷移のたびいちいち方向レバーからの入力を途切れさせるって仕様自体
どうなんでしょうか、、、なんかテンポ悪い気がするんですが、、
これだけ痒いところに手がとどくUnityにおいて
GetAxisRawに対してscene遷移時の細かな設定ができないとは、、・
できそうなもんですが、、、
248: 名前は開発中のものです。 [sage] 2020/01/25(土) 20:13:46.52 ID:lrP57LvS(5/6) AAS
で、今パッと思いついたのはグローバルな変数に
シーン切替前の瞬間の方向キーの値を確保しておいて
切り替え後の最初だけのその方向キーの値を
入れ込んでやるって感じにしてやれば、、どうでしょう??

とりあえずそういうノリで一度打開できるか試してみます。
249: 名前は開発中のものです。 [sage] 2020/01/25(土) 20:16:17.57 ID:lrP57LvS(6/6) AAS
>>241さん、修正パッケージありがとうございます
原因究明はともかく修正したソースを見せていただき
なるほどーって感じでこちらは大変勉強になりました。
250: 名前は開発中のものです。 [sage] 2020/01/25(土) 20:16:32.82 ID:AC7xcaw6(1) AAS
/i/|ii!//|!/!i/´i/   .|i |/ノ        i\i!゙、:iヽ|:::|  ヽ 'i  ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ
i i 川i!ハ/" _!   | │        川 ヾ:ii ゙'∨     |    ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ        ル |ノノヽヾ ノ  、,,,ノ,、     iヽ:::||:::::i'::::::::::::::::::::::::::::
 /   ̄ ´~~゙''''    ゙''‐- ..,,         ,, ‐'    `゙ヾミッ、,,   ヽ::|::::/::::::::::::::::::::::::::::
,,イ|                i'        i"         `'‐='   `'|/i!:::::i::::::::::::::::::::::::
 i | :::::::ヽ::::ヽ::::::ヾ::    ゙、        l       〃:::::       i//::::ハ::::::::::::::::::i:::
  i i \\\\\ヽ     )       ヽ        ′′′   / /:::::/:::::::::::::::::::|::::
!  | i            ,,ィノ         <         :::: :    /:::::/:::::::::::::::::::/::::
i!  i i!            /i/    ,r''''‐y'''.;、  \             /:::::/:::::/::::::::::::/:::::
゙i!  | i          /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i           /::::::/::::::/::::::::::::/::::/i
 i  i ゙!         ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r''          /:::::::/::::::/::::::::::::/:::外部リンク:
゙、ii! ゙| i           ノ  ゝ;;;:::::::::::::::::::;ノ 。 `i          //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙i?U          i  。l '゛..  ‐ー:::::i    |         //::::::/::::::/::::::/:::/:::::i!::::::
 iiミ! ハ             i  l ,,,,::: :::;;;;;...{ ° ゙、       //::::外部リンク:::::
 i!ヾ!i ゙、!         , '  |::: ::::ヽ   ..}     |゙ヽ......,.,.,.,,,///://::外部リンク:::::リ::
 !ヽヾi  i゙、  ___,,,/   }:: :  ;;;::: ::::::::}     レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
251
(1): 名前は開発中のものです。 [sage] 2020/01/25(土) 20:45:50.43 ID:JCoOqUSR(1) AAS
>>247
お前が言ってるロックマンのパターンでは
シーンをわけんなってことだよ
252
(1): 名前は開発中のものです。 [sage] 2020/01/25(土) 21:10:01.15 ID:7xtf6OfK(1) AAS
Input.GetButtonDown
InputGetButtonUp
でいかんの?
253: 名前は開発中のものです。 [sage] 2020/01/25(土) 22:10:27.57 ID:aeB2xTib(1/2) AAS
3Dの坂道だけど、

normalVector = collision.contacts[0].normal; で取れる値が、
坂メッシュの下から接触する時と、坂メッシュの上から接触する時に違うのはなぜだろう?

下から接触は登れるが、上から接触は"上れない"
254
(1): 名前は開発中のものです。 [sage] 2020/01/25(土) 23:07:40.70 ID:aeB2xTib(2/2) AAS
自己解決した。

CollisionEnter 一回では法線の正確な値が取れなかった…
255: 名前は開発中のものです。 [sage] 2020/01/26(日) 00:40:30.63 ID:2uuxF2Qq(1/3) AAS
>>254
イイね!
256
(2): 名前は開発中のものです。 [sage] 2020/01/26(日) 03:45:46.72 ID:wmtOSy96(1) AAS
>>252
InputGetButton
期待してやってみましたがダメでした。
>>251
ということですよね
sceneをまたぐと入力が切られること自体クソ仕様なのか
自分がこのタイミングでscene遷移を利用することがクソ思考なのか
未熟者の自分には判断ができません。
そもそも全体のリスタートにscene遷移する必要があるのか否か
scene遷移が必要な場面などについてしばらく勉強したいと思います。
レスくださった皆さまありがとうございました。
257
(1): 名前は開発中のものです。 [] 2020/01/26(日) 07:48:04.40 ID:Fvh37rHc(1/2) AAS
Unityエディタ上からGameObjectに対してEventTriggerを追加するのではなく、スクリプトからGameObjectに対してOnPointerClickを追加するには、どのようにすればよいのでしょうか?
GameObjectに対して、コライダーを追加して、下記の様にIPointerClickHandlerをインプリメントしたスクリプトを追加しても、OnPointerClick()が呼び出されません。
どの様にすれば良いでしょうか?
class Boo : MonoBehaviour,
IPointerClickHandler,
{
public void OnPointerClick(PointerEventData eventData)
{
}
}
258: 名前は開発中のものです。 [] 2020/01/26(日) 08:17:37.26 ID:ckFKG1Im(1/6) AAS
>>257
自分用Unityメモ:EventTriggerにスクリプトからEventを追加する
外部リンク:kasatanet.はてなblog.com/entry/2017/11/19/233426

はてな部分はローマ字で
259: 名前は開発中のものです。 [sage] 2020/01/26(日) 09:40:56.48 ID:2uuxF2Qq(2/3) AAS
>>256
うん、もちっとがんばってね。

あと、down upは、そのままじゃだめだよ。押されたら保管、その値を参照して処理。
260
(1): ◆uBR9Xpjlnk [sage] 2020/01/26(日) 10:26:21.47 ID:DH9o2bCr(1/2) AAS
StaticなクラスからGameObjectを生成しようとしてるんですがGameManager.Instantiateしてるんですが問題ありますか?
そもそもStaticなクラスから生成しようとしてること自体が間違いですかね?
261: 名前は開発中のものです。 [] 2020/01/26(日) 10:37:30.20 ID:ckFKG1Im(2/6) AAS
>>256
再度修正しました
とりあえず2押に対応しました
ソース整理してないので醜いかもですが

一応、流れとしてはStartシーンをベースにして
sampleシーンをロード、アンロードします
これで入力値はずっと取れるようです
外部リンク:thuploader.orz.hm
1-
あと 741 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s