[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild3 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
153: 名前は開発中のものです。 [sage] 2020/01/19(日) 01:05:02.78 ID:EOHxfdla >>150 ありがとう、[索敵]⇔[追跡]⇔[攻撃] の超基本が実装出来た。 "無" から作成したおバカな敵AIだけど、フィールドで彼が徘徊している姿を見て、 とてもゲームらしくなった気がした。 また、索敵判定にスフィアコライダーをトリガーで使ってるけど、円じゃなくて扇形で判定出来れば、 後ろから敵に気づかれずに近づくとか出来るけど、複雑じゃなく簡単な扇形判定方法はないんだろうか? あと UniRx が有能過ぎた、もうこれなしで作れる気がしない。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/153
154: 名前は開発中のものです。 [sage] 2020/01/19(日) 02:32:04.52 ID:TBz8d+il >>153 メッシュコライダに扇型を入れる http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/154
155: 名前は開発中のものです。 [] 2020/01/19(日) 05:57:07.08 ID:sNg7suvy タイルパレットを使って、ステージを作ってる時のScene画面なんですが この右下の窓が邪魔なんです。これを消すなり動かすことは出来ないのでしょうか? ただでさえ小さなScene画面なのにこれが心底邪魔でイライラします、、、 https://download1.getuploader.com/g/zipcodezipcode/219/tilemap.png http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/155
156: 名前は開発中のものです。 [sage] 2020/01/19(日) 07:36:19.91 ID:VcE2c620 まずscene画面を大きくすればいいんじゃないか http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/156
157: 名前は開発中のものです。 [sage] 2020/01/19(日) 09:47:15.38 ID:pFV/J70z >>153 扇形はスフィアなりサークルコライダーの中に入ったら、自分と敵の角度を出して判定すればいいんじゃない? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/157
158: 名前は開発中のものです。 [sage] 2020/01/19(日) 11:41:02.55 ID:EOHxfdla >>154 メタセコで扇型のメッシュ作ってメッシュコライダーに設定したら、 やりたかったことが、いとも簡単に実現出来た! ありがとう、最良の解決案だった。 >>157 んー 二つのベクトルの角度の計算とかちょっと直ぐには思いつけなかった。 でもサンキュー http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/158
159: 名前は開発中のものです。 [sage] 2020/01/19(日) 19:47:41.79 ID:EOHxfdla 敵AIの実装はひとまず出来て納得した。 次は爆弾の処理を作ろうと思う。 メタセコで爆弾の3Dモデル作ってプレハブ化したところ。 プレイヤーが爆弾を持って運んで、置いたら(投げたら?)爆発する感じかな。 そして、爆弾を爆破させたら破片を飛ばして、その破片が当たったオブジェクトが 破壊される感じ。 でも、文章で書く処理の想定と、実際のコーデイングに "差" があるとなかなか難しいよね。 爆弾の破片は ”破片用” のプレハブを作成して多数クローン?してリジッドボデイを飛ばそうと思うけど、 そんな感じの処理でいいのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/159
160: 名前は開発中のものです。 [sage] 2020/01/19(日) 20:29:29.66 ID:TBz8d+il それは流石に色々できるから正解は無い。 それでどうぞ。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/160
161: 名前は開発中のものです。 [] 2020/01/19(日) 20:46:35.85 ID:5MKiJb2W >>159 そう言うのに手裏剣使うのもアリ? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/161
162: 名前は開発中のものです。 [sage] 2020/01/19(日) 21:15:28.29 ID:EOHxfdla >>160 サンキュー、絶賛実装中。 >>161 手裏剣ってなんだ? と思ったらパーティクルシステムのことなのね。 今回はパーティクルは使わないつもり、ってか使ったことない。 爆弾がn秒後に爆発して破片オブジェクトを飛ばすとこまで出来た。 プレイヤーが持ったまま爆発したら、キャラの IK がそのままになるので、 爆弾側からの強制パージが必要だった。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/162
163: 155 [] 2020/01/19(日) 21:29:25.22 ID:sNg7suvy え、まさかレスがもらえないとは思えませんでした。 消す方法は無いってことでいいですか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/163
164: 名前は開発中のものです。 [] 2020/01/19(日) 23:06:24.48 ID:7w1DRTId 無いんじゃね まぁアセットだからソースいじればできっかもだけど http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/164
165: 155 [] 2020/01/19(日) 23:16:04.05 ID:sNg7suvy そうですか、自分はノートパソコンでやってるんで scene画面を大きくするという解決方法じゃラチがあかんのです。 うーん、残念です。 皆さんありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/165
166: 名前は開発中のものです。 [sage] 2020/01/20(月) 04:40:22.99 ID:KMQ3boOi 何インチのノート使ってるんだ……?まさかそっちがそもそも小さいとは思わんかったわ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/166
167: 名前は開発中のものです。 [] 2020/01/20(月) 06:26:23.40 ID:3GyQd84/ デュアルディスプレイという選択肢 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/167
168: 155 [] 2020/01/20(月) 10:27:29.13 ID: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の値とは本来何を想定して決めるものなのでしょうか。 お手数かけてもうしわけないのですが 本当に困っていまして、そこら辺のこと教えていただけると助かります。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/168
169: 155 [] 2020/01/20(月) 10:29:30.00 ID:PqKPcOnL >>167 >デュアルディスプレイ それもありですね、、 13インチであまりに支障がある場合は 検討したいと思います。 ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/169
170: 名前は開発中のものです。 [sage] 2020/01/20(月) 10:59:54.15 ID:/eP03yfp 13インチで開発とか苦行すぎるだろw http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/170
171: 155 [] 2020/01/20(月) 11:12:39.22 ID:PqKPcOnL >>170 そんなこと凹むこと言わないで(^^;) http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/171
172: 名前は開発中のものです。 [sage] 2020/01/20(月) 11:14:33.79 ID:3OCzu0qv >>168 Pixel per unitは一般的にはタイルのサイズにする。 スーパーマリオで言うとブロック1個分。 そうすると、座標がキリのいい数字になるのでなにかと便利だから。 そして、ドットが崩れないようにレンダリングしたい場合は、package managerからインストールできる2D Pixel Perfectを使うといいかもしれない。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/172
173: 名前は開発中のものです。 [sage] 2020/01/20(月) 11:33:00.35 ID: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 このように同じ大きさで収まる訳 こんなんで分かるかな? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/173
174: 名前は開発中のものです。 [] 2020/01/20(月) 11:37:29.53 ID:w54rhdgo にじむ場合はFilterModeをPoint(のFilter)に変更するといいよ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/174
175: 155 [] 2020/01/20(月) 12:33:25.92 ID:PqKPcOnL >>172 ありがとうございます、>>173のレスも考慮した上で PPUは「1」だったのを「8」にしました。 妥当でしょうか? 実は2D Pixel Perfectもすでに導入したんですが 使い勝手がまだ微妙で、、、詳しく解説してくれてるページが そんな無くて、、 >>173 ありがとうございます。 めちゃくちゃわかりやすく理解が進んだ感じがしました。 一応理解したまとめを報告しますと 1unit=sceneviewに見えるグリッドの1マス PPU=グリッドの1マスに収まるピクセル数 つまり、各画像に設定するPPUは この画像はそのPPUを想定したサイズにする、ということ。 なので各画像のサイズを任意に決めれる。 ということでよろしいでしょうか? >>174 ありがとうございます。 調べてすでにそうしております。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/175
176: 名前は開発中のものです。 [sage] 2020/01/20(月) 12:35:27.37 ID:vt7bcNpw >>170 個人製作で規模小さけりゃ気にならないです。 個人差ですかね。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/176
177: 155 [] 2020/01/20(月) 12:36:10.56 ID:PqKPcOnL 昨日の質問と違い ありがたいレスをいくつも頂けて、 泣きそうです。 三人様、ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/177
178: 名前は開発中のものです。 [sage] 2020/01/20(月) 12:55:49.34 ID:vt7bcNpw 泣きそうだと?中途半端な奴め、泣け!w http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/178
179: 155 [] 2020/01/20(月) 12:56:15.91 ID:PqKPcOnL すみません、調べてもわからず解決してないことが他にもあって、 どなたかこれ原因わかりませんか?(^^; https://download1.getuploader.com/g/zipcodezipcode/220/maincamera.png これは自分のメインカメラのインスペクタなんですが Sizeの項目、どのブログを拝見しても 「想定する画面サイズの半分の数値(画面の横幅が400なら200)を入れましょう」 って書いているのに、自分はここの数値をいじれないんです。 数値を変えても決定すると元の数字(ここでは画像にある7)に戻るんです。 この項目に矢印をあてて左右のドラッグでも数値は動きません。 なぜですか? 皆さん、当たり前のようにここの数値は任意で決めれるみたいに書いてあるので 非常に困惑しております。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/179
180: 名前は開発中のものです。 [sage] 2020/01/20(月) 13:22:23.52 ID:w54rhdgo >>179 まっさらな新規のプロジェクトでもダメですか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/180
181: 名前は開発中のものです。 [] 2020/01/20(月) 13:29:27.18 ID:w54rhdgo もし180の状態で大丈夫なら、CinemachineBrainが悪さしていると考えられます 当方。2019.2.17f1ですが、まっさらな状態では全く問題なくsize変更できるので そちらの環境問題か、もしかしたらエディターのバージョンによるバグか難しいとこです もしまっさらな状態でも同じ症状なら、エディターのバグも考えられるのでバージョン合わせてこちらでも確認してみますのでバージョン教えてくれると助かります バグと確認できたら、それはもうunityさんに報告するしかないような・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/181
182: 155 [] 2020/01/20(月) 23:15:35.35 ID:PqKPcOnL >>181 レスありがとうございます。 さきほど仕事から帰り確認が遅くなりました。 まさに181さんのご指摘通りでした、、、 「Cinemachine Brain」のチェックを外すと なんと数値が好き放題変更できました。 「悪さしている」とのことですが、、これはどういうことでしょうか Cinemachine Brainはチェックを外したままでいいのでしょうか? それとも、Cinemachine Brainを削除してインストールし直した方がいいとかですか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/182
183: 名前は開発中のものです。 [sage] 2020/01/20(月) 23:23:06.93 ID:FXjCh/jh オート操作にBGMをくっつけて簡単なデモを作ってるのですが毎回毎回微妙に音ズレがしてしまいます フレームを30に固定しても駄目でした、何か重い操作があるとBGMと同期がとれなくなってしまうみたいですが どうにかして同期を取る方法はないでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/183
184: 名前は開発中のものです。 [sage] 2020/01/21(火) 00:42:25.80 ID:xWdssdmX >>183 デモならタイムライン使うのが楽でいいんじゃない? もしくはゲーム時間の進行をaudio sourceのtimeから作るようにすればズレないんじゃないかね http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/184
185: 名前は開発中のものです。 [sage] 2020/01/21(火) 10:33:07.11 ID:4lKB/S8y >>182 アセット関連なんで作者に聴くのがいいと思うけど https://blogs.unity3d.com/jp/2018/07/17/cinemachine-for-2d-tips-and-tricks/ とりあえずカメラはViutualCameraの設定を変えるんじゃないかな? 何が原因か突き止めるには、プロジェクトを単純化するに限るので まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるかですね http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/185
186: 155 [] 2020/01/21(火) 12:35:35.08 ID:MXzB69W0 >>185 >まっさらなプロジェクトにCinemachineBrainだけ入れてみてどうなるか これを試してみようと思います。 なんにせよ原因を当ててくださったので非常jに助かりました。 ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/186
187: 名前は開発中のものです。 [sage] 2020/01/21(火) 16:25:37.81 ID:q2cUKp57 クォータービューのマップを作ろうと 自分で打ったドットタイル32×32(png)をタイルパレット(isometric)にDDしても表示されないのですが何故ですか? assetsには表示されてます http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/187
188: 名前は開発中のものです。 [sage] 2020/01/21(火) 16:33:51.87 ID:q2cUKp57 すいません解決しました http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/188
189: 名前は開発中のものです。 [sage] 2020/01/21(火) 18:04:38.26 ID:yyMJ8NI+ mac版バージョン2018.4.11f1 unityにautosave機能を追加したいんだけど 有志配布のものはすべて2018には対応せず… 良いのない? 二時間頑張ったのがパー、もう嫌だorz http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/189
190: 名前は開発中のものです。 [sage] 2020/01/21(火) 18:15:08.15 ID:yyMJ8NI+ あった 解決しました http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/190
191: 名前は開発中のものです。 [sage] 2020/01/22(水) 11:09:38.22 ID: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/ .// || / /' 爪 弾 く は 荒 ぶ る 調 べ ! キ ュ ア メ ロ デ ィ ! スイートプリキュア♪の北条響 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/191
192: 名前は開発中のものです。 [sage] 2020/01/22(水) 11:41:29.44 ID:fkmqYQ67 htmlが流行っていた時期、タグのコピペとちょっとした改変でホームページを作ってました unityド素人でもそんな感じでゲーム作れます?本に書いてある通りの丸コピーではなく コンセプトはスクリプトを書かないゲーム作りです! http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/192
193: 名前は開発中のものです。 [sage] 2020/01/22(水) 12:04:57.58 ID:Gjke/PAp 無理 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/193
194: 名前は開発中のものです。 [] 2020/01/22(水) 16:38:52.09 ID:jAdrPsCn 2020でブループリントみたいなやつ入ってくるんじゃなかったっけ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/194
195: 名前は開発中のものです。 [sage] 2020/01/22(水) 20:26:41.16 ID:FnFWF1+H ブループリントはほぼスクリプトなんだわ… 関数がノードにパッケージングされてるだけでやってる事は変わらん http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/195
196: 名前は開発中のものです。 [sage] 2020/01/22(水) 22:53:26.09 ID:r+2nxT98 UniRx 使い始めたら、Awake()、Start() の中に処理が集中するんだけど、 そもそもゲーム開発ではメソッド毎のテストなんての書かない感じ? てか Unity 開発では ユニットテストとかのテストFWはない? Visual Studio のクラスビューでメソッドが Awake()、Start() しかない スクリプトが増えてきて不安になる… http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/196
197: 名前は開発中のものです。 [] 2020/01/22(水) 23:20:39.00 ID:6KrHfY+K Test Runner??と呼ばれる機能がUnityにはあります ぐぐっただけなので内容までは知らん http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/197
198: 名前は開発中のものです。 [sage] 2020/01/22(水) 23:41:51.51 ID:9P6fyKWd UniRxって何が良いの? jQueryみたいなもんでGCが致命的になるゲーム開発だと地雷でしかないと勝手に思ってるけど http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/198
199: 名前は開発中のものです。 [sage] 2020/01/23(木) 00:09:52.21 ID:BeWKcfCr >>197 ありがとう、自分でも探してみたけど、Unity Test Runner が 公式にあるみたいなんで試してみる。 >>198 むしろ自分が初心者だからこそ UniRx が凄く便利だと感じる。 例えば、Transform の位置情報を加減することと、 Rigidbody に力を加える動きを書こうすると、 それぞれ、Update() と FixedUpdate() に分散して書くと思けど、 UniRx なら Start() の中に両方書けるので分かりやすい。 また、普通にプレイヤーコントローラのスクリプトとか書いたら、 Update() と FixedUpdate() の中身が "if 分岐” だらけになると推測するけど、 UniRx なら、コードから "if 分岐” がなくなりスッキリ分かりやすくなった。 でも確かにGCパフォーマンスは心配。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/199
200: 名前は開発中のものです。 [sage] 2020/01/23(木) 00:35:20.23 ID:BeWKcfCr あと UniRx だと、何秒後に とか、何フレ後に とか、何回とか、ゲームに必要な処理が簡単に書ける。 おそらく、まったくのプログラム初心者は UniRx から始めた方が良いとさえ思える。 自分は既に書いてしまった膨大なコードを UniRx を使用するコードにリファクタしつつあるけど、辛い… 誰か最初に教えといてくれよと思った。 まあ Unity初心者の個人的な感想だけどね。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/200
201: 名前は開発中のものです。 [sage] 2020/01/23(木) 01:04:15.17 ID:k7QW6u8C >>199 UniRxのTriggersをメインで使ってるってことね http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/201
202: 名前は開発中のものです。 [safe] 2020/01/23(木) 06:19:45.63 ID:xz19b8uw こんな早朝に人いるかな? Rigidbody2D.AddForceを使ってジャンプさせているんだけど rigidbody2D.AddForce(Vector2.up * 数値);って感じで。 しかしこれではジャンプ力(高さ?頂点?)を決めてやれるだけで ジャンプそのもののスピードはいじれない。 ぽい〜んってジャンプじゃなくて ヒュンッとしたジャンプをさせたいんですが良い方法あります? C++時代なら毎フレームに加える数値を増やせばよかっただけなんですよねえ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/202
203: 名前は開発中のものです。 [sage] 2020/01/23(木) 08:02:49.45 ID:BeWKcfCr >>202 C++時代みたいが良ければ Update() で Transform に毎フレームに加える数値を増やせば出来るよ。 AddForce は http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/203
204: 名前は開発中のものです。 [] 2020/01/23(木) 08:04:53.53 ID:BeWKcfCr AddForce では加える力を決めれるだけで、それで高さ?頂点?を決めれるわけじゃない。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/204
205: 名前は開発中のものです。 [sage] 2020/01/23(木) 08:32:54.21 ID:BeWKcfCr あと多分 質問の状況からすると rigidbody.velocity += Vector3.up + 調整値 で、 FixedUpdate() で、物理フレーム毎に調整値をいじる方が望みの動作を得られる気がする。 でも、それが物理挙動かと言われれば違う気がするし、それなら素直に Transform の数値増減でいいじゃんとも思う。 この辺りどうなんだろうね? rigidbody.AddForce だけでまともなゲームのジャンプになるの? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/205
206: 名前は開発中のものです。 [sage] 2020/01/23(木) 08:43:29.52 ID:sYrsRPW1 ジャンプの仕方が目標みたいだから、rigidbodyを極めてもよし、transformでコントロールしてもよし。 好きな方で。 addforceなら、velocityに、加えてgravity値をコントロールするとか試行錯誤だね。がんばれ。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/206
207: 名前は開発中のものです。 [sage] 2020/01/23(木) 09:05:35.69 ID:o31+m3nu キャラクターとかはキネマティックにして物理エンジンに任せずに自分で動かした方が思った通りの動きになるんだよね http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/207
208: 名前は開発中のものです。 [sage] 2020/01/23(木) 10:00:04.83 ID:KLj1RF1a 物理計算サイトが検算するのに捗る 自分でスプレッドシートつくる方が身につくけど http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/208
209: 名前は開発中のものです。 [sage] 2020/01/23(木) 13:04:24.91 ID:rlCEa5FQ >>202 単純にジャンプの速度を上げたいってだけなら、重力を大きくするか、 特定のキャラクターだけそうしたいならRigidbodyのGravityScaleを大きくするとかかな。ただしこれだと落下速度も速くなっちゃうけど。 一時的に物理計算を無視して完全に制御したいなら、transformよりも Rigidbody.MovePositionを使って動かす方がいいかも。 これなら周りのオブジェクトに物理的な影響を与えながら移動できるし、 fixedupdate内で書くことになるので 「普段は物理無視したいけど爆風に巻き込まれた時は物理に従う」 みたいな実装が楽だよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/209
210: 名前は開発中のものです。 [sage] 2020/01/23(木) 17:48:04.91 ID:9HsMMURI おっぱいも物理エンジンよりも手で揺らした方がイキイキしている気がする http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/210
211: 名前は開発中のものです。 [sage] 2020/01/23(木) 17:51:59.32 ID:sYrsRPW1 それは物理エンジンが…あ、いやなんでもない。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/211
212: 名前は開発中のものです。 [sage] 2020/01/23(木) 20:32:46.84 ID:o/nrz+aB AnimationControler みたくステートマシーンをグラフィカルに編集できるアセットってないっすかね? AnimationControler と StateMachineBehaviour がありゃステートマシンでやるようなこと何でもできるじゃないのって思ってたけど、 Time.timeScale=0 したら setTrigger しても状態遷移しないし、 やっぱりステートマシンのすべてを AnimationControler に任せるのは無理があるのかなとか思って。 なければ State パターン でハードコーディングすべきなのかなやっぱり。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/212
213: 名前は開発中のものです。 [sage] 2020/01/23(木) 20:40:25.80 ID:o31+m3nu >>212 animator.updateMode = AnimatorUpdateMode.UnscaledTime; http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/213
214: 名前は開発中のものです。 [sage] 2020/01/23(木) 21:43:00.61 ID:o/nrz+aB >>213 うお、そんなオプションが…。解決しました。感謝です。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/214
215: 名前は開発中のものです。 [sage] 2020/01/24(金) 04:03:03.22 ID:+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")を書いただけじゃ 取得しなおしてくれないんですよね、、、、 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/215
216: 名前は開発中のものです。 [] 2020/01/24(金) 07:02:28.39 ID:9g9ZzaxQ バグっぽいと言うのはどこの情報ですか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/216
217: 名前は開発中のものです。 [sage] 2020/01/24(金) 07:54:41.99 ID:1mzH9O5r >>215 普通に考えてリスタートの処理の仕方に問題があるかと。 ゲームオーバーで最初に戻るにしても、インプット関数としては、ゲームオーバーしようがしまいが関係ない。なら、リスタートまでに何か影響のある処理を入れてしまっている事が考えられる。 例えば、start()に取得し直しとか書いてるけど、startをまた呼び出してるの?すまん、私はそんな表記はした事ないから異常に見えました。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/217
218: 名前は開発中のものです。 [sage] 2020/01/24(金) 12:14:44.83 ID:JiuRt8jn プレイヤーオブジェクトをDestroyしてる説 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/218
219: 名前は開発中のものです。 [sage] 2020/01/24(金) 16:44:42.21 ID:YxoFqWNA おこなの? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/219
220: 名前は開発中のものです。 [sage] 2020/01/24(金) 21:18:19.49 ID:lHO70wOG 質問です 編集ソフト間ではテクスチャやマテリアルをFBXに同梱するのは珍しくありませんが、Unity上ではあまり見かけません 単にUnityではFBX内のデータを編集できないから邪魔という理由かなと思っていますが、他にも理由があるのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/220
221: 名前は開発中のものです。 [sage] 2020/01/24(金) 21:48:57.86 ID:+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")は仕事をしてくれなくなる 状況です。 (で、一度入力を放すと正常になる) http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/221
222: 名前は開発中のものです。 [sage] 2020/01/24(金) 21:50:33.57 ID:+Fsi074W ちなみにプレイヤーが死んだ時、プレイヤー作成時に Input.GetKeyとInput.GetAxisRaw を記載したりはしておりません。 そもそもInput.GetAxisRaw("Horizontal")の入力を阻止することなんて こちらがどうこうできるものでは無いはずなんです で、例えば int x = Input.GetAxisRaw("Horizontal")としてやって、 xに入る値の動きをデバッグして見ていますが 死ぬ前は右が押されている間「1」が入り続けるんですが 死んだあとDestroyされ右キー押し続けている状態でも「0」が入ってきます で、そのあとリスタートするわけですが 死ぬ前から押し続けていた右キー押してる間はずっと0のままなんですよ これはおかしいと思いませんか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/222
223: 名前は開発中のものです。 [] 2020/01/24(金) 22:41:41.98 ID:9g9ZzaxQ いやそのスクリプトがデストロイしてるオブジェクトについてたらダメじゃね って話しじゃないか http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/223
224: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:07:02.42 ID:rtAyfksW リスタートを実装しているなら、わざわざDestroyしなくてもいいんでは?と思うけど 仮にUnityの不具合で instaniateされたゲームオブジェクトが継続中のHorizontalを受け付けないのだとしても、Destroyせず最初のプレイヤーのゲームオブジェクトを使い回せばいいんでは http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/224
225: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:07:28.97 ID:+Fsi074W >>223 おっしゃりたいことはわかります。 もしそういう仕様(デストロイしたオブジェクトに書いてた場合は一度放さないと機能しない)、 なら ジャンプをせずに(Input.GetKeyを使わずに) 死んでリスタートした場合は 押しっぱなしのInput.GetAxisRaw("Horizontal")が 開始後そのまま機能してるのがおかしいと思いませんか? 要はジャンプしてから死んでリスタートした場合だけ機能しないんです。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/225
226: 名前は開発中のものです。 [] 2020/01/24(金) 23:18:30.20 ID:9g9ZzaxQ >>225 リスタートすると言うことは新たなオブジェクトだよね 新しいスクリプトなんだから動いて当然だと思うけど なんなら明日簡単なサンプル作って検証してみようかね http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/226
227: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:18:50.47 ID:+Fsi074W >>224さんのレスも考慮させて頂いて 一度デストロイ方式を辞めてみましたが やはり同じ症状でした。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/227
228: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:24:37.56 ID:7QzIJzpr >>225 リスタートってどんな処理してるの? シーンの読み込み直し? まったく関係ないゲームオブジェクトのUpdateで監視しててもそうなるの? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/228
229: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:27:42.92 ID:+Fsi074W むむ、これは、、本当にバグなのかもしれません。 今、限りなくソースをそぎ落としていってるんですが それでもその症状が出ます。 ほんと、プレイヤーのスクリプトでやってることは x = Input.GetAxisRaw("Horizontal"); if(x==0){ //止まる処理 } else if(x>0){ //右へ移動処理 } else if(x<0){ //左へ移動処理 } if(Input.GetKeyDown("space") ){ ジャンプ処理 } だけなんです。 リスタート後、xにすでに値が入らなくなるので 自分の移動処理やその他のスクリプトは関係無いはずです。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/229
230: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:30:48.57 ID:+Fsi074W >>228 シーンの読み込み直しです。 void RestarScene(){ Scene thisScene = SceneManager.GetActiveScene(); SceneManager.LoadScene(thisScene.name); } http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/230
231: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:37:49.39 ID:+Fsi074W これは、、、、今 大変なことが発覚しました。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/231
232: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:39:22.19 ID:YxoFqWNA >>221 1. 方向キー(←押しっ放し) 2. スペース 3. スタート これで最初の方向キーの入力が消えるってことなら、 安物のキーボードはそこまでの同時入力に対応していないからなとしか Unityの問題でなくパソコンの仕様だよ http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/232
233: 名前は開発中のものです。 [sage] 2020/01/24(金) 23:40:43.33 ID:+Fsi074W このバグの発動条件が 左右キーを押しっぱなし中に「ジャンプした」あと死亡したらと思っていたんですが 違いました。 なんと、左右キーを押しっぱなし中に 「キーボードの他のボタン(どれでも)を押した」あと 死亡したらでした!!! なんと、ゲームで使ってないキーを押しても、この症状が出ます!!! これはどういうことでしょうか??????????? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/233
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 769 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s