2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【ゲームエンジン】Unity初心者質問スレBuild3

1 :名前は開発中のものです。:2020/01/11(土) 14:28:59.18 ID:wPvGtAaQ.net
ゲームエンジン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/

203 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/23(Thu) 08:32:54 ID:BeWKcfCr.net
あと多分 質問の状況からすると rigidbody.velocity += Vector3.up + 調整値 で、
FixedUpdate() で、物理フレーム毎に調整値をいじる方が望みの動作を得られる気がする。

でも、それが物理挙動かと言われれば違う気がするし、それなら素直に Transform の数値増減でいいじゃんとも思う。
この辺りどうなんだろうね?

rigidbody.AddForce だけでまともなゲームのジャンプになるの?

206 :名前は開発中のものです。:2020/01/23(Thu) 08:43:29 ID:sYrsRPW1.net
ジャンプの仕方が目標みたいだから、rigidbodyを極めてもよし、transformでコントロールしてもよし。
好きな方で。
addforceなら、velocityに、加えてgravity値をコントロールするとか試行錯誤だね。がんばれ。

207 :名前は開発中のものです。:2020/01/23(木) 09:05:35.69 ID:o31+m3nu.net
キャラクターとかはキネマティックにして物理エンジンに任せずに自分で動かした方が思った通りの動きになるんだよね

208 :名前は開発中のものです。:2020/01/23(木) 10:00:04.83 ID:KLj1RF1a.net
物理計算サイトが検算するのに捗る

自分でスプレッドシートつくる方が身につくけど

209 :名前は開発中のものです。:2020/01/23(木) 13:04:24.91 ID:rlCEa5FQ.net
>>202
単純にジャンプの速度を上げたいってだけなら、重力を大きくするか、
特定のキャラクターだけそうしたいならRigidbodyのGravityScaleを大きくするとかかな。ただしこれだと落下速度も速くなっちゃうけど。

一時的に物理計算を無視して完全に制御したいなら、transformよりも
Rigidbody.MovePositionを使って動かす方がいいかも。
これなら周りのオブジェクトに物理的な影響を与えながら移動できるし、
fixedupdate内で書くことになるので
「普段は物理無視したいけど爆風に巻き込まれた時は物理に従う」
みたいな実装が楽だよ。

210 :名前は開発中のものです。:2020/01/23(木) 17:48:04.91 ID:9HsMMURI.net
おっぱいも物理エンジンよりも手で揺らした方がイキイキしている気がする

211 :名前は開発中のものです。:2020/01/23(木) 17:51:59.32 ID:sYrsRPW1.net
それは物理エンジンが…あ、いやなんでもない。

212 :名前は開発中のものです。:2020/01/23(木) 20:32:46.84 ID:o/nrz+aB.net
AnimationControler みたくステートマシーンをグラフィカルに編集できるアセットってないっすかね?
AnimationControler と StateMachineBehaviour がありゃステートマシンでやるようなこと何でもできるじゃないのって思ってたけど、
Time.timeScale=0 したら setTrigger しても状態遷移しないし、
やっぱりステートマシンのすべてを AnimationControler に任せるのは無理があるのかなとか思って。
なければ State パターン でハードコーディングすべきなのかなやっぱり。

213 :名前は開発中のものです。:2020/01/23(木) 20:40:25.80 ID:o31+m3nu.net
>>212
animator.updateMode = AnimatorUpdateMode.UnscaledTime;

214 :名前は開発中のものです。:2020/01/23(木) 21:43:00.61 ID:o/nrz+aB.net
>>213 うお、そんなオプションが…。解決しました。感謝です。

215 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/24(金) 07:54:41 ID:1mzH9O5r.net
>>215
普通に考えてリスタートの処理の仕方に問題があるかと。
ゲームオーバーで最初に戻るにしても、インプット関数としては、ゲームオーバーしようがしまいが関係ない。なら、リスタートまでに何か影響のある処理を入れてしまっている事が考えられる。
例えば、start()に取得し直しとか書いてるけど、startをまた呼び出してるの?すまん、私はそんな表記はした事ないから異常に見えました。

218 :名前は開発中のものです。:2020/01/24(金) 12:14:44.83 ID:JiuRt8jn.net
プレイヤーオブジェクトをDestroyしてる説

219 :名前は開発中のものです。:2020/01/24(金) 16:44:42.21 ID:YxoFqWNA.net
おこなの?

220 :名前は開発中のものです。:2020/01/24(金) 21:18:19.49 ID:lHO70wOG.net
質問です
編集ソフト間ではテクスチャやマテリアルをFBXに同梱するのは珍しくありませんが、Unity上ではあまり見かけません
単にUnityではFBX内のデータを編集できないから邪魔という理由かなと思っていますが、他にも理由があるのでしょうか?

221 :名前は開発中のものです。: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 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/24(金) 23:07:02.42 ID:rtAyfksW.net
リスタートを実装しているなら、わざわざDestroyしなくてもいいんでは?と思うけど

仮にUnityの不具合で
instaniateされたゲームオブジェクトが継続中のHorizontalを受け付けないのだとしても、Destroyせず最初のプレイヤーのゲームオブジェクトを使い回せばいいんでは

225 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/24(金) 23:18:50.47 ID:+Fsi074W.net
>>224さんのレスも考慮させて頂いて
一度デストロイ方式を辞めてみましたが
やはり同じ症状でした。

228 :名前は開発中のものです。:2020/01/24(金) 23:24:37.56 ID:7QzIJzpr.net
>>225
リスタートってどんな処理してるの?
シーンの読み込み直し?
まったく関係ないゲームオブジェクトのUpdateで監視しててもそうなるの?

229 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/24(金) 23:30:48.57 ID:+Fsi074W.net
>>228
シーンの読み込み直しです。
void RestarScene(){
Scene thisScene = SceneManager.GetActiveScene();
SceneManager.LoadScene(thisScene.name);
}

231 :名前は開発中のものです。:2020/01/24(金) 23:37:49.39 ID:+Fsi074W.net
これは、、、、今
大変なことが発覚しました。。。

232 :名前は開発中のものです。:2020/01/24(金) 23:39:22.19 ID:YxoFqWNA.net
>>221
1. 方向キー(←押しっ放し)
2. スペース
3. スタート
これで最初の方向キーの入力が消えるってことなら、
安物のキーボードはそこまでの同時入力に対応していないからなとしか
Unityの問題でなくパソコンの仕様だよ

233 :名前は開発中のものです。:2020/01/24(金) 23:40:43.33 ID:+Fsi074W.net
このバグの発動条件が
左右キーを押しっぱなし中に「ジャンプした」あと死亡したらと思っていたんですが
違いました。

なんと、左右キーを押しっぱなし中に
「キーボードの他のボタン(どれでも)を押した」あと
死亡したらでした!!!

なんと、ゲームで使ってないキーを押しても、この症状が出ます!!!
これはどういうことでしょうか???????????

234 :名前は開発中のものです。:2020/01/24(金) 23:42:33.68 ID:rtAyfksW.net
シーンを移動するとInputがリセットされる件

で検索

url貼ろうとするとNG食らうので

235 :名前は開発中のものです。:2020/01/24(金) 23:45:43.21 ID:+Fsi074W.net
>>232
>これで最初の方向キーの入力が消えるってことなら

いや、私の説明を誤解してます。

2. スペース
の後も「1. 方向キー(←押しっ放し)」は生きてます。
そのままその方向に歩いていくし、放せば止まります。
ただ、1.を押しっぱなしのままで歩いて敵に当たったりして死亡したあと
再スタート後に利かなく(Input.GetAxisRawが左右を認識しない)なってるんです。
押しっぱなしのままなら、です。

説明が難しい。。。

236 :名前は開発中のものです。:2020/01/24(金) 23:55:45 ID:+Fsi074W.net
>>234
検索して拝見しましたが
非常に勉強になるブログでした。

しかし自分のケースと少し違う気がしますがどうですか?

なぜなら、自分のケースは
確かに二つ目のキー入力をしますが
その後、その二つ目を放して、シーンを移動します。
つまりシーンをまたぐ時はキー入力は1つなんです。
そのブログのケースと違う気がするのですがどうですか?

あと、もひとつ言いますと
ゲットキーの設定関係なく、
二つ目のキーはパソコンのどのボタンでも
押したら発生します。。。

つまり、
Input.GetAxisRaw("Horizontal")
で右方向キーを入力したまま
パソコンの「w」だの「s」だのどこでも押したあと
(それこそ"Horizontal"では受け付けてない上キーとかでも)
右方向キーを入力したまま死亡して
シーンをやり直すと

右方向キーを入力が利いてない状態でスタートするんです。

237 :名前は開発中のものです。:2020/01/25(土) 00:44:13.23 ID:lrP57LvS.net
これはもう熟練者様に確認してもらいたいので
シンプルにしたものをパッケージ化しました。
これで症状を確認していただけませんでしょうか。
https://ux.getuploader.com/zipcodezipcode/download/221

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

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

この症状の原因を知りたいです。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


238 :名前は開発中のものです。:2020/01/25(土) 00:47:53.82 ID:lrP57LvS.net
ちなみにバージョンは2018.4.11f1です

239 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/25(土) 10:51:31.73 ID:lrP57LvS.net
>>239
ありがとうございます
修正感謝します
確認してみます!

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

はい!もちろん修正されたものを見て自分でも原因を考えてみますが
ぜひとも宜しくお願いします。

243 :名前は開発中のものです。:2020/01/25(土) 11:51:30.29 ID:52iKK3mn.net
優しいスレ

244 :241:2020/01/25(土) 13:15:17.01 ID:AAVfnYWp.net
https://i.gyazo.com/37810d926641f9d4739c15f70e690d53.png

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

とりあえず途中経過です
なぜLoadSceneでキー2つ目押でなるのかについてはなんか大変そうだな根本原因掴むのは

245 :名前は開発中のものです。:2020/01/25(土) 13:30:42.22 ID:4hPFEDML.net
>>234 の記事がそのまんま答えじゃない?
この記事によると「シーン遷移時にInputはリセットされる」というのが仕様で
今回の場合「シーン読み込みしてるのに横移動入力が拾えてた」というのがむしろバグらしい

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

ただ、もし自分だったら
・シーンの読み込み直しなしでリスタートを実装する
・リスタート時に方向キーから指が離れるような演出にする
・気にしない
のどれかにすると思う

246 :名前は開発中のものです。:2020/01/25(土) 14:50:49.41 ID:rO5N4tZX.net
シーンごとのリセットは
アクションゲームなら必須に近いし
ゲーム制作に支障が出そうな仕様だなぁ

247 :名前は開発中のものです。:2020/01/25(土) 20:13:13 ID:lrP57LvS.net
>>244
>やはりシーンロードするとバッファが詰まるのでしょかね
>>245
>シーンの読み込み直しなしでリスタートを実装する

その様子だとロックマン系のアクションゲームとかでよくある
プレイヤーが一画面分ずつ画面切り替え(切り替わり後、敵が定位置から発生)で
移動する場面などのときに
方向レバーの入力がいちいち途切れて
スムーズなキャラの移動みたいなんができないって
ことですよね?
まだ試してないのでなんとも言えませんが、、、
というかscene遷移って
それこそタイトル画面からゲーム画面にいったりするところでも使いますし
シーン遷移のたびいちいち方向レバーからの入力を途切れさせるって仕様自体
どうなんでしょうか、、、なんかテンポ悪い気がするんですが、、
これだけ痒いところに手がとどくUnityにおいて
GetAxisRawに対してscene遷移時の細かな設定ができないとは、、・
できそうなもんですが、、、

248 :名前は開発中のものです。:2020/01/25(土) 20:13:46 ID:lrP57LvS.net
で、今パッと思いついたのはグローバルな変数に
シーン切替前の瞬間の方向キーの値を確保しておいて
切り替え後の最初だけのその方向キーの値を
入れ込んでやるって感じにしてやれば、、どうでしょう??

とりあえずそういうノリで一度打開できるか試してみます。

249 :名前は開発中のものです。:2020/01/25(土) 20:16:17 ID:lrP57LvS.net
>>241さん、修正パッケージありがとうございます
原因究明はともかく修正したソースを見せていただき
なるほどーって感じでこちらは大変勉強になりました。

250 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/25(土) 20:45:50 ID:JCoOqUSR.net
>>247
お前が言ってるロックマンのパターンでは
シーンをわけんなってことだよ

252 :名前は開発中のものです。:2020/01/25(土) 21:10:01 ID:7xtf6OfK.net
Input.GetButtonDown
InputGetButtonUp
でいかんの?

253 :名前は開発中のものです。:2020/01/25(土) 22:10:27 ID:aeB2xTib.net
3Dの坂道だけど、

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

下から接触は登れるが、上から接触は"上れない"

254 :名前は開発中のものです。:2020/01/25(土) 23:07:40.70 ID:aeB2xTib.net
自己解決した。

CollisionEnter 一回では法線の正確な値が取れなかった…

255 :名前は開発中のものです。:2020/01/26(日) 00:40:30.63 ID:2uuxF2Qq.net
>>254
イイね!

256 :名前は開発中のものです。: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を追加する
http://kasatanet.はてなblog.com/entry/2017/11/19/233426

はてな部分はローマ字で

259 :名前は開発中のものです。:2020/01/26(日) 09:40:56.48 ID:2uuxF2Qq.net
>>256
うん、もちっとがんばってね。

あと、down upは、そのままじゃだめだよ。押されたら保管、その値を参照して処理。

260 ::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 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/26(日) 16:41:35.15 ID:b+yLlRNB.net
>>264
ありがとうございます、キャラが倒れるのは回転を固定にチェックを入れていなかったからでした
こちらの動画が参考になりました、頑張ってみます

266 :◆uBR9Xpjlnk :2020/01/26(日) 16:57:41 ID:DH9o2bCr.net
>>262
説明が足りなくてすいません。
Monobehaviourを継承してない(できない)StaticなクラスでInstantiateをしようとしてるんですけどGameManagerクラスはMonobehaviourを継承してるかつどこからでも呼び出せるからGameManager.Instantiate()といった感じでやってるんですよね。

267 :名前は開発中のものです。:2020/01/26(日) 18:36:10.24 ID:3Sh7JjJE.net
canvasのtextってもしかして全部再描画してるんですかね?
縦文字スクリプト作ってoutlineつけてフェードイン&フェードアウト作って
ノベルゲームみたいに一文字ずつ出るようにしたら50文字ぐらい読み込むとどんどんと重くなります
もしかしてcanvasって一行一行ずつ作った方がいいんですか?

268 :名前は開発中のものです。:2020/01/26(日) 18:52:40 ID:2uuxF2Qq.net
文字だけじゃなんとも。

269 :名前は開発中のものです。: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 :名前は開発中のものです。:2020/01/27(月) 10:23:02 ID:yuGD/LWP.net
downが呼ばれてtouchが0ならマウスじゃないの?

275 ::2020/01/28(火) 07:35:36.44 ID:JSvWE+67.net
SceneとGameでフォントがおかしいのってどうやって直すんですか?
https://i.imgur.com/3NBA503.jpg

276 :名前は開発中のものです。:2020/01/28(火) 08:03:11.76 ID:i1aGfgqT.net
すみません、例えばこんな感じでそのオブジェクトが消滅直前にSEを鳴らそうと
audioSource.PlayOneShot(deadSE);
Destroy(this.gameObject);
してもSEが鳴らずにオブジェクトが消滅してしまいます。
あとでサウンドオブジェクトはシングルトンで作るつもりでいるのですが
今は自分のオブジェクトが鳴らすSEは自分にアセットしたスクリプトにて処理させようと思ったんですが
もしかしてDestroy()直前に命令したら鳴らずに消滅するのでしょうか?
イメージでは鳴って消滅する感じだったんですが。

277 :名前は開発中のものです。:2020/01/28(火) 08:05:47.09 ID:i1aGfgqT.net
ちなみに、Destroy()の直前じゃないところに記載した場合はそのSEが鳴ります。
呼び出したあとにオブジェクトが消滅するんだから音は鳴るだろって思ってるんですが

278 :名前は開発中のものです。:2020/01/28(火) 08:26:52.16 ID:UXt784Vm.net
Destroyでスピーカーごと消してるから鳴るもんも鳴らなくなる

279 :名前は開発中のものです。: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

お願いします!

282 ::2020/01/28(火) 09:08:41.23 ID:JSvWE+67.net
あっできたかも

283 ::2020/01/28(火) 09:09:59.69 ID:JSvWE+67.net
やっぱり滲んでます、、、

284 ::2020/01/28(火) 09:43:34.78 ID:JSvWE+67.net
>>280
https://6.gigafile.nu/0204-hb8ac2ae46b3c1749f43bf353adeea0ce
すいませんこっちで見てください!

285 :名前は開発中のものです。:2020/01/28(火) 10:21:47.11 ID:FwIKyioN.net
>>284
出来れば、そのフォントの部分だけにしてもらえるといいかと
あとサブセット化すると小さくなるのでそれもいいかと・・・
確認とか検証する場合、最小限のコードにしないと原因掴むのは難しくなりますよ

286 :名前は開発中のものです。:2020/01/28(火) 10:53:45.93 ID:FwIKyioN.net
>>284
https://i.gyazo.com/48f4d82e173aa7df22fdc689d56dee42.png
https://i.gyazo.com/ee2b670fd7c72b5abaed2bf243863a17.png

とりあえずScaleは1にしましょ

287 ::2020/01/28(火) 18:12:03.44 ID:JSvWE+67.net
>>286
とりあえずフォントを変更してscaleを1にしたらきれいになりました!
ありがとうございます!

288 :名前は開発中のものです。:2020/01/28(火) 21:07:47.91 ID:LfI/H2gH.net
webGLの時にマウスで視点変更してるんだけど
どうしてもゲーム画面外にマウスが出ると視点が動かなくなっちゃうんだけど何かいい方法ない?

289 :名前は開発中のものです。:2020/01/28(火) 21:26:32.99 ID:FwIKyioN.net
unity マウス 出さない

でググるってのはどう?

290 :名前は開発中のものです。:2020/01/28(火) 22:12:19.08 ID:3bWxKlj2.net
>>286
これ便乗していいですか?
縦型FHDのゲームを作ってる時にスケールを1にして実行すると真ん中辺りしか映らないのですが、画面をスクロールなりして動かす方法はあるんでしょうか?

291 :名前は開発中のものです。:2020/01/28(火) 23:01:09.31 ID:1nXwNdFK.net
もっと下がれw

292 :名前は開発中のものです。:2020/01/28(火) 23:02:07.16 ID:FwIKyioN.net
unity 画面 スクロール

で検索

293 :名前は開発中のものです。:2020/01/28(火) 23:12:05.94 ID:LfI/H2gH.net
>>289
やっぱりマウスロックかけないとダメなんだね
ありがとう、助かったわ

294 :名前は開発中のものです。:2020/01/29(水) 00:17:31.97 ID:5KFz+d9P.net
>>291
2Dの縦型スマホゲームなのですが、カメラを引くという事でしょうか?

>>292
スクロール機能を実装したいわけでなく、unityの再生ボタンでゲームを実行した時に等倍で画像などが乱れていないか確認したいのです

>>286を見るまで画面のスケールの存在を知らずにビルドして実機で綺麗ならいいやと思っていたのですがこんなに便利な機能があるならPCで確認したいなあと思いまして・・・

295 :名前は開発中のものです。:2020/01/29(水) 06:16:55.47 ID:SJ58oRGH.net
たまにオブジェクトの画像で
ぼやけてしまっているのがあるんですが
このぼやけを直す方法ありますか?
弾とか用意した画像が小さいとよくそんな状態になってる気はしますが。
再生時にはハッキリとしてくれるんで
支障は無いのですが
boxコライダー2Dとかで当たり判定の枠を
決める時に境目がぼやけてて困るんです

296 :名前は開発中のものです。:2020/01/29(水) 08:12:21 ID:HiLvmf/0.net
>>295
>>174 では?

297 :名前は開発中のものです。:2020/01/29(水) 15:39:16.48 ID:hBm/Nn89.net
ゲーム用の素材ってどうするべきでしょうか?
自分で作れればベストだとは思いますが

298 :名前は開発中のものです。:2020/01/29(水) 16:55:20.14 ID:O2rO9Zpb.net
自分で作る
誰かに作ってもらう
アセット探す
どっかで配ってるの探す

好きなのを選べ

299 :名前は開発中のものです。:2020/01/29(水) 20:37:37 ID:f00/ZSVP.net
誰かテクスチャのPixels Per Unitに詳しい方はおられませんか?
Transform.positionの1単位に表示されるピクセル数なのは分かるんですが
具体的に何を基準に設定すれば良いのか教えていただきたいです

300 :名前は開発中のものです。:2020/01/30(Thu) 00:13:20 ID:ZJX25ppn.net
>>299
明確な基準はない。
って言っても納得しないんだろうから
ファミコン、スーファミあたりのレトロゲー風のゲームを作ってるなら8、そうじゃないならデフォルトでいけ。
みんなそうしてるから安心だろ?

301 :名前は開発中のものです。:2020/01/30(Thu) 00:34:58 ID:z8Y2uo8W.net
>>300
いや、明確な基準はあるぞ?
(って言っても納得しないんだろうなぁこの知ったかは)

302 :名前は開発中のものです。:2020/01/30(木) 01:43:49.41 ID:AkF4DfD8.net
んじゃその明確な基準書けよアホか

総レス数 1002
359 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200