ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
※前スレ
【ゲームエンジン】Unity初心者質問スレBuild2
https://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
探検
【ゲームエンジン】Unity初心者質問スレBuild3
■ このスレッドは過去ログ倉庫に格納されています
2020/01/11(土) 14:28:59.18ID:wPvGtAaQ
167名前は開発中のものです。
2020/01/20(月) 06:26:23.40ID:3GyQd84/ デュアルディスプレイという選択肢
168155
2020/01/20(月) 10:27:29.13ID:PqKPcOnL >>166
13インチです^^;スペックは問題無いんですが
画面は小さいの買ってしまってたんで、、
Unityで作りたいゲームがファミコン風だったんで
いけそうだと思ってるんです。
話しついでにもうひとつだけ相談させてほしいのですが
自分はファミコン風(256×240)という解像度低いゲームを制作しています。
ドット絵が崩れないように現在すべての画像のPixels Per Unitを「1」にしているんです。
こうすると低解像度(16×16のプレイヤーキャラとか)の画像たちが
ゲームビューをいくらズームアップしても崩れないんです。
しかしそのこと?で別の困ったことがあるんですが
ピクセル移動を想定した数値を入れると
まるで1ミリずつの移動みたいに牛歩ってしまうんです。
(ジャンプもちょびちょびしか動かない)。
本来、16の幅しかないプレイヤー画像なんで
毎フレーム5も入れてやるとスムーズに進むように見えるはずが
現状毎フレーム50を入れてやらないとスムーズに見えません。
なぜ十倍もの値にしないといけないのかわかりません。
ファミコン風のゲーム制作を独学でやろうとしてる状態なんで
これが正解なのかもわからず、、、同じ苦労を分かち合える人もおらず
不安なんですが、
16×16の画像に対して、
この何倍もの数値を入れなきゃスムーズな移動にならないのは
どうしてでしょうか?
Pixels Per Unitを「1」にしたせいだとするなら
Pixels Per Unitの値とは本来何を想定して決めるものなのでしょうか。
お手数かけてもうしわけないのですが
本当に困っていまして、そこら辺のこと教えていただけると助かります。
13インチです^^;スペックは問題無いんですが
画面は小さいの買ってしまってたんで、、
Unityで作りたいゲームがファミコン風だったんで
いけそうだと思ってるんです。
話しついでにもうひとつだけ相談させてほしいのですが
自分はファミコン風(256×240)という解像度低いゲームを制作しています。
ドット絵が崩れないように現在すべての画像のPixels Per Unitを「1」にしているんです。
こうすると低解像度(16×16のプレイヤーキャラとか)の画像たちが
ゲームビューをいくらズームアップしても崩れないんです。
しかしそのこと?で別の困ったことがあるんですが
ピクセル移動を想定した数値を入れると
まるで1ミリずつの移動みたいに牛歩ってしまうんです。
(ジャンプもちょびちょびしか動かない)。
本来、16の幅しかないプレイヤー画像なんで
毎フレーム5も入れてやるとスムーズに進むように見えるはずが
現状毎フレーム50を入れてやらないとスムーズに見えません。
なぜ十倍もの値にしないといけないのかわかりません。
ファミコン風のゲーム制作を独学でやろうとしてる状態なんで
これが正解なのかもわからず、、、同じ苦労を分かち合える人もおらず
不安なんですが、
16×16の画像に対して、
この何倍もの数値を入れなきゃスムーズな移動にならないのは
どうしてでしょうか?
Pixels Per Unitを「1」にしたせいだとするなら
Pixels Per Unitの値とは本来何を想定して決めるものなのでしょうか。
お手数かけてもうしわけないのですが
本当に困っていまして、そこら辺のこと教えていただけると助かります。
169155
2020/01/20(月) 10:29:30.00ID:PqKPcOnL170名前は開発中のものです。
2020/01/20(月) 10:59:54.15ID:/eP03yfp 13インチで開発とか苦行すぎるだろw
171155
2020/01/20(月) 11:12:39.22ID:PqKPcOnL >>170
そんなこと凹むこと言わないで(^^;)
そんなこと凹むこと言わないで(^^;)
172名前は開発中のものです。
2020/01/20(月) 11:14:33.79ID:3OCzu0qv >>168
Pixel per unitは一般的にはタイルのサイズにする。
スーパーマリオで言うとブロック1個分。
そうすると、座標がキリのいい数字になるのでなにかと便利だから。
そして、ドットが崩れないようにレンダリングしたい場合は、package managerからインストールできる2D Pixel Perfectを使うといいかもしれない。
Pixel per unitは一般的にはタイルのサイズにする。
スーパーマリオで言うとブロック1個分。
そうすると、座標がキリのいい数字になるのでなにかと便利だから。
そして、ドットが崩れないようにレンダリングしたい場合は、package managerからインストールできる2D Pixel Perfectを使うといいかもしれない。
173名前は開発中のものです。
2020/01/20(月) 11:33:00.35ID:hAo3BM7z >>168
>Pixels Per Unitの値とは本来何を想定して
FPSって分かる? FramePerSecond 秒あたりのフレームだよね
じゃPPUは、字の通りでUnitあたりのピクセルの数となる
ユニットはScene画面に出てる四角い枠の事、
PPUが通常100になってるけど、これは1unitあたり100ピクセル表示すると意味
ちなに1unitがゲーム内でどんな長さになるかは公式参照、それが動くスピードにも関係する
https://docs.unity3d.com/ja/2017.4/Manual/BestPracticeMakingBelievableVisuals1.html
で、こんな2つの画像があったとしよう
https://i.gyazo.com/03716835d21c56b66700822772f00111.png
これをそのまま100で取り込むと見得ないほど小さくなる、1にすればめちゃ大きくなるし、当然2つの画像は違う大きさのままになる
これを同じにするためにPPUをそれぞれ16、32にする、すると
https://i.gyazo.com/ceddb8fa4ae37c991d362757f64ab4f8.png
このように同じ大きさで収まる訳
こんなんで分かるかな?
>Pixels Per Unitの値とは本来何を想定して
FPSって分かる? FramePerSecond 秒あたりのフレームだよね
じゃPPUは、字の通りでUnitあたりのピクセルの数となる
ユニットはScene画面に出てる四角い枠の事、
PPUが通常100になってるけど、これは1unitあたり100ピクセル表示すると意味
ちなに1unitがゲーム内でどんな長さになるかは公式参照、それが動くスピードにも関係する
https://docs.unity3d.com/ja/2017.4/Manual/BestPracticeMakingBelievableVisuals1.html
で、こんな2つの画像があったとしよう
https://i.gyazo.com/03716835d21c56b66700822772f00111.png
これをそのまま100で取り込むと見得ないほど小さくなる、1にすればめちゃ大きくなるし、当然2つの画像は違う大きさのままになる
これを同じにするためにPPUをそれぞれ16、32にする、すると
https://i.gyazo.com/ceddb8fa4ae37c991d362757f64ab4f8.png
このように同じ大きさで収まる訳
こんなんで分かるかな?
174名前は開発中のものです。
2020/01/20(月) 11:37:29.53ID:w54rhdgo にじむ場合はFilterModeをPoint(のFilter)に変更するといいよ
175155
2020/01/20(月) 12:33:25.92ID:PqKPcOnL >>172
ありがとうございます、>>173のレスも考慮した上で
PPUは「1」だったのを「8」にしました。
妥当でしょうか?
実は2D Pixel Perfectもすでに導入したんですが
使い勝手がまだ微妙で、、、詳しく解説してくれてるページが
そんな無くて、、
>>173
ありがとうございます。
めちゃくちゃわかりやすく理解が進んだ感じがしました。
一応理解したまとめを報告しますと
1unit=sceneviewに見えるグリッドの1マス
PPU=グリッドの1マスに収まるピクセル数
つまり、各画像に設定するPPUは
この画像はそのPPUを想定したサイズにする、ということ。
なので各画像のサイズを任意に決めれる。
ということでよろしいでしょうか?
>>174
ありがとうございます。
調べてすでにそうしております。
ありがとうございます、>>173のレスも考慮した上で
PPUは「1」だったのを「8」にしました。
妥当でしょうか?
実は2D Pixel Perfectもすでに導入したんですが
使い勝手がまだ微妙で、、、詳しく解説してくれてるページが
そんな無くて、、
>>173
ありがとうございます。
めちゃくちゃわかりやすく理解が進んだ感じがしました。
一応理解したまとめを報告しますと
1unit=sceneviewに見えるグリッドの1マス
PPU=グリッドの1マスに収まるピクセル数
つまり、各画像に設定するPPUは
この画像はそのPPUを想定したサイズにする、ということ。
なので各画像のサイズを任意に決めれる。
ということでよろしいでしょうか?
>>174
ありがとうございます。
調べてすでにそうしております。
176名前は開発中のものです。
2020/01/20(月) 12:35:27.37ID:vt7bcNpw177155
2020/01/20(月) 12:36:10.56ID:PqKPcOnL 昨日の質問と違い
ありがたいレスをいくつも頂けて、
泣きそうです。
三人様、ありがとうございます。
ありがたいレスをいくつも頂けて、
泣きそうです。
三人様、ありがとうございます。
178名前は開発中のものです。
2020/01/20(月) 12:55:49.34ID:vt7bcNpw 泣きそうだと?中途半端な奴め、泣け!w
179155
2020/01/20(月) 12:56:15.91ID:PqKPcOnL すみません、調べてもわからず解決してないことが他にもあって、
どなたかこれ原因わかりませんか?(^^;
https://download1.getuploader.com/g/zipcodezipcode/220/maincamera.png
これは自分のメインカメラのインスペクタなんですが
Sizeの項目、どのブログを拝見しても
「想定する画面サイズの半分の数値(画面の横幅が400なら200)を入れましょう」
って書いているのに、自分はここの数値をいじれないんです。
数値を変えても決定すると元の数字(ここでは画像にある7)に戻るんです。
この項目に矢印をあてて左右のドラッグでも数値は動きません。
なぜですか?
皆さん、当たり前のようにここの数値は任意で決めれるみたいに書いてあるので
非常に困惑しております。。。
どなたかこれ原因わかりませんか?(^^;
https://download1.getuploader.com/g/zipcodezipcode/220/maincamera.png
これは自分のメインカメラのインスペクタなんですが
Sizeの項目、どのブログを拝見しても
「想定する画面サイズの半分の数値(画面の横幅が400なら200)を入れましょう」
って書いているのに、自分はここの数値をいじれないんです。
数値を変えても決定すると元の数字(ここでは画像にある7)に戻るんです。
この項目に矢印をあてて左右のドラッグでも数値は動きません。
なぜですか?
皆さん、当たり前のようにここの数値は任意で決めれるみたいに書いてあるので
非常に困惑しております。。。
180名前は開発中のものです。
2020/01/20(月) 13:22:23.52ID:w54rhdgo >>179
まっさらな新規のプロジェクトでもダメですか?
まっさらな新規のプロジェクトでもダメですか?
181名前は開発中のものです。
2020/01/20(月) 13:29:27.18ID:w54rhdgo もし180の状態で大丈夫なら、CinemachineBrainが悪さしていると考えられます
当方。2019.2.17f1ですが、まっさらな状態では全く問題なくsize変更できるので
そちらの環境問題か、もしかしたらエディターのバージョンによるバグか難しいとこです
もしまっさらな状態でも同じ症状なら、エディターのバグも考えられるのでバージョン合わせてこちらでも確認してみますのでバージョン教えてくれると助かります
バグと確認できたら、それはもうunityさんに報告するしかないような・・・
当方。2019.2.17f1ですが、まっさらな状態では全く問題なくsize変更できるので
そちらの環境問題か、もしかしたらエディターのバージョンによるバグか難しいとこです
もしまっさらな状態でも同じ症状なら、エディターのバグも考えられるのでバージョン合わせてこちらでも確認してみますのでバージョン教えてくれると助かります
バグと確認できたら、それはもうunityさんに報告するしかないような・・・
182155
2020/01/20(月) 23:15:35.35ID:PqKPcOnL >>181
レスありがとうございます。
さきほど仕事から帰り確認が遅くなりました。
まさに181さんのご指摘通りでした、、、
「Cinemachine Brain」のチェックを外すと
なんと数値が好き放題変更できました。
「悪さしている」とのことですが、、これはどういうことでしょうか
Cinemachine Brainはチェックを外したままでいいのでしょうか?
それとも、Cinemachine Brainを削除してインストールし直した方がいいとかですか?
レスありがとうございます。
さきほど仕事から帰り確認が遅くなりました。
まさに181さんのご指摘通りでした、、、
「Cinemachine Brain」のチェックを外すと
なんと数値が好き放題変更できました。
「悪さしている」とのことですが、、これはどういうことでしょうか
Cinemachine Brainはチェックを外したままでいいのでしょうか?
それとも、Cinemachine Brainを削除してインストールし直した方がいいとかですか?
183名前は開発中のものです。
2020/01/20(月) 23:23:06.93ID:FXjCh/jh オート操作にBGMをくっつけて簡単なデモを作ってるのですが毎回毎回微妙に音ズレがしてしまいます
フレームを30に固定しても駄目でした、何か重い操作があるとBGMと同期がとれなくなってしまうみたいですが
どうにかして同期を取る方法はないでしょうか?
フレームを30に固定しても駄目でした、何か重い操作があるとBGMと同期がとれなくなってしまうみたいですが
どうにかして同期を取る方法はないでしょうか?
184名前は開発中のものです。
2020/01/21(火) 00:42:25.80ID:xWdssdmX185名前は開発中のものです。
2020/01/21(火) 10:33:07.11ID:4lKB/S8y >>182
アセット関連なんで作者に聴くのがいいと思うけど
https://blogs.unity3d.com/jp/2018/07/17/cinemachine-for-2d-tips-and-tricks/
とりあえずカメラはViutualCameraの設定を変えるんじゃないかな?
何が原因か突き止めるには、プロジェクトを単純化するに限るので
まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるかですね
アセット関連なんで作者に聴くのがいいと思うけど
https://blogs.unity3d.com/jp/2018/07/17/cinemachine-for-2d-tips-and-tricks/
とりあえずカメラはViutualCameraの設定を変えるんじゃないかな?
何が原因か突き止めるには、プロジェクトを単純化するに限るので
まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるかですね
186155
2020/01/21(火) 12:35:35.08ID:MXzB69W0 >>185
>まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるか
これを試してみようと思います。
なんにせよ原因を当ててくださったので非常jに助かりました。
ありがとうございます。
>まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるか
これを試してみようと思います。
なんにせよ原因を当ててくださったので非常jに助かりました。
ありがとうございます。
187名前は開発中のものです。
2020/01/21(火) 16:25:37.81ID:q2cUKp57 クォータービューのマップを作ろうと
自分で打ったドットタイル32×32(png)をタイルパレット(isometric)にDDしても表示されないのですが何故ですか?
assetsには表示されてます
自分で打ったドットタイル32×32(png)をタイルパレット(isometric)にDDしても表示されないのですが何故ですか?
assetsには表示されてます
188名前は開発中のものです。
2020/01/21(火) 16:33:51.87ID:q2cUKp57 すいません解決しました
189名前は開発中のものです。
2020/01/21(火) 18:04:38.26ID:yyMJ8NI+ mac版バージョン2018.4.11f1
unityにautosave機能を追加したいんだけど
有志配布のものはすべて2018には対応せず…
良いのない?
二時間頑張ったのがパー、もう嫌だorz
unityにautosave機能を追加したいんだけど
有志配布のものはすべて2018には対応せず…
良いのない?
二時間頑張ったのがパー、もう嫌だorz
190名前は開発中のものです。
2020/01/21(火) 18:15:08.15ID:yyMJ8NI+ あった
解決しました
解決しました
191名前は開発中のものです。
2020/01/22(水) 11:09:38.22ID:tfrN0HGP \ ,
、 | ヽ /
\ | 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/ .// || / /'
爪 弾 く は 荒 ぶ る 調 べ ! キ ュ ア メ ロ デ ィ !
スイートプリキュア♪の北条響
、 | ヽ /
\ | 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名前は開発中のものです。
2020/01/22(水) 11:41:29.44ID:fkmqYQ67 htmlが流行っていた時期、タグのコピペとちょっとした改変でホームページを作ってました
unityド素人でもそんな感じでゲーム作れます?本に書いてある通りの丸コピーではなく
コンセプトはスクリプトを書かないゲーム作りです!
unityド素人でもそんな感じでゲーム作れます?本に書いてある通りの丸コピーではなく
コンセプトはスクリプトを書かないゲーム作りです!
193名前は開発中のものです。
2020/01/22(水) 12:04:57.58ID:Gjke/PAp 無理
194名前は開発中のものです。
2020/01/22(水) 16:38:52.09ID:jAdrPsCn 2020でブループリントみたいなやつ入ってくるんじゃなかったっけ
195名前は開発中のものです。
2020/01/22(水) 20:26:41.16ID:FnFWF1+H ブループリントはほぼスクリプトなんだわ…
関数がノードにパッケージングされてるだけでやってる事は変わらん
関数がノードにパッケージングされてるだけでやってる事は変わらん
196名前は開発中のものです。
2020/01/22(水) 22:53:26.09ID:r+2nxT98 UniRx 使い始めたら、Awake()、Start() の中に処理が集中するんだけど、
そもそもゲーム開発ではメソッド毎のテストなんての書かない感じ?
てか Unity 開発では ユニットテストとかのテストFWはない?
Visual Studio のクラスビューでメソッドが Awake()、Start() しかない
スクリプトが増えてきて不安になる…
そもそもゲーム開発ではメソッド毎のテストなんての書かない感じ?
てか Unity 開発では ユニットテストとかのテストFWはない?
Visual Studio のクラスビューでメソッドが Awake()、Start() しかない
スクリプトが増えてきて不安になる…
197名前は開発中のものです。
2020/01/22(水) 23:20:39.00ID:6KrHfY+K Test Runnerと呼ばれる機能がUnityにはあります
ぐぐっただけなので内容までは知らん
ぐぐっただけなので内容までは知らん
198名前は開発中のものです。
2020/01/22(水) 23:41:51.51ID:9P6fyKWd UniRxって何が良いの?
jQueryみたいなもんでGCが致命的になるゲーム開発だと地雷でしかないと勝手に思ってるけど
jQueryみたいなもんでGCが致命的になるゲーム開発だと地雷でしかないと勝手に思ってるけど
199名前は開発中のものです。
2020/01/23(木) 00:09:52.21ID:BeWKcfCr >>197
ありがとう、自分でも探してみたけど、Unity Test Runner が
公式にあるみたいなんで試してみる。
>>198
むしろ自分が初心者だからこそ UniRx が凄く便利だと感じる。
例えば、Transform の位置情報を加減することと、
Rigidbody に力を加える動きを書こうすると、
それぞれ、Update() と FixedUpdate() に分散して書くと思けど、
UniRx なら Start() の中に両方書けるので分かりやすい。
また、普通にプレイヤーコントローラのスクリプトとか書いたら、
Update() と FixedUpdate() の中身が "if 分岐” だらけになると推測するけど、
UniRx なら、コードから "if 分岐” がなくなりスッキリ分かりやすくなった。
でも確かにGCパフォーマンスは心配。
ありがとう、自分でも探してみたけど、Unity Test Runner が
公式にあるみたいなんで試してみる。
>>198
むしろ自分が初心者だからこそ UniRx が凄く便利だと感じる。
例えば、Transform の位置情報を加減することと、
Rigidbody に力を加える動きを書こうすると、
それぞれ、Update() と FixedUpdate() に分散して書くと思けど、
UniRx なら Start() の中に両方書けるので分かりやすい。
また、普通にプレイヤーコントローラのスクリプトとか書いたら、
Update() と FixedUpdate() の中身が "if 分岐” だらけになると推測するけど、
UniRx なら、コードから "if 分岐” がなくなりスッキリ分かりやすくなった。
でも確かにGCパフォーマンスは心配。
200名前は開発中のものです。
2020/01/23(木) 00:35:20.23ID:BeWKcfCr あと UniRx だと、何秒後に とか、何フレ後に とか、何回とか、ゲームに必要な処理が簡単に書ける。
おそらく、まったくのプログラム初心者は UniRx から始めた方が良いとさえ思える。
自分は既に書いてしまった膨大なコードを UniRx を使用するコードにリファクタしつつあるけど、辛い…
誰か最初に教えといてくれよと思った。
まあ Unity初心者の個人的な感想だけどね。
おそらく、まったくのプログラム初心者は UniRx から始めた方が良いとさえ思える。
自分は既に書いてしまった膨大なコードを UniRx を使用するコードにリファクタしつつあるけど、辛い…
誰か最初に教えといてくれよと思った。
まあ Unity初心者の個人的な感想だけどね。
201名前は開発中のものです。
2020/01/23(木) 01:04:15.17ID:k7QW6u8C >>199
UniRxのTriggersをメインで使ってるってことね
UniRxのTriggersをメインで使ってるってことね
202名前は開発中のものです。
2020/01/23(木) 06:19:45.63ID:xz19b8uw こんな早朝に人いるかな?
Rigidbody2D.AddForceを使ってジャンプさせているんだけど
rigidbody2D.AddForce(Vector2.up * 数値);って感じで。
しかしこれではジャンプ力(高さ?頂点?)を決めてやれるだけで
ジャンプそのもののスピードはいじれない。
ぽい〜んってジャンプじゃなくて
ヒュンッとしたジャンプをさせたいんですが良い方法あります?
C++時代なら毎フレームに加える数値を増やせばよかっただけなんですよねえ
Rigidbody2D.AddForceを使ってジャンプさせているんだけど
rigidbody2D.AddForce(Vector2.up * 数値);って感じで。
しかしこれではジャンプ力(高さ?頂点?)を決めてやれるだけで
ジャンプそのもののスピードはいじれない。
ぽい〜んってジャンプじゃなくて
ヒュンッとしたジャンプをさせたいんですが良い方法あります?
C++時代なら毎フレームに加える数値を増やせばよかっただけなんですよねえ
203名前は開発中のものです。
2020/01/23(木) 08:02:49.45ID:BeWKcfCr204名前は開発中のものです。
2020/01/23(木) 08:04:53.53ID:BeWKcfCr AddForce では加える力を決めれるだけで、それで高さ?頂点?を決めれるわけじゃない。
205名前は開発中のものです。
2020/01/23(木) 08:32:54.21ID:BeWKcfCr あと多分 質問の状況からすると rigidbody.velocity += Vector3.up + 調整値 で、
FixedUpdate() で、物理フレーム毎に調整値をいじる方が望みの動作を得られる気がする。
でも、それが物理挙動かと言われれば違う気がするし、それなら素直に Transform の数値増減でいいじゃんとも思う。
この辺りどうなんだろうね?
rigidbody.AddForce だけでまともなゲームのジャンプになるの?
FixedUpdate() で、物理フレーム毎に調整値をいじる方が望みの動作を得られる気がする。
でも、それが物理挙動かと言われれば違う気がするし、それなら素直に Transform の数値増減でいいじゃんとも思う。
この辺りどうなんだろうね?
rigidbody.AddForce だけでまともなゲームのジャンプになるの?
206名前は開発中のものです。
2020/01/23(木) 08:43:29.52ID:sYrsRPW1 ジャンプの仕方が目標みたいだから、rigidbodyを極めてもよし、transformでコントロールしてもよし。
好きな方で。
addforceなら、velocityに、加えてgravity値をコントロールするとか試行錯誤だね。がんばれ。
好きな方で。
addforceなら、velocityに、加えてgravity値をコントロールするとか試行錯誤だね。がんばれ。
207名前は開発中のものです。
2020/01/23(木) 09:05:35.69ID:o31+m3nu キャラクターとかはキネマティックにして物理エンジンに任せずに自分で動かした方が思った通りの動きになるんだよね
208名前は開発中のものです。
2020/01/23(木) 10:00:04.83ID:KLj1RF1a 物理計算サイトが検算するのに捗る
自分でスプレッドシートつくる方が身につくけど
自分でスプレッドシートつくる方が身につくけど
209名前は開発中のものです。
2020/01/23(木) 13:04:24.91ID:rlCEa5FQ >>202
単純にジャンプの速度を上げたいってだけなら、重力を大きくするか、
特定のキャラクターだけそうしたいならRigidbodyのGravityScaleを大きくするとかかな。ただしこれだと落下速度も速くなっちゃうけど。
一時的に物理計算を無視して完全に制御したいなら、transformよりも
Rigidbody.MovePositionを使って動かす方がいいかも。
これなら周りのオブジェクトに物理的な影響を与えながら移動できるし、
fixedupdate内で書くことになるので
「普段は物理無視したいけど爆風に巻き込まれた時は物理に従う」
みたいな実装が楽だよ。
単純にジャンプの速度を上げたいってだけなら、重力を大きくするか、
特定のキャラクターだけそうしたいならRigidbodyのGravityScaleを大きくするとかかな。ただしこれだと落下速度も速くなっちゃうけど。
一時的に物理計算を無視して完全に制御したいなら、transformよりも
Rigidbody.MovePositionを使って動かす方がいいかも。
これなら周りのオブジェクトに物理的な影響を与えながら移動できるし、
fixedupdate内で書くことになるので
「普段は物理無視したいけど爆風に巻き込まれた時は物理に従う」
みたいな実装が楽だよ。
210名前は開発中のものです。
2020/01/23(木) 17:48:04.91ID:9HsMMURI おっぱいも物理エンジンよりも手で揺らした方がイキイキしている気がする
211名前は開発中のものです。
2020/01/23(木) 17:51:59.32ID:sYrsRPW1 それは物理エンジンが…あ、いやなんでもない。
212名前は開発中のものです。
2020/01/23(木) 20:32:46.84ID:o/nrz+aB AnimationControler みたくステートマシーンをグラフィカルに編集できるアセットってないっすかね?
AnimationControler と StateMachineBehaviour がありゃステートマシンでやるようなこと何でもできるじゃないのって思ってたけど、
Time.timeScale=0 したら setTrigger しても状態遷移しないし、
やっぱりステートマシンのすべてを AnimationControler に任せるのは無理があるのかなとか思って。
なければ State パターン でハードコーディングすべきなのかなやっぱり。
AnimationControler と StateMachineBehaviour がありゃステートマシンでやるようなこと何でもできるじゃないのって思ってたけど、
Time.timeScale=0 したら setTrigger しても状態遷移しないし、
やっぱりステートマシンのすべてを AnimationControler に任せるのは無理があるのかなとか思って。
なければ State パターン でハードコーディングすべきなのかなやっぱり。
213名前は開発中のものです。
2020/01/23(木) 20:40:25.80ID:o31+m3nu >>212
animator.updateMode = AnimatorUpdateMode.UnscaledTime;
animator.updateMode = AnimatorUpdateMode.UnscaledTime;
214名前は開発中のものです。
2020/01/23(木) 21:43:00.61ID:o/nrz+aB >>213 うお、そんなオプションが…。解決しました。感謝です。
215名前は開発中のものです。
2020/01/24(金) 04:03:03.22ID:+Fsi074W すみません、変な質問なんですが 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")を書いただけじゃ
取得しなおしてくれないんですよね、、、、
この処理をキーを離さずに一度リセットして認識し直させる方法はありませんか?
、、というのも「ある状況」になるとキーを押しっぱなしのままだと
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.39ID:9g9ZzaxQ バグっぽいと言うのはどこの情報ですか?
217名前は開発中のものです。
2020/01/24(金) 07:54:41.99ID:1mzH9O5r >>215
普通に考えてリスタートの処理の仕方に問題があるかと。
ゲームオーバーで最初に戻るにしても、インプット関数としては、ゲームオーバーしようがしまいが関係ない。なら、リスタートまでに何か影響のある処理を入れてしまっている事が考えられる。
例えば、start()に取得し直しとか書いてるけど、startをまた呼び出してるの?すまん、私はそんな表記はした事ないから異常に見えました。
普通に考えてリスタートの処理の仕方に問題があるかと。
ゲームオーバーで最初に戻るにしても、インプット関数としては、ゲームオーバーしようがしまいが関係ない。なら、リスタートまでに何か影響のある処理を入れてしまっている事が考えられる。
例えば、start()に取得し直しとか書いてるけど、startをまた呼び出してるの?すまん、私はそんな表記はした事ないから異常に見えました。
218名前は開発中のものです。
2020/01/24(金) 12:14:44.83ID:JiuRt8jn プレイヤーオブジェクトをDestroyしてる説
219名前は開発中のものです。
2020/01/24(金) 16:44:42.21ID:YxoFqWNA おこなの?
220名前は開発中のものです。
2020/01/24(金) 21:18:19.49ID:lHO70wOG 質問です
編集ソフト間ではテクスチャやマテリアルをFBXに同梱するのは珍しくありませんが、Unity上ではあまり見かけません
単にUnityではFBX内のデータを編集できないから邪魔という理由かなと思っていますが、他にも理由があるのでしょうか?
編集ソフト間ではテクスチャやマテリアルをFBXに同梱するのは珍しくありませんが、Unity上ではあまり見かけません
単にUnityではFBX内のデータを編集できないから邪魔という理由かなと思っていますが、他にも理由があるのでしょうか?
221名前は開発中のものです。
2020/01/24(金) 21:48:57.86ID:+Fsi074W >>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")は仕事をしてくれなくなる
状況です。
(で、一度入力を放すと正常になる)
説明が難しいんですが頑張りますね
>普通に考えてリスタートの処理の仕方に問題がある
確かにその通りです
でも別にまだ作り始めですから複雑なことしておらず
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名前は開発中のものです。
2020/01/24(金) 21:50:33.57ID:+Fsi074W ちなみにプレイヤーが死んだ時、プレイヤー作成時に
Input.GetKeyとInput.GetAxisRaw
を記載したりはしておりません。
そもそもInput.GetAxisRaw("Horizontal")の入力を阻止することなんて
こちらがどうこうできるものでは無いはずなんです
で、例えば
int x = Input.GetAxisRaw("Horizontal")としてやって、
xに入る値の動きをデバッグして見ていますが
死ぬ前は右が押されている間「1」が入り続けるんですが
死んだあとDestroyされ右キー押し続けている状態でも「0」が入ってきます
で、そのあとリスタートするわけですが
死ぬ前から押し続けていた右キー押してる間はずっと0のままなんですよ
これはおかしいと思いませんか?
Input.GetKeyとInput.GetAxisRaw
を記載したりはしておりません。
そもそもInput.GetAxisRaw("Horizontal")の入力を阻止することなんて
こちらがどうこうできるものでは無いはずなんです
で、例えば
int x = Input.GetAxisRaw("Horizontal")としてやって、
xに入る値の動きをデバッグして見ていますが
死ぬ前は右が押されている間「1」が入り続けるんですが
死んだあとDestroyされ右キー押し続けている状態でも「0」が入ってきます
で、そのあとリスタートするわけですが
死ぬ前から押し続けていた右キー押してる間はずっと0のままなんですよ
これはおかしいと思いませんか?
223名前は開発中のものです。
2020/01/24(金) 22:41:41.98ID:9g9ZzaxQ いやそのスクリプトがデストロイしてるオブジェクトについてたらダメじゃね
って話しじゃないか
って話しじゃないか
224名前は開発中のものです。
2020/01/24(金) 23:07:02.42ID:rtAyfksW リスタートを実装しているなら、わざわざDestroyしなくてもいいんでは?と思うけど
仮にUnityの不具合で
instaniateされたゲームオブジェクトが継続中のHorizontalを受け付けないのだとしても、Destroyせず最初のプレイヤーのゲームオブジェクトを使い回せばいいんでは
仮にUnityの不具合で
instaniateされたゲームオブジェクトが継続中のHorizontalを受け付けないのだとしても、Destroyせず最初のプレイヤーのゲームオブジェクトを使い回せばいいんでは
225名前は開発中のものです。
2020/01/24(金) 23:07:28.97ID:+Fsi074W >>223
おっしゃりたいことはわかります。
もしそういう仕様(デストロイしたオブジェクトに書いてた場合は一度放さないと機能しない)、
なら
ジャンプをせずに(Input.GetKeyを使わずに)
死んでリスタートした場合は
押しっぱなしのInput.GetAxisRaw("Horizontal")が
開始後そのまま機能してるのがおかしいと思いませんか?
要はジャンプしてから死んでリスタートした場合だけ機能しないんです。
おっしゃりたいことはわかります。
もしそういう仕様(デストロイしたオブジェクトに書いてた場合は一度放さないと機能しない)、
なら
ジャンプをせずに(Input.GetKeyを使わずに)
死んでリスタートした場合は
押しっぱなしのInput.GetAxisRaw("Horizontal")が
開始後そのまま機能してるのがおかしいと思いませんか?
要はジャンプしてから死んでリスタートした場合だけ機能しないんです。
226名前は開発中のものです。
2020/01/24(金) 23:18:30.20ID:9g9ZzaxQ227名前は開発中のものです。
2020/01/24(金) 23:18:50.47ID:+Fsi074W228名前は開発中のものです。
2020/01/24(金) 23:24:37.56ID:7QzIJzpr229名前は開発中のものです。
2020/01/24(金) 23:27:42.92ID:+Fsi074W むむ、これは、、本当にバグなのかもしれません。
今、限りなくソースをそぎ落としていってるんですが
それでもその症状が出ます。
ほんと、プレイヤーのスクリプトでやってることは
x = Input.GetAxisRaw("Horizontal");
if(x==0){
//止まる処理
}
else if(x>0){
//右へ移動処理
}
else if(x<0){
//左へ移動処理
}
if(Input.GetKeyDown("space") ){
ジャンプ処理
}
だけなんです。
リスタート後、xにすでに値が入らなくなるので
自分の移動処理やその他のスクリプトは関係無いはずです。
今、限りなくソースをそぎ落としていってるんですが
それでもその症状が出ます。
ほんと、プレイヤーのスクリプトでやってることは
x = Input.GetAxisRaw("Horizontal");
if(x==0){
//止まる処理
}
else if(x>0){
//右へ移動処理
}
else if(x<0){
//左へ移動処理
}
if(Input.GetKeyDown("space") ){
ジャンプ処理
}
だけなんです。
リスタート後、xにすでに値が入らなくなるので
自分の移動処理やその他のスクリプトは関係無いはずです。
230名前は開発中のものです。
2020/01/24(金) 23:30:48.57ID:+Fsi074W >>228
シーンの読み込み直しです。
void RestarScene(){
Scene thisScene = SceneManager.GetActiveScene();
SceneManager.LoadScene(thisScene.name);
}
シーンの読み込み直しです。
void RestarScene(){
Scene thisScene = SceneManager.GetActiveScene();
SceneManager.LoadScene(thisScene.name);
}
231名前は開発中のものです。
2020/01/24(金) 23:37:49.39ID:+Fsi074W これは、、、、今
大変なことが発覚しました。。。
大変なことが発覚しました。。。
232名前は開発中のものです。
2020/01/24(金) 23:39:22.19ID:YxoFqWNA >>221
1. 方向キー(←押しっ放し)
2. スペース
3. スタート
これで最初の方向キーの入力が消えるってことなら、
安物のキーボードはそこまでの同時入力に対応していないからなとしか
Unityの問題でなくパソコンの仕様だよ
1. 方向キー(←押しっ放し)
2. スペース
3. スタート
これで最初の方向キーの入力が消えるってことなら、
安物のキーボードはそこまでの同時入力に対応していないからなとしか
Unityの問題でなくパソコンの仕様だよ
233名前は開発中のものです。
2020/01/24(金) 23:40:43.33ID:+Fsi074W このバグの発動条件が
左右キーを押しっぱなし中に「ジャンプした」あと死亡したらと思っていたんですが
違いました。
なんと、左右キーを押しっぱなし中に
「キーボードの他のボタン(どれでも)を押した」あと
死亡したらでした!!!
なんと、ゲームで使ってないキーを押しても、この症状が出ます!!!
これはどういうことでしょうか???????????
左右キーを押しっぱなし中に「ジャンプした」あと死亡したらと思っていたんですが
違いました。
なんと、左右キーを押しっぱなし中に
「キーボードの他のボタン(どれでも)を押した」あと
死亡したらでした!!!
なんと、ゲームで使ってないキーを押しても、この症状が出ます!!!
これはどういうことでしょうか???????????
234名前は開発中のものです。
2020/01/24(金) 23:42:33.68ID:rtAyfksW シーンを移動するとInputがリセットされる件
で検索
url貼ろうとするとNG食らうので
で検索
url貼ろうとするとNG食らうので
235名前は開発中のものです。
2020/01/24(金) 23:45:43.21ID:+Fsi074W >>232
>これで最初の方向キーの入力が消えるってことなら
いや、私の説明を誤解してます。
2. スペース
の後も「1. 方向キー(←押しっ放し)」は生きてます。
そのままその方向に歩いていくし、放せば止まります。
ただ、1.を押しっぱなしのままで歩いて敵に当たったりして死亡したあと
再スタート後に利かなく(Input.GetAxisRawが左右を認識しない)なってるんです。
押しっぱなしのままなら、です。
説明が難しい。。。
>これで最初の方向キーの入力が消えるってことなら
いや、私の説明を誤解してます。
2. スペース
の後も「1. 方向キー(←押しっ放し)」は生きてます。
そのままその方向に歩いていくし、放せば止まります。
ただ、1.を押しっぱなしのままで歩いて敵に当たったりして死亡したあと
再スタート後に利かなく(Input.GetAxisRawが左右を認識しない)なってるんです。
押しっぱなしのままなら、です。
説明が難しい。。。
236名前は開発中のものです。
2020/01/24(金) 23:55:45.35ID:+Fsi074W >>234
検索して拝見しましたが
非常に勉強になるブログでした。
しかし自分のケースと少し違う気がしますがどうですか?
なぜなら、自分のケースは
確かに二つ目のキー入力をしますが
その後、その二つ目を放して、シーンを移動します。
つまりシーンをまたぐ時はキー入力は1つなんです。
そのブログのケースと違う気がするのですがどうですか?
あと、もひとつ言いますと
ゲットキーの設定関係なく、
二つ目のキーはパソコンのどのボタンでも
押したら発生します。。。
つまり、
Input.GetAxisRaw("Horizontal")
で右方向キーを入力したまま
パソコンの「w」だの「s」だのどこでも押したあと
(それこそ"Horizontal"では受け付けてない上キーとかでも)
右方向キーを入力したまま死亡して
シーンをやり直すと
右方向キーを入力が利いてない状態でスタートするんです。
検索して拝見しましたが
非常に勉強になるブログでした。
しかし自分のケースと少し違う気がしますがどうですか?
なぜなら、自分のケースは
確かに二つ目のキー入力をしますが
その後、その二つ目を放して、シーンを移動します。
つまりシーンをまたぐ時はキー入力は1つなんです。
そのブログのケースと違う気がするのですがどうですか?
あと、もひとつ言いますと
ゲットキーの設定関係なく、
二つ目のキーはパソコンのどのボタンでも
押したら発生します。。。
つまり、
Input.GetAxisRaw("Horizontal")
で右方向キーを入力したまま
パソコンの「w」だの「s」だのどこでも押したあと
(それこそ"Horizontal"では受け付けてない上キーとかでも)
右方向キーを入力したまま死亡して
シーンをやり直すと
右方向キーを入力が利いてない状態でスタートするんです。
237名前は開発中のものです。
2020/01/25(土) 00:44:13.23ID:lrP57LvS これはもう熟練者様に確認してもらいたいので
シンプルにしたものをパッケージ化しました。
これで症状を確認していただけませんでしょうか。
https://ux.getuploader.com/zipcodezipcode/download/221
まずは
ゲーム開始して、右キーを押しっぱなしで死んでください。
リスタートしても右キーを押しっぱなしです。
そしたらリスタートしてもプレイヤーは右に進むはずです。
そりゃそうです、右キーを押しているからです。
次に、
右キーを押しっぱなしで死ぬのは一緒ですが
その途中に、パソコンのキーボードをどれかひとつ、押してください。
そっちは押しっぱなしでは無く、一度押すだけです。
この間も右キーの方は押しっぱなしです。
で、そのまま死んでください。
すると、リスタート後、プレイヤーは先ほどとは違い
右に進まないんです。右を押している限り、移動はできません。
右を押しながらジャンプはできますが、右を押している限り、移動はできません。
この症状の原因を知りたいです。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
シンプルにしたものをパッケージ化しました。
これで症状を確認していただけませんでしょうか。
https://ux.getuploader.com/zipcodezipcode/download/221
まずは
ゲーム開始して、右キーを押しっぱなしで死んでください。
リスタートしても右キーを押しっぱなしです。
そしたらリスタートしてもプレイヤーは右に進むはずです。
そりゃそうです、右キーを押しているからです。
次に、
右キーを押しっぱなしで死ぬのは一緒ですが
その途中に、パソコンのキーボードをどれかひとつ、押してください。
そっちは押しっぱなしでは無く、一度押すだけです。
この間も右キーの方は押しっぱなしです。
で、そのまま死んでください。
すると、リスタート後、プレイヤーは先ほどとは違い
右に進まないんです。右を押している限り、移動はできません。
右を押しながらジャンプはできますが、右を押している限り、移動はできません。
この症状の原因を知りたいです。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
238名前は開発中のものです。
2020/01/25(土) 00:47:53.82ID:lrP57LvS ちなみにバージョンは2018.4.11f1です
239名前は開発中のものです。
2020/01/25(土) 09:41:49.47ID:6e7MKbrk とりあえずもっとシンプルにして修正したよ
https://thuploader.orz.hm/miniup/?mode=edit&id=6302
恐らく原因はLoadSceneでしょ、シーンロードするという事はそれまで居たシーンは
リセットされると思う、だから入力が利かなくなるんじゃないかな
とりあえず同シーンリスタートしたら問題なく出来た
それから、コライダーとか整理した方がいいかな同じオブジェクトに二つ付いてたり
場所かぶっていたり、なんか無駄がおおかった
https://thuploader.orz.hm/miniup/?mode=edit&id=6302
恐らく原因はLoadSceneでしょ、シーンロードするという事はそれまで居たシーンは
リセットされると思う、だから入力が利かなくなるんじゃないかな
とりあえず同シーンリスタートしたら問題なく出来た
それから、コライダーとか整理した方がいいかな同じオブジェクトに二つ付いてたり
場所かぶっていたり、なんか無駄がおおかった
240名前は開発中のものです。
2020/01/25(土) 09:43:38.51ID:6e7MKbrk あ、ちなみに制作は
2019.2.17f1で取り込み確認、パッケージ化
2019.2.5f1でも確認
2018年バージョンは当方もうすててたので、未確認
でも特にバージョン違いの事してないから問題ないと思います
2019.2.17f1で取り込み確認、パッケージ化
2019.2.5f1でも確認
2018年バージョンは当方もうすててたので、未確認
でも特にバージョン違いの事してないから問題ないと思います
241名前は開発中のものです。
2020/01/25(土) 09:53:45.45ID:6e7MKbrk >>293
>恐らく原因はLoadSceneでしょ、シーンロードするという事は
すまん、これ原因究明してないから、これが原因かどうか不明なので
ちょい出かけるからまた戻ったらシーン展開でも症状確認してみるわ
>恐らく原因はLoadSceneでしょ、シーンロードするという事は
すまん、これ原因究明してないから、これが原因かどうか不明なので
ちょい出かけるからまた戻ったらシーン展開でも症状確認してみるわ
242名前は開発中のものです。
2020/01/25(土) 10:51:31.73ID:lrP57LvS243名前は開発中のものです。
2020/01/25(土) 11:51:30.29ID:52iKK3mn 優しいスレ
244241
2020/01/25(土) 13:15:17.01ID:AAVfnYWp https://i.gyazo.com/37810d926641f9d4739c15f70e690d53.png
こんな感じでリスタートでLoadSceneしてみたら、症状でましたね
LoadSceneAsyncでも同様なので、やはりシーンロードするとバッファが詰まるのでしょかね
とりあえず途中経過です
なぜLoadSceneでキー2つ目押でなるのかについてはなんか大変そうだな根本原因掴むのは
こんな感じでリスタートでLoadSceneしてみたら、症状でましたね
LoadSceneAsyncでも同様なので、やはりシーンロードするとバッファが詰まるのでしょかね
とりあえず途中経過です
なぜLoadSceneでキー2つ目押でなるのかについてはなんか大変そうだな根本原因掴むのは
245名前は開発中のものです。
2020/01/25(土) 13:30:42.22ID:4hPFEDML >>234 の記事がそのまんま答えじゃない?
この記事によると「シーン遷移時にInputはリセットされる」というのが仕様で
今回の場合「シーン読み込みしてるのに横移動入力が拾えてた」というのがむしろバグらしい
で、ちょっと試してみたけど
Inputを拾うオブジェクトをDontDestroyOnLoadにして破棄しないようにしても
普通にシーン遷移を行うとInputはリセットされてしまうようなので
どうしてもシーン読み直しで、かつInputを継続して拾いたいなら
>>234 の記事にあるようにLoadSceneでLoadSceneMode.Additiveで読み込むしかなさそう。
ただ、もし自分だったら
・シーンの読み込み直しなしでリスタートを実装する
・リスタート時に方向キーから指が離れるような演出にする
・気にしない
のどれかにすると思う
この記事によると「シーン遷移時にInputはリセットされる」というのが仕様で
今回の場合「シーン読み込みしてるのに横移動入力が拾えてた」というのがむしろバグらしい
で、ちょっと試してみたけど
Inputを拾うオブジェクトをDontDestroyOnLoadにして破棄しないようにしても
普通にシーン遷移を行うとInputはリセットされてしまうようなので
どうしてもシーン読み直しで、かつInputを継続して拾いたいなら
>>234 の記事にあるようにLoadSceneでLoadSceneMode.Additiveで読み込むしかなさそう。
ただ、もし自分だったら
・シーンの読み込み直しなしでリスタートを実装する
・リスタート時に方向キーから指が離れるような演出にする
・気にしない
のどれかにすると思う
246名前は開発中のものです。
2020/01/25(土) 14:50:49.41ID:rO5N4tZX シーンごとのリセットは
アクションゲームなら必須に近いし
ゲーム制作に支障が出そうな仕様だなぁ
アクションゲームなら必須に近いし
ゲーム制作に支障が出そうな仕様だなぁ
247名前は開発中のものです。
2020/01/25(土) 20:13:13.83ID:lrP57LvS >>244
>やはりシーンロードするとバッファが詰まるのでしょかね
>>245
>シーンの読み込み直しなしでリスタートを実装する
その様子だとロックマン系のアクションゲームとかでよくある
プレイヤーが一画面分ずつ画面切り替え(切り替わり後、敵が定位置から発生)で
移動する場面などのときに
方向レバーの入力がいちいち途切れて
スムーズなキャラの移動みたいなんができないって
ことですよね?
まだ試してないのでなんとも言えませんが、、、
というかscene遷移って
それこそタイトル画面からゲーム画面にいったりするところでも使いますし
シーン遷移のたびいちいち方向レバーからの入力を途切れさせるって仕様自体
どうなんでしょうか、、、なんかテンポ悪い気がするんですが、、
これだけ痒いところに手がとどくUnityにおいて
GetAxisRawに対してscene遷移時の細かな設定ができないとは、、・
できそうなもんですが、、、
>やはりシーンロードするとバッファが詰まるのでしょかね
>>245
>シーンの読み込み直しなしでリスタートを実装する
その様子だとロックマン系のアクションゲームとかでよくある
プレイヤーが一画面分ずつ画面切り替え(切り替わり後、敵が定位置から発生)で
移動する場面などのときに
方向レバーの入力がいちいち途切れて
スムーズなキャラの移動みたいなんができないって
ことですよね?
まだ試してないのでなんとも言えませんが、、、
というかscene遷移って
それこそタイトル画面からゲーム画面にいったりするところでも使いますし
シーン遷移のたびいちいち方向レバーからの入力を途切れさせるって仕様自体
どうなんでしょうか、、、なんかテンポ悪い気がするんですが、、
これだけ痒いところに手がとどくUnityにおいて
GetAxisRawに対してscene遷移時の細かな設定ができないとは、、・
できそうなもんですが、、、
248名前は開発中のものです。
2020/01/25(土) 20:13:46.52ID:lrP57LvS で、今パッと思いついたのはグローバルな変数に
シーン切替前の瞬間の方向キーの値を確保しておいて
切り替え後の最初だけのその方向キーの値を
入れ込んでやるって感じにしてやれば、、どうでしょう??
とりあえずそういうノリで一度打開できるか試してみます。
シーン切替前の瞬間の方向キーの値を確保しておいて
切り替え後の最初だけのその方向キーの値を
入れ込んでやるって感じにしてやれば、、どうでしょう??
とりあえずそういうノリで一度打開できるか試してみます。
249名前は開発中のものです。
2020/01/25(土) 20:16:17.57ID:lrP57LvS250名前は開発中のものです。
2020/01/25(土) 20:16:32.82ID:AC7xcaw6 /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 ゙iU i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!::::::
iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii::
i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
!ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レ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 ゙iU i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!::::::
iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii::
i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
!ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
251名前は開発中のものです。
2020/01/25(土) 20:45:50.43ID:JCoOqUSR252名前は開発中のものです。
2020/01/25(土) 21:10:01.15ID:7xtf6OfK Input.GetButtonDown
InputGetButtonUp
でいかんの?
InputGetButtonUp
でいかんの?
253名前は開発中のものです。
2020/01/25(土) 22:10:27.57ID:aeB2xTib 3Dの坂道だけど、
normalVector = collision.contacts[0].normal; で取れる値が、
坂メッシュの下から接触する時と、坂メッシュの上から接触する時に違うのはなぜだろう?
下から接触は登れるが、上から接触は"上れない"
normalVector = collision.contacts[0].normal; で取れる値が、
坂メッシュの下から接触する時と、坂メッシュの上から接触する時に違うのはなぜだろう?
下から接触は登れるが、上から接触は"上れない"
254名前は開発中のものです。
2020/01/25(土) 23:07:40.70ID:aeB2xTib 自己解決した。
CollisionEnter 一回では法線の正確な値が取れなかった…
CollisionEnter 一回では法線の正確な値が取れなかった…
255名前は開発中のものです。
2020/01/26(日) 00:40:30.63ID:2uuxF2Qq >>254
イイね!
イイね!
256名前は開発中のものです。
2020/01/26(日) 03:45:46.72ID:wmtOSy96257名前は開発中のものです。
2020/01/26(日) 07:48:04.40ID:Fvh37rHc Unityエディタ上からGameObjectに対してEventTriggerを追加するのではなく、スクリプトからGameObjectに対してOnPointerClickを追加するには、どのようにすればよいのでしょうか?
GameObjectに対して、コライダーを追加して、下記の様にIPointerClickHandlerをインプリメントしたスクリプトを追加しても、OnPointerClick()が呼び出されません。
どの様にすれば良いでしょうか?
class Boo : MonoBehaviour,
IPointerClickHandler,
{
public void OnPointerClick(PointerEventData eventData)
{
}
}
GameObjectに対して、コライダーを追加して、下記の様にIPointerClickHandlerをインプリメントしたスクリプトを追加しても、OnPointerClick()が呼び出されません。
どの様にすれば良いでしょうか?
class Boo : MonoBehaviour,
IPointerClickHandler,
{
public void OnPointerClick(PointerEventData eventData)
{
}
}
258名前は開発中のものです。
2020/01/26(日) 08:17:37.26ID:ckFKG1Im >>257
自分用Unityメモ:EventTriggerにスクリプトからEventを追加する
http://kasatanet.はてなblog.com/entry/2017/11/19/233426
はてな部分はローマ字で
自分用Unityメモ:EventTriggerにスクリプトからEventを追加する
http://kasatanet.はてなblog.com/entry/2017/11/19/233426
はてな部分はローマ字で
259名前は開発中のものです。
2020/01/26(日) 09:40:56.48ID:2uuxF2Qq StaticなクラスからGameObjectを生成しようとしてるんですがGameManager.Instantiateしてるんですが問題ありますか?
そもそもStaticなクラスから生成しようとしてること自体が間違いですかね?
そもそもStaticなクラスから生成しようとしてること自体が間違いですかね?
261名前は開発中のものです。
2020/01/26(日) 10:37:30.20ID:ckFKG1Im >>256
再度修正しました
とりあえず2押に対応しました
ソース整理してないので醜いかもですが
一応、流れとしてはStartシーンをベースにして
sampleシーンをロード、アンロードします
これで入力値はずっと取れるようです
https://thuploader.orz.hm/miniup/?mode=edit&id=6313
再度修正しました
とりあえず2押に対応しました
ソース整理してないので醜いかもですが
一応、流れとしてはStartシーンをベースにして
sampleシーンをロード、アンロードします
これで入力値はずっと取れるようです
https://thuploader.orz.hm/miniup/?mode=edit&id=6313
262名前は開発中のものです。
2020/01/26(日) 11:03:24.82ID:ckFKG1Im >>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自体はなんでもクローン化できるし間違いという概念自体無いのかなと
思いますが・・・
>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名前は開発中のものです。
2020/01/26(日) 15:48:27.71ID:b+yLlRNB アイソメトリックタイルで2Dドット絵のクォータービューのマップタイルを配置して、ドットキャラを落としたところ
タイルより少し浮いた位置に落ち、キャラが倒れてしまいました
タイルには2Dタイルマップコライダー キャラには2Dリジッドボディと2Dカプセルコライダーを設定してます
正確に1タイル上に着地するにはどうすればいいでしょうか
タイルより少し浮いた位置に落ち、キャラが倒れてしまいました
タイルには2Dタイルマップコライダー キャラには2Dリジッドボディと2Dカプセルコライダーを設定してます
正確に1タイル上に着地するにはどうすればいいでしょうか
264名前は開発中のものです。
2020/01/26(日) 16:06:04.79ID:ckFKG1Im 画面ないからなんとも言えんが
とりあえず公式ブログのプロジェクトでも見てみるとかどう
タイルマップの等角 2D 環境
https://blogs.unity3d.com/jp/2019/03/18/isometric-2d-environments-with-tilemap/
とりあえず公式ブログのプロジェクトでも見てみるとかどう
タイルマップの等角 2D 環境
https://blogs.unity3d.com/jp/2019/03/18/isometric-2d-environments-with-tilemap/
265名前は開発中のものです。
2020/01/26(日) 16:41:35.15ID:b+yLlRNB >>262
説明が足りなくてすいません。
Monobehaviourを継承してない(できない)StaticなクラスでInstantiateをしようとしてるんですけどGameManagerクラスはMonobehaviourを継承してるかつどこからでも呼び出せるからGameManager.Instantiate()といった感じでやってるんですよね。
説明が足りなくてすいません。
Monobehaviourを継承してない(できない)StaticなクラスでInstantiateをしようとしてるんですけどGameManagerクラスはMonobehaviourを継承してるかつどこからでも呼び出せるからGameManager.Instantiate()といった感じでやってるんですよね。
267名前は開発中のものです。
2020/01/26(日) 18:36:10.24ID:3Sh7JjJE canvasのtextってもしかして全部再描画してるんですかね?
縦文字スクリプト作ってoutlineつけてフェードイン&フェードアウト作って
ノベルゲームみたいに一文字ずつ出るようにしたら50文字ぐらい読み込むとどんどんと重くなります
もしかしてcanvasって一行一行ずつ作った方がいいんですか?
縦文字スクリプト作ってoutlineつけてフェードイン&フェードアウト作って
ノベルゲームみたいに一文字ずつ出るようにしたら50文字ぐらい読み込むとどんどんと重くなります
もしかしてcanvasって一行一行ずつ作った方がいいんですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 『しんちゃんと岸田さん』 [175344491]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 日本株、大暴落!!! [252835186]
- 【高市デイリー】 久しぶりにヤマザキデイリー行ったら 店内焼き立てパンの値段がバカ高くてワロタ。 晋さん、もう買えないよ…… [485983549]
