- 1 名前:名前は開発中のものです。 mailto:sage [2020/01/11(土) 14:28:59.18 ID:wPvGtAaQ.net]
- ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止 初心者が親身になって初心者に教える。 又ググレの場合、何のキーワードでググるのか書いてね ●リンク ・Unity(日本公式サイト) unity3d.com/jp ・マニュアル docs.unity3d.com/ja/current/Manual/index.html ・チュートリアル unity3d.com/jp/learn/tutorials ・スクリプトリファレンス docs.unity3d.com/ja/current/ScriptReference/index.html ・FAQ unity3d.com/jp/unity/faq ・MSDN msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。 ※前スレ 【ゲームエンジン】Unity初心者質問スレBuild2 https://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
- 181 名前:名前は開発中のものです。 [2020/01/20(月) 13:29:27.18 ID:w54rhdgo.net]
- もし180の状態で大丈夫なら、CinemachineBrainが悪さしていると考えられます
当方。2019.2.17f1ですが、まっさらな状態では全く問題なくsize変更できるので そちらの環境問題か、もしかしたらエディターのバージョンによるバグか難しいとこです もしまっさらな状態でも同じ症状なら、エディターのバグも考えられるのでバージョン合わせてこちらでも確認してみますのでバージョン教えてくれると助かります バグと確認できたら、それはもうunityさんに報告するしかないような・・・
- 182 名前:155 [2020/01/20(月) 23:15:35.35 ID:PqKPcOnL.net]
- >>181
レスありがとうございます。 さきほど仕事から帰り確認が遅くなりました。 まさに181さんのご指摘通りでした、、、 「Cinemachine Brain」のチェックを外すと なんと数値が好き放題変更できました。 「悪さしている」とのことですが、、これはどういうことでしょうか Cinemachine Brainはチェックを外したままでいいのでしょうか? それとも、Cinemachine Brainを削除してインストールし直した方がいいとかですか?
- 183 名前:名前は開発中のものです。 mailto:sage [2020/01/20(月) 23:23:06.93 ID:FXjCh/jh.net]
- オート操作にBGMをくっつけて簡単なデモを作ってるのですが毎回毎回微妙に音ズレがしてしまいます
フレームを30に固定しても駄目でした、何か重い操作があるとBGMと同期がとれなくなってしまうみたいですが どうにかして同期を取る方法はないでしょうか?
- 184 名前:名前は開発中のものです。 mailto:sage [2020/01/21(火) 00:42:25.80 ID:xWdssdmX.net]
- >>183
デモならタイムライン使うのが楽でいいんじゃない? もしくはゲーム時間の進行をaudio sourceのtimeから作るようにすればズレないんじゃないかね
- 185 名前:名前は開発中のものです。 mailto:sage [2020/01/21(火) 10:33:07.11 ID:4lKB/S8y.net]
- >>182
アセット関連なんで作者に聴くのがいいと思うけど https://blogs.unity3d.com/jp/2018/07/17/cinemachine-for-2d-tips-and-tricks/ とりあえずカメラはViutualCameraの設定を変えるんじゃないかな? 何が原因か突き止めるには、プロジェクトを単純化するに限るので まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるかですね
- 186 名前:155 [2020/01/21(火) 12:35:35.08 ID:MXzB69W0.net]
- >>185
>まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるか これを試してみようと思います。 なんにせよ原因を当ててくださったので非常jに助かりました。 ありがとうございます。
- 187 名前:名前は開発中のものです。 mailto:sage [2020/01/21(火) 16:25:37.81 ID:q2cUKp57.net]
- クォータービューのマップを作ろうと
自分で打ったドットタイル32×32(png)をタイルパレット(isometric)にDDしても表示されないのですが何故ですか? assetsには表示されてます
- 188 名前:名前は開発中のものです。 mailto:sage [2020/01/21(火) 16:33:51.87 ID:q2cUKp57.net]
- すいません解決しました
- 189 名前:名前は開発中のものです。 mailto:sage [2020/01/21(火) 18:04:38.26 ID:yyMJ8NI+.net]
- mac版バージョン2018.4.11f1
unityにautosave機能を追加したいんだけど 有志配布のものはすべて2018には対応せず… 良いのない? 二時間頑張ったのがパー、もう嫌だorz
- 190 名前:名前は開発中のものです。 mailto:sage [2020/01/21(火) 18:15:08.15 ID:yyMJ8NI+.net]
- あった
解決しました
- 191 名前:名前は開発中のものです。 mailto:sage [2020/01/22(水) 11:09:38.22 ID:tfrN0HGP.net]
- \ ,
、 | ヽ / \ | x|ー/‐- 、 r‐、 , -―\l_ /`ヽー==ミx、 \ r勺人__ / / !| \ 丶 l:|;;/;;;;___;;} /:/ / / / 从 {丶 \ :\弌;;;;/ // l:/ / / 〃/l/ヽ \\-‐\:::.....lハ: 〉;;三;;( / / /| | l|-|‐-、\ト ィ==y!:::::/l::| {又又} x%フ广l ー=彡イ:::/::. ,.::|::..::Vィ==ミ 、 \ ノ/! |/‘7¬イ /%゚// |:::l|::::|::|/乂:::::ヾ _, -―1/l|ノ}/ / / //゚// |:::i|::人| l |≧ァ`` ヘ/ | 八 | / / /ヽ_彡 ' 乂l' \/ / ゝ、 \ _,ノ / \/ / / / /丶{ `≧ァーく( _,> '´ / Xニ⊇:′ / /⌒ ¬f工¨| /、 \ ./ r「’| / / ||__」 レ=≦、 / /「| | l| / /l , -―ァ≠¨l | ;/ |\,_/ /}又又i「 - 、 / / /,,;| /,; 〃ヽノ/, |/ ∠_ ‘7¬イ \ / / _ /,,;;;l>'´,,,;;;; / / /^l/ /;;;/ `Y | \ 丶 / / 〈 〈>'´; .;;;;;;;;;;;;;;;;;;;;;;/_/ // /`≧'‐ 、ヽ 〉 丶 | ,':/i ∧_〉,,;;;;;;;;/´ ̄ ̄´ / /ヽ\ `>-'^\ ヽ | /' | ∨,,;;;;;;;;;/ / / o:} } || | l | ,: | \;;;;;;;| /\./ / .// || | | / | | \| \ x/ .// || / /' 爪 弾 く は 荒 ぶ る 調 べ ! キ ュ ア メ ロ デ ィ ! スイートプリキュア♪の北条響
- 192 名前:名前は開発中のものです。 mailto:sage [2020/01/22(水) 11:41:29.44 ID:fkmqYQ67.net]
- htmlが流行っていた時期、タグのコピペとちょっとした改変でホームページを作ってました
unityド素人でもそんな感じでゲーム作れます?本に書いてある通りの丸コピーではなく コンセプトはスクリプトを書かないゲーム作りです!
- 193 名前:名前は開発中のものです。 mailto:sage [2020/01/22(水) 12:04:57.58 ID:Gjke/PAp.net]
- 無理
- 194 名前:名前は開発中のものです。 [2020/01/22(水) 16:38:52 ID:jAdrPsCn.net]
- 2020でブループリントみたいなやつ入ってくるんじゃなかったっけ
- 195 名前:名前は開発中のものです。 mailto:sage [2020/01/22(水) 20:26:41.16 ID:FnFWF1+H.net]
- ブループリントはほぼスクリプトなんだわ…
関数がノードにパッケージングされてるだけでやってる事は変わらん
- 196 名前:名前は開発中のものです。 mailto:sage [2020/01/22(水) 22:53:26.09 ID:r+2nxT98.net]
- UniRx 使い始めたら、Awake()、Start() の中に処理が集中するんだけど、
そもそもゲーム開発ではメソッド毎のテストなんての書かない感じ? てか Unity 開発では ユニットテストとかのテストFWはない? Visual Studio のクラスビューでメソッドが Awake()、Start() しかない スクリプトが増えてきて不安になる…
- 197 名前:名前は開発中のものです。 [2020/01/22(水) 23:20:39.00 ID:6KrHfY+K.net]
- Test Runnerと呼ばれる機能がUnityにはあります
ぐぐっただけなので内容までは知らん
- 198 名前:名前は開発中のものです。 mailto:sage [2020/01/22(水) 23:41:51.51 ID:9P6fyKWd.net]
- UniRxって何が良いの?
jQueryみたいなもんでGCが致命的になるゲーム開発だと地雷でしかないと勝手に思ってるけど
- 199 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 00:09:52.21 ID:BeWKcfCr.net]
- >>197
ありがとう、自分でも探してみたけど、Unity Test Runner が 公式にあるみたいなんで試してみる。 >>198 むしろ自分が初心者だからこそ UniRx が凄く便利だと感じる。 例えば、Transform の位置情報を加減することと、 Rigidbody に力を加える動きを書こうすると、 それぞれ、Update() と FixedUpdate() に分散して書くと思けど、 UniRx なら Start() の中に両方書けるので分かりやすい。 また、普通にプレイヤーコントローラのスクリプトとか書いたら、 Update() と FixedUpdate() の中身が "if 分岐” だらけになると推測するけど、 UniRx なら、コードから "if 分岐” がなくなりスッキリ分かりやすくなった。 でも確かにGCパフォーマンスは心配。
- 200 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 00:35:20.23 ID:BeWKcfCr.net]
- あと UniRx だと、何秒後に とか、何フレ後に とか、何回とか、ゲームに必要な処理が簡単に書ける。
おそらく、まったくのプログラム初心者は UniRx から始めた方が良いとさえ思える。 自分は既に書いてしまった膨大なコードを UniRx を使用するコードにリファクタしつつあるけど、辛い… 誰か最初に教えといてくれよと思った。 まあ Unity初心者の個人的な感想だけどね。
- 201 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 01:04:15.17 ID:k7QW6u8C.net]
- >>199
UniRxのTriggersをメインで使ってるってことね
- 202 名前:名前は開発中のものです。 mailto:safe [2020/01/23(木) 06:19:45.63 ID:xz19b8uw.net]
- こんな早朝に人いるかな?
Rigidbody2D.AddForceを使ってジャンプさせているんだけど rigidbody2D.AddForce(Vector2.up * 数値);って感じで。 しかしこれではジャンプ力(高さ?頂点?)を決めてやれるだけで ジャンプそのもののスピードはいじれない。 ぽい〜んってジャンプじゃなくて ヒュンッとしたジャンプをさせたいんですが良い方法あります? C++時代なら毎フレームに加える数値を増やせばよかっただけなんですよねえ
- 203 名前:名前は開発中のものです。 mailto:sage [2020/01/23(Thu) 08:02:49 ID:BeWKcfCr.net]
- >>202
C++時代みたいが良ければ Update() で Transform に毎フレームに加える数値を増やせば出来るよ。 AddForce は
- 204 名前:名前は開発中のものです。 [2020/01/23(Thu) 08:04:53 ID:BeWKcfCr.net]
- AddForce では加える力を決めれるだけで、それで高さ?頂点?を決めれるわけじゃない。
- 205 名前:名前は開発中のものです。 mailto:sage [2020/01/23(Thu) 08:32:54 ID:BeWKcfCr.net]
- あと多分 質問の状況からすると rigidbody.velocity += Vector3.up + 調整値 で、
FixedUpdate() で、物理フレーム毎に調整値をいじる方が望みの動作を得られる気がする。 でも、それが物理挙動かと言われれば違う気がするし、それなら素直に Transform の数値増減でいいじゃんとも思う。 この辺りどうなんだろうね? rigidbody.AddForce だけでまともなゲームのジャンプになるの?
- 206 名前:名前は開発中のものです。 mailto:sage [2020/01/23(Thu) 08:43:29 ID:sYrsRPW1.net]
- ジャンプの仕方が目標みたいだから、rigidbodyを極めてもよし、transformでコントロールしてもよし。
好きな方で。 addforceなら、velocityに、加えてgravity値をコントロールするとか試行錯誤だね。がんばれ。
- 207 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 09:05:35.69 ID:o31+m3nu.net]
- キャラクターとかはキネマティックにして物理エンジンに任せずに自分で動かした方が思った通りの動きになるんだよね
- 208 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 10:00:04.83 ID:KLj1RF1a.net]
- 物理計算サイトが検算するのに捗る
自分でスプレッドシートつくる方が身につくけど
- 209 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 13:04:24.91 ID:rlCEa5FQ.net]
- >>202
単純にジャンプの速度を上げたいってだけなら、重力を大きくするか、 特定のキャラクターだけそうしたいならRigidbodyのGravityScaleを大きくするとかかな。ただしこれだと落下速度も速くなっちゃうけど。 一時的に物理計算を無視して完全に制御したいなら、transformよりも Rigidbody.MovePositionを使って動かす方がいいかも。 これなら周りのオブジェクトに物理的な影響を与えながら移動できるし、 fixedupdate内で書くことになるので 「普段は物理無視したいけど爆風に巻き込まれた時は物理に従う」 みたいな実装が楽だよ。
- 210 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 17:48:04.91 ID:9HsMMURI.net]
- おっぱいも物理エンジンよりも手で揺らした方がイキイキしている気がする
- 211 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 17:51:59.32 ID:sYrsRPW1.net]
- それは物理エンジンが…あ、いやなんでもない。
- 212 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 20:32:46.84 ID:o/nrz+aB.net]
- AnimationControler みたくステートマシーンをグラフィカルに編集できるアセットってないっすかね?
AnimationControler と StateMachineBehaviour がありゃステートマシンでやるようなこと何でもできるじゃないのって思ってたけど、 Time.timeScale=0 したら setTrigger しても状態遷移しないし、 やっぱりステートマシンのすべてを AnimationControler に任せるのは無理があるのかなとか思って。 なければ State パターン でハードコーディングすべきなのかなやっぱり。
- 213 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 20:40:25.80 ID:o31+m3nu.net]
- >>212
animator.updateMode = AnimatorUpdateMode.UnscaledTime;
- 214 名前:名前は開発中のものです。 mailto:sage [2020/01/23(木) 21:43:00.61 ID:o/nrz+aB.net]
- >>213 うお、そんなオプションが…。解決しました。感謝です。
- 215 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 04:03:03.22 ID:+Fsi074W.net]
- すみません、変な質問なんですが Input.GetAxisRaw("Horizontal")
この処理をキーを離さずに一度リセットして認識し直させる方法はありませんか? 、、というのも「ある状況」になるとキーを押しっぱなしのままだと Input.GetAxisRaw("Horizontal")が認識されない状態になるバグがあり、 一度でもキーを放して押し直すとちゃんと認識されるようになるんです。 その原因がどうにもわからないので、その状況になれば毎度リセットさせたいな、と。 具体的に言いますと プレイヤーが死んだら即定位置からリスタートする状況のゲームがあって 移動方法はInput.GetAxisRaw("Horizontal")からキー入力を受け取るんですが プレイヤーが死んだ時に例えば右キーを押しっぱなし(「+1」を受け取り続ける)で死んだとして 押していた右キーをそのまま押したままリスタートを向かえますと 開始直後右入力を認識してない(Input.GetAxisRaw("Horizontal")で受け取る値は0のまま)状態となってしまうんです。 ですが一度キーを放して押し直すと「+1」を受け取るのです。 これだけ聞くとよくあるソースミスと思われるでしょうが、ちょっと Input.GetAxisRawのバグっぽいんですよね。 とりあえず、プレイヤーが死んでリスタートされる時に 例えばvoid Start()の中に(Input.GetAxisRaw("Horizontal")を 取得しなおす処理を書いてやりたいんです。 これが不思議なことに(Input.GetAxisRaw("Horizontal")を書いただけじゃ 取得しなおしてくれないんですよね、、、、
- 216 名前:名前は開発中のものです。 [2020/01/24(金) 07:02:28.39 ID:9g9ZzaxQ.net]
- バグっぽいと言うのはどこの情報ですか?
- 217 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 07:54:41 ID:1mzH9O5r.net]
- >>215
普通に考えてリスタートの処理の仕方に問題があるかと。 ゲームオーバーで最初に戻るにしても、インプット関数としては、ゲームオーバーしようがしまいが関係ない。なら、リスタートまでに何か影響のある処理を入れてしまっている事が考えられる。 例えば、start()に取得し直しとか書いてるけど、startをまた呼び出してるの?すまん、私はそんな表記はした事ないから異常に見えました。
- 218 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 12:14:44.83 ID:JiuRt8jn.net]
- プレイヤーオブジェクトをDestroyしてる説
- 219 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 16:44:42.21 ID:YxoFqWNA.net]
- おこなの?
- 220 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 21:18:19.49 ID:lHO70wOG.net]
- 質問です
編集ソフト間ではテクスチャやマテリアルをFBXに同梱するのは珍しくありませんが、Unity上ではあまり見かけません 単にUnityではFBX内のデータを編集できないから邪魔という理由かなと思っていますが、他にも理由があるのでしょうか?
- 221 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 21:48:57.86 ID:+Fsi074W.net]
- >>217
説明が難しいんですが頑張りますね >普通に考えてリスタートの処理の仕方に問題がある 確かにその通りです でも別にまだ作り始めですから複雑なことしておらず Input.GetAxisRaw("Horizontal")で左右移動 Input.GetKey("space")でジャンプ。 バグが起きるのは方向キーを押しっぱなしで一度でもジャンプしたあとに (その方向キーを押しっぱなしのまま)死亡してリスタート後もその方向キーを 押しっぱなしのままでいると Input.GetAxisRaw("Horizontal")が認識されない状態になるというものです。 あと、>>218さんの言う通り、 プレイヤーオブジェクトをDestroyしたあとリスタートしています。 ちなみに方向キーは押しっぱなしでも一度もジャンプせずに死ぬと その方向キーを押しっぱなしのままリスタートしても Input.GetAxisRaw("Horizontal")が認識され 開始後キャラクターは押している方向に進むんです。 つまり Input.GetAxisRaw("Horizontal")が入力状態のまま Input.GetKey("space")を入力し、 Input.GetAxisRaw("Horizontal")の入力を解除しないまま リスタートすると 押しっぱなしのInput.GetAxisRaw("Horizontal")は仕事をしてくれなくなる 状況です。 (で、一度入力を放すと正常になる)
- 222 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 21:50:33.57 ID:+Fsi074W.net]
- ちなみにプレイヤーが死んだ時、プレイヤー作成時に
Input.GetKeyとInput.GetAxisRaw を記載したりはしておりません。 そもそもInput.GetAxisRaw("Horizontal")の入力を阻止することなんて こちらがどうこうできるものでは無いはずなんです で、例えば int x = Input.GetAxisRaw("Horizontal")としてやって、 xに入る値の動きをデバッグして見ていますが 死ぬ前は右が押されている間「1」が入り続けるんですが 死んだあとDestroyされ右キー押し続けている状態でも「0」が入ってきます で、そのあとリスタートするわけですが 死ぬ前から押し続けていた右キー押してる間はずっと0のままなんですよ これはおかしいと思いませんか?
- 223 名前:名前は開発中のものです。 [2020/01/24(金) 22:41:41.98 ID:9g9ZzaxQ.net]
- いやそのスクリプトがデストロイしてるオブジェクトについてたらダメじゃね
って話しじゃないか
- 224 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:07:02.42 ID:rtAyfksW.net]
- リスタートを実装しているなら、わざわざDestroyしなくてもいいんでは?と思うけど
仮にUnityの不具合で instaniateされたゲームオブジェクトが継続中のHorizontalを受け付けないのだとしても、Destroyせず最初のプレイヤーのゲームオブジェクトを使い回せばいいんでは
- 225 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:07:28.97 ID:+Fsi074W.net]
- >>223
おっしゃりたいことはわかります。 もしそういう仕様(デストロイしたオブジェクトに書いてた場合は一度放さないと機能しない)、 なら ジャンプをせずに(Input.GetKeyを使わずに) 死んでリスタートした場合は 押しっぱなしのInput.GetAxisRaw("Horizontal")が 開始後そのまま機能してるのがおかしいと思いませんか? 要はジャンプしてから死んでリスタートした場合だけ機能しないんです。
- 226 名前:名前は開発中のものです。 [2020/01/24(金) 23:18:30.20 ID:9g9ZzaxQ.net]
- >>225
リスタートすると言うことは新たなオブジェクトだよね 新しいスクリプトなんだから動いて当然だと思うけど なんなら明日簡単なサンプル作って検証してみようかね
- 227 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:18:50.47 ID:+Fsi074W.net]
- >>224さんのレスも考慮させて頂いて
一度デストロイ方式を辞めてみましたが やはり同じ症状でした。
- 228 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:24:37.56 ID:7QzIJzpr.net]
- >>225
リスタートってどんな処理してるの? シーンの読み込み直し? まったく関係ないゲームオブジェクトのUpdateで監視しててもそうなるの?
- 229 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:27:42.92 ID:+Fsi074W.net]
- むむ、これは、、本当にバグなのかもしれません。
今、限りなくソースをそぎ落としていってるんですが それでもその症状が出ます。 ほんと、プレイヤーのスクリプトでやってることは x = Input.GetAxisRaw("Horizontal"); if(x==0){ //止まる処理 } else if(x>0){ //右へ移動処理 } else if(x<0){ //左へ移動処理 } if(Input.GetKeyDown("space") ){ ジャンプ処理 } だけなんです。 リスタート後、xにすでに値が入らなくなるので 自分の移動処理やその他のスクリプトは関係無いはずです。
- 230 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:30:48.57 ID:+Fsi074W.net]
- >>228
シーンの読み込み直しです。 void RestarScene(){ Scene thisScene = SceneManager.GetActiveScene(); SceneManager.LoadScene(thisScene.name); }
- 231 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:37:49.39 ID:+Fsi074W.net]
- これは、、、、今
大変なことが発覚しました。。。
- 232 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:39:22.19 ID:YxoFqWNA.net]
- >>221
1. 方向キー(←押しっ放し) 2. スペース 3. スタート これで最初の方向キーの入力が消えるってことなら、 安物のキーボードはそこまでの同時入力に対応していないからなとしか Unityの問題でなくパソコンの仕様だよ
- 233 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:40:43.33 ID:+Fsi074W.net]
- このバグの発動条件が
左右キーを押しっぱなし中に「ジャンプした」あと死亡したらと思っていたんですが 違いました。 なんと、左右キーを押しっぱなし中に 「キーボードの他のボタン(どれでも)を押した」あと 死亡したらでした!!! なんと、ゲームで使ってないキーを押しても、この症状が出ます!!! これはどういうことでしょうか???????????
- 234 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:42:33.68 ID:rtAyfksW.net]
- シーンを移動するとInputがリセットされる件
で検索 url貼ろうとするとNG食らうので
- 235 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:45:43.21 ID:+Fsi074W.net]
- >>232
>これで最初の方向キーの入力が消えるってことなら いや、私の説明を誤解してます。 2. スペース の後も「1. 方向キー(←押しっ放し)」は生きてます。 そのままその方向に歩いていくし、放せば止まります。 ただ、1.を押しっぱなしのままで歩いて敵に当たったりして死亡したあと 再スタート後に利かなく(Input.GetAxisRawが左右を認識しない)なってるんです。 押しっぱなしのままなら、です。 説明が難しい。。。
- 236 名前:名前は開発中のものです。 mailto:sage [2020/01/24(金) 23:55:45 ID:+Fsi074W.net]
- >>234
検索して拝見しましたが 非常に勉強になるブログでした。 しかし自分のケースと少し違う気がしますがどうですか? なぜなら、自分のケースは 確かに二つ目のキー入力をしますが その後、その二つ目を放して、シーンを移動します。 つまりシーンをまたぐ時はキー入力は1つなんです。 そのブログのケースと違う気がするのですがどうですか? あと、もひとつ言いますと ゲットキーの設定関係なく、 二つ目のキーはパソコンのどのボタンでも 押したら発生します。。。 つまり、 Input.GetAxisRaw("Horizontal") で右方向キーを入力したまま パソコンの「w」だの「s」だのどこでも押したあと (それこそ"Horizontal"では受け付けてない上キーとかでも) 右方向キーを入力したまま死亡して シーンをやり直すと 右方向キーを入力が利いてない状態でスタートするんです。
- 237 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 00:44:13.23 ID:lrP57LvS.net]
- これはもう熟練者様に確認してもらいたいので
シンプルにしたものをパッケージ化しました。 これで症状を確認していただけませんでしょうか。 https://ux.getuploader.com/zipcodezipcode/download/221 まずは ゲーム開始して、右キーを押しっぱなしで死んでください。 リスタートしても右キーを押しっぱなしです。 そしたらリスタートしてもプレイヤーは右に進むはずです。 そりゃそうです、右キーを押しているからです。 次に、 右キーを押しっぱなしで死ぬのは一緒ですが その途中に、パソコンのキーボードをどれかひとつ、押してください。 そっちは押しっぱなしでは無く、一度押すだけです。 この間も右キーの方は押しっぱなしです。 で、そのまま死んでください。 すると、リスタート後、プレイヤーは先ほどとは違い 右に進まないんです。右を押している限り、移動はできません。 右を押しながらジャンプはできますが、右を押している限り、移動はできません。 この症状の原因を知りたいです。 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
- 238 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 00:47:53.82 ID:lrP57LvS.net]
- ちなみにバージョンは2018.4.11f1です
- 239 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 09:41:49.47 ID:6e7MKbrk.net]
- とりあえずもっとシンプルにして修正したよ
https://thuploader.orz.hm/miniup/?mode=edit&id=6302 恐らく原因はLoadSceneでしょ、シーンロードするという事はそれまで居たシーンは リセットされると思う、だから入力が利かなくなるんじゃないかな とりあえず同シーンリスタートしたら問題なく出来た それから、コライダーとか整理した方がいいかな同じオブジェクトに二つ付いてたり 場所かぶっていたり、なんか無駄がおおかった
- 240 名前:名前は開発中のものです。 [2020/01/25(土) 09:43:38.51 ID:6e7MKbrk.net]
- あ、ちなみに制作は
2019.2.17f1で取り込み確認、パッケージ化 2019.2.5f1でも確認 2018年バージョンは当方もうすててたので、未確認 でも特にバージョン違いの事してないから問題ないと思います
- 241 名前:名前は開発中のものです。 [2020/01/25(土) 09:53:45.45 ID:6e7MKbrk.net]
- >>293
>恐らく原因はLoadSceneでしょ、シーンロードするという事は すまん、これ原因究明してないから、これが原因かどうか不明なので ちょい出かけるからまた戻ったらシーン展開でも症状確認してみるわ
- 242 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 10:51:31.73 ID:lrP57LvS.net]
- >>239
ありがとうございます 修正感謝します 確認してみます! >シーン展開でも症状確認してみるわ はい!もちろん修正されたものを見て自分でも原因を考えてみますが ぜひとも宜しくお願いします。
- 243 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 11:51:30.29 ID:52iKK3mn.net]
- 優しいスレ
- 244 名前:241 mailto:sage [2020/01/25(土) 13:15:17.01 ID:AAVfnYWp.net]
- https://i.gyazo.com/37810d926641f9d4739c15f70e690d53.png
こんな感じでリスタートでLoadSceneしてみたら、症状でましたね LoadSceneAsyncでも同様なので、やはりシーンロードするとバッファが詰まるのでしょかね とりあえず途中経過です なぜLoadSceneでキー2つ目押でなるのかについてはなんか大変そうだな根本原因掴むのは
- 245 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 13:30:42.22 ID:4hPFEDML.net]
- >>234 の記事がそのまんま答えじゃない?
この記事によると「シーン遷移時にInputはリセットされる」というのが仕様で 今回の場合「シーン読み込みしてるのに横移動入力が拾えてた」というのがむしろバグらしい で、ちょっと試してみたけど Inputを拾うオブジェクトをDontDestroyOnLoadにして破棄しないようにしても 普通にシーン遷移を行うとInputはリセットされてしまうようなので どうしてもシーン読み直しで、かつInputを継続して拾いたいなら >>234 の記事にあるようにLoadSceneでLoadSceneMode.Additiveで読み込むしかなさそう。 ただ、もし自分だったら ・シーンの読み込み直しなしでリスタートを実装する ・リスタート時に方向キーから指が離れるような演出にする ・気にしない のどれかにすると思う
- 246 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 14:50:49.41 ID:rO5N4tZX.net]
- シーンごとのリセットは
アクションゲームなら必須に近いし ゲーム制作に支障が出そうな仕様だなぁ
- 247 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 20:13:13 ID:lrP57LvS.net]
- >>244
>やはりシーンロードするとバッファが詰まるのでしょかね >>245 >シーンの読み込み直しなしでリスタートを実装する その様子だとロックマン系のアクションゲームとかでよくある プレイヤーが一画面分ずつ画面切り替え(切り替わり後、敵が定位置から発生)で 移動する場面などのときに 方向レバーの入力がいちいち途切れて スムーズなキャラの移動みたいなんができないって ことですよね? まだ試してないのでなんとも言えませんが、、、 というかscene遷移って それこそタイトル画面からゲーム画面にいったりするところでも使いますし シーン遷移のたびいちいち方向レバーからの入力を途切れさせるって仕様自体 どうなんでしょうか、、、なんかテンポ悪い気がするんですが、、 これだけ痒いところに手がとどくUnityにおいて GetAxisRawに対してscene遷移時の細かな設定ができないとは、、・ できそうなもんですが、、、
- 248 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 20:13:46 ID:lrP57LvS.net]
- で、今パッと思いついたのはグローバルな変数に
シーン切替前の瞬間の方向キーの値を確保しておいて 切り替え後の最初だけのその方向キーの値を 入れ込んでやるって感じにしてやれば、、どうでしょう?? とりあえずそういうノリで一度打開できるか試してみます。
- 249 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 20:16:17 ID:lrP57LvS.net]
- >>241さん、修正パッケージありがとうございます
原因究明はともかく修正したソースを見せていただき なるほどーって感じでこちらは大変勉強になりました。
- 250 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 20:16:32 ID:AC7xcaw6.net]
- /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? i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!:::::: iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii:: i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ:: !ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
- 251 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 20:45:50 ID:JCoOqUSR.net]
- >>247
お前が言ってるロックマンのパターンでは シーンをわけんなってことだよ
- 252 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 21:10:01 ID:7xtf6OfK.net]
- Input.GetButtonDown
InputGetButtonUp でいかんの?
- 253 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 22:10:27 ID:aeB2xTib.net]
- 3Dの坂道だけど、
normalVector = collision.contacts[0].normal; で取れる値が、 坂メッシュの下から接触する時と、坂メッシュの上から接触する時に違うのはなぜだろう? 下から接触は登れるが、上から接触は"上れない"
- 254 名前:名前は開発中のものです。 mailto:sage [2020/01/25(土) 23:07:40.70 ID:aeB2xTib.net]
- 自己解決した。
CollisionEnter 一回では法線の正確な値が取れなかった…
- 255 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 00:40:30.63 ID:2uuxF2Qq.net]
- >>254
イイね!
- 256 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 03:45:46.72 ID:wmtOSy96.net]
- >>252
InputGetButton 期待してやってみましたがダメでした。 >>251 ということですよね sceneをまたぐと入力が切られること自体クソ仕様なのか 自分がこのタイミングでscene遷移を利用することがクソ思考なのか 未熟者の自分には判断ができません。 そもそも全体のリスタートにscene遷移する必要があるのか否か scene遷移が必要な場面などについてしばらく勉強したいと思います。 レスくださった皆さまありがとうございました。
- 257 名前:名前は開発中のものです。 [2020/01/26(日) 07:48:04.40 ID:Fvh37rHc.net]
- 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.net]
- >>257
自分用Unityメモ:EventTriggerにスクリプトからEventを追加する kasatanet.はてなblog.com/entry/2017/11/19/233426 はてな部分はローマ字で
- 259 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 09:40:56.48 ID:2uuxF2Qq.net]
- >>256
うん、もちっとがんばってね。 あと、down upは、そのままじゃだめだよ。押されたら保管、その値を参照して処理。
- 260 名前: mailto:sage [2020/01/26(日) 10:26:21.47 ID:DH9o2bCr.net]
- StaticなクラスからGameObjectを生成しようとしてるんですがGameManager.Instantiateしてるんですが問題ありますか?
そもそもStaticなクラスから生成しようとしてること自体が間違いですかね?
- 261 名前:名前は開発中のものです。 [2020/01/26(日) 10:37:30 ID:ckFKG1Im.net]
- >>256
再度修正しました とりあえず2押に対応しました ソース整理してないので醜いかもですが 一応、流れとしてはStartシーンをベースにして sampleシーンをロード、アンロードします これで入力値はずっと取れるようです https://thuploader.orz.hm/miniup/?mode=edit&id=6313
- 262 名前:名前は開発中のものです。 [2020/01/26(日) 11:03:24 ID:ckFKG1Im.net]
- >>260
>GameManager.Instantiate このGameManagerってのが何かよく分からないけど Instantiateのマニュアル https://docs.unity3d.com/jp/460/ScriptReference/Object.Instantiate.html staticのマニュアル https://docs.unity3d.com/jp/460/Manual/StaticObjects.html これ見るだけだと特に問題ないと思います >そもそもStaticなクラスから生成しようとしてること自体が間違いですかね? Instantiate自体はなんでもクローン化できるし間違いという概念自体無いのかなと 思いますが・・・
- 263 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 15:48:27.71 ID:b+yLlRNB.net]
- アイソメトリックタイルで2Dドット絵のクォータービューのマップタイルを配置して、ドットキャラを落としたところ
タイルより少し浮いた位置に落ち、キャラが倒れてしまいました タイルには2Dタイルマップコライダー キャラには2Dリジッドボディと2Dカプセルコライダーを設定してます 正確に1タイル上に着地するにはどうすればいいでしょうか
- 264 名前:名前は開発中のものです。 [2020/01/26(日) 16:06:04.79 ID:ckFKG1Im.net]
- 画面ないからなんとも言えんが
とりあえず公式ブログのプロジェクトでも見てみるとかどう タイルマップの等角 2D 環境 https://blogs.unity3d.com/jp/2019/03/18/isometric-2d-environments-with-tilemap/
- 265 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 16:41:35.15 ID:b+yLlRNB.net]
- >>264
ありがとうございます、キャラが倒れるのは回転を固定にチェックを入れていなかったからでした こちらの動画が参考になりました、頑張ってみます
- 266 名前:◆uBR9Xpjlnk mailto:sage [2020/01/26(日) 16:57:41 ID:DH9o2bCr.net]
- >>262
説明が足りなくてすいません。 Monobehaviourを継承してない(できない)StaticなクラスでInstantiateをしようとしてるんですけどGameManagerクラスはMonobehaviourを継承してるかつどこからでも呼び出せるからGameManager.Instantiate()といった感じでやってるんですよね。
- 267 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 18:36:10.24 ID:3Sh7JjJE.net]
- canvasのtextってもしかして全部再描画してるんですかね?
縦文字スクリプト作ってoutlineつけてフェードイン&フェードアウト作って ノベルゲームみたいに一文字ずつ出るようにしたら50文字ぐらい読み込むとどんどんと重くなります もしかしてcanvasって一行一行ずつ作った方がいいんですか?
- 268 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 18:52:40 ID:2uuxF2Qq.net]
- 文字だけじゃなんとも。
- 269 名前:名前は開発中のものです。 mailto:sage [2020/01/26(日) 20:48:24 ID:b+yLlRNB.net]
- この画像の赤ラインまで枠を縮めたいのですが、コライダーエディットのような項目が見当たらず、任意に動かせません
どうすればできますか?壁まで歩けてしまいます https://dotup.org/uploda/dotup.org2048359.png
- 270 名前:名前は開発中のものです。 [2020/01/26(日) 20:58:05 ID:ckFKG1Im.net]
- >>269
さっきの公式ブログにさ 「衝突タイルを配置したら、Tilemap Collider コンポーネントを衝突のタイルマップに追加します」 ってあるのよ 回り道かもしれないけど、まずは公式のプロジェクトダウンロードしてやってみたらどうかな、色々と勉強になると思うよ
- 271 名前:名前は開発中のものです。 [2020/01/26(日) 21:03:23 ID:ckFKG1Im.net]
- >>267
フェードアウト、インがどう作られてるのか? 一文字づつ出力がどんなスクリプトか? まるで情報がわからないのに助言できないので、とりあえず Unityにおける文字の描画と比較検証 https://creator.game.cyberagent.co.jp/?p=6402
- 272 名前:名前は開発中のものです。 [2020/01/26(日) 22:38:27.18 ID:Fvh37rHc.net]
- OnMouseDown()はタッチにもクリックにも反応しますが、クリックのみにしか反応しないようにするにはどうすれば良いでしょうか?
- 273 名前:名前は開発中のものです。 [2020/01/27(月) 09:58:59 ID:Lnpc9jzQ.net]
- >>272
Input.touchCount が 0以上なら指タッチ、そうでないならマウスって判定でいいんじゃね
- 274 名前:名前は開発中のものです。 mailto:sage [2020/01/27(月) 10:23:02 ID:yuGD/LWP.net]
- downが呼ばれてtouchが0ならマウスじゃないの?
- 275 名前: mailto:sage [2020/01/28(火) 07:35:36.44 ID:JSvWE+67.net]
- SceneとGameでフォントがおかしいのってどうやって直すんですか?
https://i.imgur.com/3NBA503.jpg
- 276 名前:名前は開発中のものです。 mailto:sage [2020/01/28(火) 08:03:11.76 ID:i1aGfgqT.net]
- すみません、例えばこんな感じでそのオブジェクトが消滅直前にSEを鳴らそうと
audioSource.PlayOneShot(deadSE); Destroy(this.gameObject); してもSEが鳴らずにオブジェクトが消滅してしまいます。 あとでサウンドオブジェクトはシングルトンで作るつもりでいるのですが 今は自分のオブジェクトが鳴らすSEは自分にアセットしたスクリプトにて処理させようと思ったんですが もしかしてDestroy()直前に命令したら鳴らずに消滅するのでしょうか? イメージでは鳴って消滅する感じだったんですが。
- 277 名前:名前は開発中のものです。 mailto:sage [2020/01/28(火) 08:05:47.09 ID:i1aGfgqT.net]
- ちなみに、Destroy()の直前じゃないところに記載した場合はそのSEが鳴ります。
呼び出したあとにオブジェクトが消滅するんだから音は鳴るだろって思ってるんですが
- 278 名前:名前は開発中のものです。 mailto:sage [2020/01/28(火) 08:26:52.16 ID:UXt784Vm.net]
- Destroyでスピーカーごと消してるから鳴るもんも鳴らなくなる
- 279 名前:名前は開発中のものです。 mailto:sage [2020/01/28(火) 08:38:45.93 ID:i1aGfgqT.net]
- >>278
なるほどそりゃそうですよね ありがとうございます!
- 280 名前:名前は開発中のものです。 [2020/01/28(火) 08:54:49.39 ID:FwIKyioN.net]
- >>275
それだけの情報じゃ全くわからん フォントは何か? キャンバス設定はどうか? カメラ設定はどうか? 出来ればプロジェクトアップしてくれると直ぐ見れると思う >>276 公式のオーディオクリップの長さの説明に待つコードあるよ https://docs.unity3d.com/jp/460/ScriptReference/AudioClip-length.html
- 281 名前: [2020/01/28(火) 09:05:06.97 ID:JSvWE+67.net]
- >>280
https://6.gigafile.nu/0204-hc10e2dde071254679caa8754913616cb お願いします!
|

|