フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【3Dゲームエンジン】Unity質問スレッド32
http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/
【3Dゲームエンジン】Unity質問スレッド33
■ このスレッドは過去ログ倉庫に格納されています
2017/12/19(火) 09:35:55.55ID:VZwsAqll
151名無し@キムチ
2017/12/27(水) 20:09:12.86ID:oeXBuupd152名前は開発中のものです。
2017/12/27(水) 20:12:19.02ID:9tGAk59e 別にどっちでも良いしどっちでも伝わるけど喋るときはどっちが多いのかなぁっていう素朴な疑問
ネイティブの発音はどうでも良い、カタカナ表記することが云々って話になるし
ネイティブの発音はどうでも良い、カタカナ表記することが云々って話になるし
153名前は開発中のものです。
2017/12/27(水) 20:15:02.72ID:Ojr+yz4V154名前は開発中のものです。
2017/12/27(水) 20:26:06.89ID:4kYoBCMG >>142-145
レス遅くなりました。mm
dontrestroyしたオブジェクトにアタッチされたスクリプトから
遷移後のオブジェクトがfind出来てるか確認したところ、出来ていませんでした。
上で出来ていると勘違いしたのはfindの時点でエラーが帰ってこなかったからという単純な理由でした。
遷移後のシーン内に作ったオブジェクトのスクリプトから同じコードをコピペしてみましたが
こちらは普通にfind出来ていました
public gameobjectとしてインスペクター上で両方確認しました。
うーん。
レス遅くなりました。mm
dontrestroyしたオブジェクトにアタッチされたスクリプトから
遷移後のオブジェクトがfind出来てるか確認したところ、出来ていませんでした。
上で出来ていると勘違いしたのはfindの時点でエラーが帰ってこなかったからという単純な理由でした。
遷移後のシーン内に作ったオブジェクトのスクリプトから同じコードをコピペしてみましたが
こちらは普通にfind出来ていました
public gameobjectとしてインスペクター上で両方確認しました。
うーん。
155名前は開発中のものです。
2017/12/27(水) 20:36:04.46ID:JxfZYfQR 香港人
「高卒だらけの日本人英語は、無いところにYの発音が入っちゃいます。土人丸出しです。」
「高卒だらけの日本人英語は、無いところにYの発音が入っちゃいます。土人丸出しです。」
156名前は開発中のものです。
2017/12/27(水) 20:40:05.60ID:4kYoBCMG 今試したのですが、
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
| その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
↓
シーン遷移
objB
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す → 成功
objAのヒエラルキーでobjBが格納されている
だったんですけど、これどういうことなんだろう…
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
| その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
↓
シーン遷移
objB
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す → 成功
objAのヒエラルキーでobjBが格納されている
だったんですけど、これどういうことなんだろう…
157名前は開発中のものです。
2017/12/27(水) 20:43:19.36ID:4kYoBCMG >>156だとなんか時系列変に見えますね;
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
|
↓
シーン遷移
objB
その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
↑ ↓
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功
objAのヒエラルキーでobjBが格納されている
みたいな感じです
こっちのが見づらいかもしれませんが…
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
|
↓
シーン遷移
objB
その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
↑ ↓
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功
objAのヒエラルキーでobjBが格納されている
みたいな感じです
こっちのが見づらいかもしれませんが…
158名前は開発中のものです。
2017/12/27(水) 20:44:21.74ID:y/zeZUnT 遷移処理はどこに遷移?
ところどころ足りないので補足よろ。
ところどころ足りないので補足よろ。
159名前は開発中のものです。
2017/12/27(水) 20:46:34.13ID:y/zeZUnT 今来たw
160名前は開発中のものです。
2017/12/27(水) 20:48:37.38ID:4kYoBCMG シーン1
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
|
↓
シーン2へ遷移
objB
その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
↑ ↓
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功
objAのヒエラルキーでobjBが格納されている
これで質問に答えられてますかね?
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
|
↓
シーン2へ遷移
objB
その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
↑ ↓
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功
objAのヒエラルキーでobjBが格納されている
これで質問に答えられてますかね?
161名前は開発中のものです。
2017/12/27(水) 21:03:16.65ID:y/zeZUnT 遷移したあとの間が少ないとか。トンチンカンかw
162名前は開発中のものです。
2017/12/27(水) 21:17:06.84ID:fBJY1RTE >>160
失敗しないし普通に出来る
失敗しないし普通に出来る
163名前は開発中のものです。
2017/12/27(水) 21:22:17.48ID:fBJY1RTE てか、何で相互に見れるようにする必要があるの?
無駄が多すぎるだろ
DontDestroyOnLoadしたGameObjectを一方的に参照する
データ保管庫みたいに切り分けて使えばいいだけじゃない
無駄が多すぎるだろ
DontDestroyOnLoadしたGameObjectを一方的に参照する
データ保管庫みたいに切り分けて使えばいいだけじゃない
164名前は開発中のものです。
2017/12/27(水) 21:23:12.19ID:4kYoBCMG うーん…なんでだろう
またもう一つ試したのですが、
シーン1で objA に加えて objCを作り、
objCにスクリプトをアタッチし、これもdontdestroyして中に変数を一つ入れておきました
シーン1
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
|
↓
シーン2へ遷移
objB
その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
※ ここで今回作ったobjCから参照してみる → 成功
↑ ↓
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功
objAのヒエラルキーでobjBが格納されている
と、見づらいかもしれませんが同じシーンから持ってきたオブジェクトに対しては普通にfindもゲットコンポーネントもできました
あああああああああわかんね!!!!!!!!!!!!!
またもう一つ試したのですが、
シーン1で objA に加えて objCを作り、
objCにスクリプトをアタッチし、これもdontdestroyして中に変数を一つ入れておきました
シーン1
objA dontdestroyしたオブジェクト
| これにアタッチされているスクリプト内でボタン押されたら遷移する処理
|
↓
シーン2へ遷移
objB
その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗
※ ここで今回作ったobjCから参照してみる → 成功
↑ ↓
遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功
objAのヒエラルキーでobjBが格納されている
と、見づらいかもしれませんが同じシーンから持ってきたオブジェクトに対しては普通にfindもゲットコンポーネントもできました
あああああああああわかんね!!!!!!!!!!!!!
165名前は開発中のものです。
2017/12/27(水) 21:26:43.61ID:4kYoBCMG >>163
遷移後にそのまま冒頭のイベント処理みたいなことをやりたくて
ならそのまま遷移処理の後に引き続きそのメソッド内である程度指示だして引継ぎすればよくね?
でやってみたら遷移後のシーンのオブジェクト参照ができなかったということから質問をしました
遷移後にそのまま冒頭のイベント処理みたいなことをやりたくて
ならそのまま遷移処理の後に引き続きそのメソッド内である程度指示だして引継ぎすればよくね?
でやってみたら遷移後のシーンのオブジェクト参照ができなかったということから質問をしました
166名前は開発中のものです。
2017/12/27(水) 21:33:49.05ID:fBJY1RTE 値の保持に使ってるんじゃないのかよ
何の意味があるんだそれ
何の意味があるんだそれ
167名前は開発中のものです。
2017/12/27(水) 21:39:00.89ID:4kYoBCMG 上でも書いてるのですけど本来の目的はそれですが
試してみたところエラーが出たので質問をした ということです
試してみたところエラーが出たので質問をした ということです
168名前は開発中のものです。
2017/12/27(水) 21:48:41.42ID:fBJY1RTE objAを外から読み書きできるようにしたんだよね?
なんでobjAからobjBを見る必要があるのか分からない(出来るけど)
なんでobjAからobjBを見る必要があるのか分からない(出来るけど)
169名前は開発中のものです。
2017/12/27(水) 22:33:19.52ID:UZCkhUUp >>165
シーン遷移時は、前のシーンのオブジェクトを破棄して新たなシーンのオブジェクトを構築する処理が走る
この処理が終わらないと新しいシーンのオブジェクトはFindでは見つからない
よって、新たなシーンのオブジェクトを見つけたければSceneManager.sceneLoadedデリゲートを使ってシーンのロードが完了してから処理を行う必要がある
ちなみにSceneManager.sceneLoadedはロードされたシーンのオブジェクトのAwakeが完了し、Startが呼ばれる前に呼ばれる事に注意
またこのデリゲートはどのシーンがロードされても呼ばれるから処理内でシーン毎に振り分けるかハンドラをつけ外しするなどの対処が必要
シーン遷移時は、前のシーンのオブジェクトを破棄して新たなシーンのオブジェクトを構築する処理が走る
この処理が終わらないと新しいシーンのオブジェクトはFindでは見つからない
よって、新たなシーンのオブジェクトを見つけたければSceneManager.sceneLoadedデリゲートを使ってシーンのロードが完了してから処理を行う必要がある
ちなみにSceneManager.sceneLoadedはロードされたシーンのオブジェクトのAwakeが完了し、Startが呼ばれる前に呼ばれる事に注意
またこのデリゲートはどのシーンがロードされても呼ばれるから処理内でシーン毎に振り分けるかハンドラをつけ外しするなどの対処が必要
170名無し@キムチ
2017/12/27(水) 22:59:24.99ID:oeXBuupd171名前は開発中のものです。
2017/12/27(水) 23:23:24.84ID:Y6rKayv0 なんだやっぱりキムチか
172名前は開発中のものです。
2017/12/27(水) 23:29:25.63ID:9tGAk59e プログラムが成功したり失敗したりなんて挙動するわけない
成功するのも失敗するのも理由がある
理由を理解できていないのにプログラムのせいにするプログラマー
成功するのも失敗するのも理由がある
理由を理解できていないのにプログラムのせいにするプログラマー
173名前は開発中のものです。
2017/12/27(水) 23:56:23.72ID:2+M/n1Lm >遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す
本当に呼び出せている?
Find以前の問題だったりして・・・
本当に呼び出せている?
Find以前の問題だったりして・・・
174名前は開発中のものです。
2017/12/28(木) 00:13:29.64ID:mH5YII84 ボタンからの入力を受けていないだけとかはないですか?
UIから、その該当スクリプトへのコールがかかっていないとか?
入力をInputにして、
if?(Input.GetKeyDown?(KeyCode.Space))?{
Debug.Log("Input OK");
GameObject A = GameObject.Find("objA");
Debug.Log(A);
}
を追加して、
スクリプトが機能しているかどうか、
オブジェクトを取得できているかどうかを確認してみてください
UIから、その該当スクリプトへのコールがかかっていないとか?
入力をInputにして、
if?(Input.GetKeyDown?(KeyCode.Space))?{
Debug.Log("Input OK");
GameObject A = GameObject.Find("objA");
Debug.Log(A);
}
を追加して、
スクリプトが機能しているかどうか、
オブジェクトを取得できているかどうかを確認してみてください
175名前は開発中のものです。
2017/12/28(木) 00:18:44.79ID:mH5YII84 すみません、objAからobjBの方を見たいんですね
objAのスクリプトのUpdate()内に、
if (Input.GetKeyDown (KeyCode.Space)) {
Debug.Log("Input OK");
GameObject B = GameObject.Find("objB");
Debug.Log(B);
}
を追加して、
スクリプトAが機能しているかどうか、
オブジェクトBを取得できているかどうかを確認してみてください
ボタンからの呼び出しが届いていないだけであれば、
上記でオブジェクトを取得できるはずですが・・・
シーン2では、
objA:DontDestroyによって、シーン1から持ち越し
objB
・・・が、Hierarchy上に同時に並んでいるわけですものね?
objAのスクリプトのUpdate()内に、
if (Input.GetKeyDown (KeyCode.Space)) {
Debug.Log("Input OK");
GameObject B = GameObject.Find("objB");
Debug.Log(B);
}
を追加して、
スクリプトAが機能しているかどうか、
オブジェクトBを取得できているかどうかを確認してみてください
ボタンからの呼び出しが届いていないだけであれば、
上記でオブジェクトを取得できるはずですが・・・
シーン2では、
objA:DontDestroyによって、シーン1から持ち越し
objB
・・・が、Hierarchy上に同時に並んでいるわけですものね?
176名前は開発中のものです。
2017/12/28(木) 00:34:38.37ID:mH5YII84 各オブジェクトのそれぞれのスクリプトで行っていることが良く分からないのですが、
Scene1
objA-A.cs:DontDestory
ボタン→LoadScene("Scene1")
objC-C.cs:DontDestory
↓
Scene2
objA-A.cs:DontDestory(Scene1から)
メソッド@→A = Find("objB") →NG
objC-C.cs:DontDestory(Scene1から)
Aのメソッド@→A = Find("objB") →OK
objB-B.cs
ボタン→Aのメソッド@→A = Find("objB") →OK
こういうことなのでしょうか??
A = Find("objB")は、
GameObject A = GameObject.Find("objB");のことです
メソッド@を呼ぶタイミングはどうやって遷移後に指定しているのでしょうか?
まさか、LoadScene("Scene1")と同じフレーム内で呼んでいないですよね??
Scene1
objA-A.cs:DontDestory
ボタン→LoadScene("Scene1")
objC-C.cs:DontDestory
↓
Scene2
objA-A.cs:DontDestory(Scene1から)
メソッド@→A = Find("objB") →NG
objC-C.cs:DontDestory(Scene1から)
Aのメソッド@→A = Find("objB") →OK
objB-B.cs
ボタン→Aのメソッド@→A = Find("objB") →OK
こういうことなのでしょうか??
A = Find("objB")は、
GameObject A = GameObject.Find("objB");のことです
メソッド@を呼ぶタイミングはどうやって遷移後に指定しているのでしょうか?
まさか、LoadScene("Scene1")と同じフレーム内で呼んでいないですよね??
177名前は開発中のものです。
2017/12/28(木) 00:51:12.79ID:fQL7hUYb >>169
レス遅れてすみません。
ありがとうございます。
とても参考になり、わかりやすかったです。
結果として、やったことは
SceneManager.LoadSceneの直後にSceneManager.sceneLoadedを行って
そのデリゲート処理完了後にそれぞれのテストメソッドを呼び出して参照したりしたところ
問題なく参照できました。
>>161にはレスしませんでしたが、当たりだった感じです。
>>170
なるほど。。。他の方々のレスを見る感じ、テスト環境でやっていたのかもしれないので
もしかするとオブジェクト等の量とかでかわるんですかね?
>>173
そこは上のレスを書いた時点で確認できていました
debug.log等での確認なので精度はわかりませんが
レス遅れてすみません。
ありがとうございます。
とても参考になり、わかりやすかったです。
結果として、やったことは
SceneManager.LoadSceneの直後にSceneManager.sceneLoadedを行って
そのデリゲート処理完了後にそれぞれのテストメソッドを呼び出して参照したりしたところ
問題なく参照できました。
>>161にはレスしませんでしたが、当たりだった感じです。
>>170
なるほど。。。他の方々のレスを見る感じ、テスト環境でやっていたのかもしれないので
もしかするとオブジェクト等の量とかでかわるんですかね?
>>173
そこは上のレスを書いた時点で確認できていました
debug.log等での確認なので精度はわかりませんが
178名前は開発中のものです。
2017/12/28(木) 00:56:34.32ID:fQL7hUYb >>174-176
Scene1
objA-A.cs:DontDestory
ボタン→ *A.cs内の LoadScene("Scene1") 呼び出し
objC-C.cs:DontDestory * +変数1
↓
Scene2
objA-A.cs:DontDestory(Scene1から)
メソッド@→A = Find("objB") →NG
objC-C.cs:DontDestory(Scene1から)
Aのメソッド@→A = Find("objB") →OK * Aのメソッド@→A = Find("objC") →OK です
objB-B.cs
ボタン→Aのメソッド@→A = Find("objB") →OK
A.Csの中の処理流れは
{
LoadScene2;
gameobject.find(Scene2のobjB)
}
でBが見つからない ということでした
>メソッド@を呼ぶタイミングはどうやって遷移後に指定しているのでしょうか?
まさか、LoadScene("Scene1")と同じフレーム内で呼んでいないですよね??
恐らくそういうことだったんだと思います
Scene1
objA-A.cs:DontDestory
ボタン→ *A.cs内の LoadScene("Scene1") 呼び出し
objC-C.cs:DontDestory * +変数1
↓
Scene2
objA-A.cs:DontDestory(Scene1から)
メソッド@→A = Find("objB") →NG
objC-C.cs:DontDestory(Scene1から)
Aのメソッド@→A = Find("objB") →OK * Aのメソッド@→A = Find("objC") →OK です
objB-B.cs
ボタン→Aのメソッド@→A = Find("objB") →OK
A.Csの中の処理流れは
{
LoadScene2;
gameobject.find(Scene2のobjB)
}
でBが見つからない ということでした
>メソッド@を呼ぶタイミングはどうやって遷移後に指定しているのでしょうか?
まさか、LoadScene("Scene1")と同じフレーム内で呼んでいないですよね??
恐らくそういうことだったんだと思います
179名前は開発中のものです。
2017/12/28(木) 01:23:13.78ID:GhM3Lpso デバッガ使えば5分で分かった事を22時間も掛けて
大した効率だよな
大した効率だよな
180名前は開発中のものです。
2017/12/28(木) 01:43:55.44ID:mH5YII84 以前、物理演算で、どういう処理だったか忘れたけど、
変数を物理演算に設定した直後に、
同じフレーム内でデバッグログに物理演算結果を出力しようとしたら、
変数が設定された結果が出せなくて、
Invokeで1フレーム後にデバッグログを呼び出したら、出力できたことがあるので、
一度フレームを走らせないといけないポイントで処理を連続してしまうのは、
結構ピットホールになりやすいかもしれない
変数を物理演算に設定した直後に、
同じフレーム内でデバッグログに物理演算結果を出力しようとしたら、
変数が設定された結果が出せなくて、
Invokeで1フレーム後にデバッグログを呼び出したら、出力できたことがあるので、
一度フレームを走らせないといけないポイントで処理を連続してしまうのは、
結構ピットホールになりやすいかもしれない
181名前は開発中のものです。
2017/12/28(木) 02:14:32.76ID:mH5YII84 velocityの変更、positionの変更は、同じフレーム内で取得しても変更が反映されるけど、
例えばAddForceでは、たとえ1フレームで加速するForceMode.Impulseでも、
同じフレーム内ではまだvelocityは速度変更されておらず、
次のフレームでvelocityの変更が反映されるみたい
でも、1フレームで移動を行うMovePositionは、
同じフレーム内でpositionの変更が反映されているという・・・
例えばAddForceでは、たとえ1フレームで加速するForceMode.Impulseでも、
同じフレーム内ではまだvelocityは速度変更されておらず、
次のフレームでvelocityの変更が反映されるみたい
でも、1フレームで移動を行うMovePositionは、
同じフレーム内でpositionの変更が反映されているという・・・
182名前は開発中のものです。
2017/12/28(木) 02:20:34.36ID:aEDu9yFW 全然関係ねえよ
オブジェクトの生成と破壊は1フレーム掛かるから後処理は1フレーム待てと言われただろ
シーンの呼び出しも同じって>169に言われてんだろ
オブジェクトの生成と破壊は1フレーム掛かるから後処理は1フレーム待てと言われただろ
シーンの呼び出しも同じって>169に言われてんだろ
183名前は開発中のものです。
2017/12/28(木) 02:49:46.90ID:mH5YII84 Invokeに1フレームかかるのか、1フレーム内で行う処理の量の問題なのか、
PCの性能の違いなのか、Unityのバージョンの違いなのかは不明だけど、
Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
rb.angularVelocity = new Vector3(0, 0, 180 * Mathf.Deg2Rad);
Invoke ("Log", 1);
//Invoke("Log", 1 - Time.fixedDeltaTime);
}
void Log() {
rb.angularVelocity = Vector3.zero;
Debug.Log (rb.rotation);
Debug.Log(rb.rotation.eulerAngles.z);
}
本来、Z軸回転に180度/秒を入れて1秒間回転させて止めているわけだから、
Z軸の回転角は180が返るはずだけど、183.6という結果になってしまいます
Invoke("A", 1 - Time.fixedDeltaTime)で1フレームは早く呼ぶと、180が返るから、
おそらくInvokeで呼ぶ場合は、1フレーム遅れるんでしょうね・・・
PCの性能の違いなのか、Unityのバージョンの違いなのかは不明だけど、
Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
rb.angularVelocity = new Vector3(0, 0, 180 * Mathf.Deg2Rad);
Invoke ("Log", 1);
//Invoke("Log", 1 - Time.fixedDeltaTime);
}
void Log() {
rb.angularVelocity = Vector3.zero;
Debug.Log (rb.rotation);
Debug.Log(rb.rotation.eulerAngles.z);
}
本来、Z軸回転に180度/秒を入れて1秒間回転させて止めているわけだから、
Z軸の回転角は180が返るはずだけど、183.6という結果になってしまいます
Invoke("A", 1 - Time.fixedDeltaTime)で1フレームは早く呼ぶと、180が返るから、
おそらくInvokeで呼ぶ場合は、1フレーム遅れるんでしょうね・・・
184名前は開発中のものです。
2017/12/28(木) 02:51:19.62ID:ZI2vMH5M 外様が言うのは何だが
コードも貼られて実に良スレだな
コードも貼られて実に良スレだな
185名前は開発中のものです。
2017/12/28(木) 03:22:50.01ID:mH5YII84 ごめんなさい、原因が分かったよ
Start()から、Log()を呼んでいるからでした・・・
Start()が終了するのに1フレームかかるみたいですね
Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
Start2()
}
void Start2() {
rb.angularVelocity = new Vector3(0, 0, 180 * Mathf.Deg2Rad);
Invoke ("Log", 1);
}
void Log() {
rb.angularVelocity = Vector3.zero;
Debug.Log (rb.rotation);
Debug.Log(rb.rotation.eulerAngles.z);
}
StartからStart2を呼んで、Start2でangularVelocityを設定すれば、
Start2()からLog()を呼ぶ場合は、1秒指定のInvokeで、ぴったり180でした
Start()から、Log()を呼んでいるからでした・・・
Start()が終了するのに1フレームかかるみたいですね
Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
Start2()
}
void Start2() {
rb.angularVelocity = new Vector3(0, 0, 180 * Mathf.Deg2Rad);
Invoke ("Log", 1);
}
void Log() {
rb.angularVelocity = Vector3.zero;
Debug.Log (rb.rotation);
Debug.Log(rb.rotation.eulerAngles.z);
}
StartからStart2を呼んで、Start2でangularVelocityを設定すれば、
Start2()からLog()を呼ぶ場合は、1秒指定のInvokeで、ぴったり180でした
186名前は開発中のものです。
2017/12/28(木) 03:24:48.63ID:yHTFG4+0 物理はFixedUpdateのタイムスライスで動いてるから、
Update系とは時間の流れ違うだろ
Update系とは時間の流れ違うだろ
187名前は開発中のものです。
2017/12/28(木) 04:43:29.76ID:NrJHfHro >>185
何の確認もせずに適当な思い込みで妄想しても
的外れなだけじゃないキムチ君w
毎回そんなアホな事をやってるから迷走すんだよ
だったらStartとStart2に
Debug.Log(Time.frameCount);
で実実行時のフレームカウント出してみなよ
両方とも1って出るから
何の確認もせずに適当な思い込みで妄想しても
的外れなだけじゃないキムチ君w
毎回そんなアホな事をやってるから迷走すんだよ
だったらStartとStart2に
Debug.Log(Time.frameCount);
で実実行時のフレームカウント出してみなよ
両方とも1って出るから
188名前は開発中のものです。
2017/12/28(木) 07:27:31.37ID:yfK1iHQW 161最強!w
189名前は開発中のものです。
2017/12/28(木) 09:26:13.89ID:fukyqugk 初心者です
マテリアル作って保存したらファイル名が勝手に.matから.MATに変わってそのせいで警告が出てる??みたい
パソコンのせいなんでしょうか
解決方法分かりませんか?
マテリアル作って保存したらファイル名が勝手に.matから.MATに変わってそのせいで警告が出てる??みたい
パソコンのせいなんでしょうか
解決方法分かりませんか?
190名前は開発中のものです。
2017/12/28(木) 09:35:07.71ID:PGevnyVZ 警告文そのものを貼ってください
191名前は開発中のものです。
2017/12/28(木) 09:53:48.72ID:fukyqugk 警告で
The GUID for assets/アセット名.mat is already in ues by assets/アセット名.MAT.
Assigning a new guid.
エラーで
Refresh case sensitivity failure.
Assets:Assets/アセット名.mat ; Metafile:Assets/アセット名.mat.meta
です
The GUID for assets/アセット名.mat is already in ues by assets/アセット名.MAT.
Assigning a new guid.
エラーで
Refresh case sensitivity failure.
Assets:Assets/アセット名.mat ; Metafile:Assets/アセット名.mat.meta
です
192名前は開発中のものです。
2017/12/28(木) 10:09:16.56ID:ZI2vMH5M どーせテクスチャをエクスプローラーからコピペして置き換えしたりしてんだろ
193名前は開発中のものです。
2017/12/28(木) 10:24:27.92ID:o+JGejkD194名前は開発中のものです。
2017/12/28(木) 10:45:38.68ID:fukyqugk >>192
いえ、普通にUnityエディタ内でmaterialを作成してます
で真っ白なまま保存しても.matで保存されるんですが少しでも色を変えると保存した時に拡張子が.MATに変わってしまうんです
いえ、普通にUnityエディタ内でmaterialを作成してます
で真っ白なまま保存しても.matで保存されるんですが少しでも色を変えると保存した時に拡張子が.MATに変わってしまうんです
195名前は開発中のものです。
2017/12/28(木) 11:13:08.50ID:ghF3Rjv1196名前は開発中のものです。
2017/12/28(木) 11:16:47.13ID:ghF3Rjv1 てか警告分の内容は理解してる?
中学英語の単語しか無いぞ
英語だからって毛嫌いせず読もうとしてみるの大事
だんだん慣れてくるから
中学英語の単語しか無いぞ
英語だからって毛嫌いせず読もうとしてみるの大事
だんだん慣れてくるから
197名前は開発中のものです。
2017/12/28(木) 12:01:44.31ID:fukyqugk >>195
ありがとうございます、消してしまった気がします…
こうなった場合の対処法ってどうすれば良いんですか?調べたんですけど「やらないように注意」みたいにしか書いてなくて…
警告文は1回Google翻訳に突っ込んだ時にルー語で翻訳されてキレそうになりましたw
ちゃんと調べてある程度意味はわかりました
ありがとうございます、消してしまった気がします…
こうなった場合の対処法ってどうすれば良いんですか?調べたんですけど「やらないように注意」みたいにしか書いてなくて…
警告文は1回Google翻訳に突っ込んだ時にルー語で翻訳されてキレそうになりましたw
ちゃんと調べてある程度意味はわかりました
198名前は開発中のものです。
2017/12/28(木) 12:18:12.10ID:ghF3Rjv1 >>197
基本的には不要なmetaファイルを消せばいい
metaファイルの中を理解することは大変だけどmetaファイルの存在意義を理解することはそこまで難しくはないと思う
ググればmetaファイルとはなんぞやって記事いっぱいあるからゆっくり読んでみればいい
全部が理解できなくてもいいから色んな記事を読むといい
その過程で色んな知識がつくはず
それを繰り返してればそのうち色んなことに対処できるようになる
基本的には不要なmetaファイルを消せばいい
metaファイルの中を理解することは大変だけどmetaファイルの存在意義を理解することはそこまで難しくはないと思う
ググればmetaファイルとはなんぞやって記事いっぱいあるからゆっくり読んでみればいい
全部が理解できなくてもいいから色んな記事を読むといい
その過程で色んな知識がつくはず
それを繰り返してればそのうち色んなことに対処できるようになる
199名前は開発中のものです。
2017/12/28(木) 12:24:20.51ID:ghF3Rjv1 >>197
あと警告やエラー文は基本翻訳ソフトに突っ込まないほうがいい
単語の意味を調べる程度にしときな
プログラム上で使われる意味合いと英文としての意味合いが異なって余計に混乱することになることが多いと思う
GUIDみたいな略語なんかは翻訳仕様がないしね
むしろ警告文をそのままググるほうが同じ問題で引っかかった人が解決法とか書いてくれてたりすることもあるからそういうふうに調べたほうがいいよ
あと警告やエラー文は基本翻訳ソフトに突っ込まないほうがいい
単語の意味を調べる程度にしときな
プログラム上で使われる意味合いと英文としての意味合いが異なって余計に混乱することになることが多いと思う
GUIDみたいな略語なんかは翻訳仕様がないしね
むしろ警告文をそのままググるほうが同じ問題で引っかかった人が解決法とか書いてくれてたりすることもあるからそういうふうに調べたほうがいいよ
200名前は開発中のものです。
2017/12/28(木) 12:36:22.53ID:epGNZdyE >>185
正確に言うと1フレーム内なんだけど、イベントが呼び出される順番の問題では?
Awake
Start
FixedUpdate
Update
LastUpdate
OnRenderImage
OnGUI
OnDestroy
同じフレーム内でも、Updateの前にFixedUpdateが来るから、
FixedUpdateの処理が1フレーム分先の内容になっているんだと思う
正確に言うと1フレーム内なんだけど、イベントが呼び出される順番の問題では?
Awake
Start
FixedUpdate
Update
LastUpdate
OnRenderImage
OnGUI
OnDestroy
同じフレーム内でも、Updateの前にFixedUpdateが来るから、
FixedUpdateの処理が1フレーム分先の内容になっているんだと思う
202名前は開発中のものです。
2017/12/28(木) 12:44:32.49ID:epGNZdyE Start:
Debug.Log
Invoke A 0秒
Invoke B 0秒
FixedUpdate:
Debug.Log
Update:
Debug.Log
A:
Debug.Log
B:
Debug.Log
Invoke AA 0秒
AA:
Debug.Log
Time.frameCountをDebug.Logすると、全て1になるね
(FixedUpdateとUpdateは初回のみDebug.Log)
Debug.Log
Invoke A 0秒
Invoke B 0秒
FixedUpdate:
Debug.Log
Update:
Debug.Log
A:
Debug.Log
B:
Debug.Log
Invoke AA 0秒
AA:
Debug.Log
Time.frameCountをDebug.Logすると、全て1になるね
(FixedUpdateとUpdateは初回のみDebug.Log)
203名前は開発中のものです。
2017/12/28(木) 12:48:38.22ID:epGNZdyE 実際にやってみると、Debug.Logされる順番は、
@Start
AFixedUpdate
BA
CB
DUpdate
EAA
の順になるので、
@Satrt→BAの間には、FixedUpdateが入っているので、
その間に物理演算の結果が更新されますが、
CB→EAAの間には、FixedUpdateが入らないので、
その間に物理演算の結果は更新されません
@Start
AFixedUpdate
BA
CB
DUpdate
EAA
の順になるので、
@Satrt→BAの間には、FixedUpdateが入っているので、
その間に物理演算の結果が更新されますが、
CB→EAAの間には、FixedUpdateが入らないので、
その間に物理演算の結果は更新されません
204名前は開発中のものです。
2017/12/28(木) 12:57:15.87ID:U/moIC9W ID:ghF3Rjv1の優しさに勃起した
205名前は開発中のものです。
2017/12/28(木) 13:14:29.51ID:ghF3Rjv1 ホモはお帰りください
206名前は開発中のものです。
2017/12/28(木) 13:27:13.50ID:bdqePp8Y >>203
アセットを買うのがいいですよ
アセットを買うのがいいですよ
207名前は開発中のものです。
2017/12/28(木) 15:02:55.90ID:YB1B6aLH 質問者が全部キムチなのが問題だ
208名前は開発中のものです。
2017/12/28(木) 15:24:10.83ID:tnUbOHhI 何もない所で誰も引っ掛からない孔明の罠に引っ掛かって
大騒ぎするのがキムチ
大騒ぎするのがキムチ
209名無し@キムチ
2017/12/28(木) 19:12:09.06ID:26YsjXJQ >>177
他のオブジェクトのアクティブのtrueはfalse明らかにオブジェクトの量で変わる。
オブジェクトの量を増やすと、それまでtrueはfalseがちゃんと動いていたものが、動かなくなる。
その行の削除するとまたちゃんと動き出すことから、それは明らか。
それを回避するには、オブジェクトごとにスクリプトをつけてそれに書けばアクティブのtrueはfalseは確実に動く。
他のオブジェクトのアクティブのtrueはfalse明らかにオブジェクトの量で変わる。
オブジェクトの量を増やすと、それまでtrueはfalseがちゃんと動いていたものが、動かなくなる。
その行の削除するとまたちゃんと動き出すことから、それは明らか。
それを回避するには、オブジェクトごとにスクリプトをつけてそれに書けばアクティブのtrueはfalseは確実に動く。
210名無し@キムチ
2017/12/28(木) 20:33:48.36ID:26YsjXJQ 最近わかったんだが、Unityでは基本あるオブジェクトにつけたスクリプトから他のオブジェクトを動かしてはいけないんですね。
あくまでもそのオブジェクトにだけ関するスクリプトであるということ。
MonoBehaviorの「Mono」とはそういう意味なんですね。
あくまでもそのオブジェクトにだけ関するスクリプトであるということ。
MonoBehaviorの「Mono」とはそういう意味なんですね。
211名前は開発中のものです。
2017/12/28(木) 20:57:02.16ID:bdqePp8Y 何いってんのこいつw
212名前は開発中のものです。
2017/12/28(木) 21:42:51.63ID:mWenZKXP NSObjectのNSはNextStepの略だしな
213名前は開発中のものです。
2017/12/28(木) 21:51:39.14ID:VBJfLBcj NSって。。風俗かよwww
214名前は開発中のものです。
2017/12/28(木) 22:22:34.63ID:epGNZdyE >>210
物理演算をつけたオブジェクトは、transform命令では動かさない方が良い
同様に、Rigidbody.positionやRigidbody.rotationも極力直接いじらないほうが良い
(なるべく、初期値を設定するだけにしておく)
物理演算をつけたオブジェクトは、原則velocity設定や、
AddForceかAddTorqueで動かさないと、演算に干渉して挙動が不安定になる
物理演算をつけたオブジェクトは、transform命令では動かさない方が良い
同様に、Rigidbody.positionやRigidbody.rotationも極力直接いじらないほうが良い
(なるべく、初期値を設定するだけにしておく)
物理演算をつけたオブジェクトは、原則velocity設定や、
AddForceかAddTorqueで動かさないと、演算に干渉して挙動が不安定になる
215名前は開発中のものです。
2017/12/28(木) 23:00:56.25ID:mH5YII84216名前は開発中のものです。
2017/12/29(金) 09:19:21.34ID:K0u5BC7r217名前は開発中のものです。
2017/12/29(金) 23:42:13.44ID:qixlPtWp 初心者です。
2Dでジャンプアクションゲームを物理演算で製作中です。
ようやく左右への移動ができるようになったところです。
(Input.GetAxisをvelocityに代入しています)
ジャンプの際に、お聞きしたい事があるのですが、
まず地面に接している判定をどうするのか、
ジャンプはvelocity変更でよいのか、AddForceの方がよいのか、
ボタンを押している時間に応じてジャンプを高くしたい
(無制限に高くではなく、ジャンプ力には上限を設けたい)
などを詳しく解説してあるサイトとかありますでしょうか?
あるいは、ジャンプ動作のスクリプトに、定石・セオリーみたいのはあるのでしょうか?
2Dでジャンプアクションゲームを物理演算で製作中です。
ようやく左右への移動ができるようになったところです。
(Input.GetAxisをvelocityに代入しています)
ジャンプの際に、お聞きしたい事があるのですが、
まず地面に接している判定をどうするのか、
ジャンプはvelocity変更でよいのか、AddForceの方がよいのか、
ボタンを押している時間に応じてジャンプを高くしたい
(無制限に高くではなく、ジャンプ力には上限を設けたい)
などを詳しく解説してあるサイトとかありますでしょうか?
あるいは、ジャンプ動作のスクリプトに、定石・セオリーみたいのはあるのでしょうか?
218名前は開発中のものです。
2017/12/30(土) 00:35:07.56ID:5n68sL0m AddForceの方がいいよ、単純にジャンプだけだったら変わんないかもしれないけど他の動作と重なったときに融通がきかなくなる
設置してるかどうかはコリジョンを見れば良いんだよ
ジャンプ系の処理は定石化してるから、Youtubeでしっかり頭に叩き込んだほうが良いよ
数値の上限については、ちゃんとC#らしい書き方ができるといいね
設置してるかどうかはコリジョンを見れば良いんだよ
ジャンプ系の処理は定石化してるから、Youtubeでしっかり頭に叩き込んだほうが良いよ
数値の上限については、ちゃんとC#らしい書き方ができるといいね
219名前は開発中のものです。
2017/12/30(土) 09:26:09.43ID:sj8HSsvd UNITYの定石としては、アセットを買うことですね
220名前は開発中のものです。
2017/12/30(土) 14:20:42.17ID:LpYIXbLi "物理演算"でやるならVelocityは基本使っちゃだめよ
物理演算を無視した移動だから見た目が物理っぽくなくなるよ
キャラの操作制御はInput.GetAxisでもいいがCharacter Controllerを使えばisGroundというパラメーターで地面との接点判定できるよ
物理演算を無視した移動だから見た目が物理っぽくなくなるよ
キャラの操作制御はInput.GetAxisでもいいがCharacter Controllerを使えばisGroundというパラメーターで地面との接点判定できるよ
221名前は開発中のものです。
2017/12/30(土) 16:10:37.30ID:DH75+pHx >>217
初心者向けに
2D platformerというジャンプアクションゲームのアセット(無料)がある
https://www.assetstore.unity3d.com/jp/#!/content/11228
あとはggれば解説してるとこがあったはず
初心者向けに
2D platformerというジャンプアクションゲームのアセット(無料)がある
https://www.assetstore.unity3d.com/jp/#!/content/11228
あとはggれば解説してるとこがあったはず
222217です
2017/12/30(土) 23:14:59.07ID:6xEuTupH223名前は開発中のものです。
2017/12/31(日) 11:58:25.06ID:YEuDj3bX 物理演算を使って、物理法則に則ったゲームを作成するのか、
物理演算を使って、既存型のゲームを作成するのか、
(コライダーは利用するが、動きは非物理)
物理演算を使わずに、既存型のゲームを作成するのか
(旧来のゲームシステム)
物理演算を使って、既存型のゲームを作成するのか、
(コライダーは利用するが、動きは非物理)
物理演算を使わずに、既存型のゲームを作成するのか
(旧来のゲームシステム)
224名前は開発中のものです。
2017/12/31(日) 12:40:49.59ID:YEuDj3bX positionの直接変更は、コライダーへの衝突計算が乱れる危険性あり
MovePositionによるposition変更は、velocity変更に基づいているので、
比較的安全にコライダーとの衝突計算がなされる
velocity変更を行わずに、全てAddForceで行った方が、
より自然な物理演算になるけど、velocityを0にするのが難しくなる
AddForceでvelocityを0にしようと逆方向に力を与え続けると、
逆向きの加速度がついてしまうので、基本的にはDragで減速せざるを得ない
MovePositionによるposition変更は、velocity変更に基づいているので、
比較的安全にコライダーとの衝突計算がなされる
velocity変更を行わずに、全てAddForceで行った方が、
より自然な物理演算になるけど、velocityを0にするのが難しくなる
AddForceでvelocityを0にしようと逆方向に力を与え続けると、
逆向きの加速度がついてしまうので、基本的にはDragで減速せざるを得ない
225名前は開発中のものです。
2017/12/31(日) 13:07:55.13ID:YEuDj3bX 2Dで地面との接触判定を行うのであれば、
・IsTouching,IsTouchingLayers
他のコライダーやレイヤーとの接触を検出する方法
(全方向からの接触を検出してしまう)
・Physics2D.OverlapArea,Physics2D.OverlapBox
配置した矩形が接触したコライダーを検出する方法
(OverlapAreaとOverlapBoxは矩形の設定方法が異なる)
・Physics2D.Linecast
配置した線分が接触したコライダーを検出する方法
(RayCastとは異なり、直線ではなく長さを持つ線分)
・Physics2D.BoxCast,Physics2D.RayCast
放射した直線が接触したコライダーを検出する方法
(BoxCastはRayCastの先端が矩形)
IsTouching系は、Collider2D.(自分との判定)とPhysics2D.(2者間の判定)がある
Cast系は投射方向を指定できるが、投射前に接触していると検出されないのが難点
LineCastやRayCastは線のため太さがなく、幅を持つコライダーでは複数本が必要
OverlapBoxと違って、Physics.CheckBoxは、2Dでは使えない
・IsTouching,IsTouchingLayers
他のコライダーやレイヤーとの接触を検出する方法
(全方向からの接触を検出してしまう)
・Physics2D.OverlapArea,Physics2D.OverlapBox
配置した矩形が接触したコライダーを検出する方法
(OverlapAreaとOverlapBoxは矩形の設定方法が異なる)
・Physics2D.Linecast
配置した線分が接触したコライダーを検出する方法
(RayCastとは異なり、直線ではなく長さを持つ線分)
・Physics2D.BoxCast,Physics2D.RayCast
放射した直線が接触したコライダーを検出する方法
(BoxCastはRayCastの先端が矩形)
IsTouching系は、Collider2D.(自分との判定)とPhysics2D.(2者間の判定)がある
Cast系は投射方向を指定できるが、投射前に接触していると検出されないのが難点
LineCastやRayCastは線のため太さがなく、幅を持つコライダーでは複数本が必要
OverlapBoxと違って、Physics.CheckBoxは、2Dでは使えない
226名前は開発中のものです。
2017/12/31(日) 18:15:19.74ID:/rN76OKL 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
WQFIUEMH6C
グーグル検索⇒『来島のモノノリウエ』
WQFIUEMH6C
227名前は開発中のものです。
2018/01/01(月) 00:44:27.66ID:j7kcIBAU 斜面に球を置いたとき、コロコロと転がっていくか、転がらずに滑っていくかは、摩擦設定で変わるのですか?
228名前は開発中のものです。
2018/01/01(月) 01:03:03.11ID:6abiTkqK 変わるよ
ただし物理計算のタイムアウトも関係してくる
一定時間経過するとタイムアウトになり何か刺激がくるまで動かなくなる
ただし物理計算のタイムアウトも関係してくる
一定時間経過するとタイムアウトになり何か刺激がくるまで動かなくなる
229名前は開発中のものです。
2018/01/01(月) 12:16:58.00ID:ljD1K3gw IsTouchingLayersをつけたbox型のコライダーを足元に付けておけば、
足元だけで地面のレイヤーとの接地判定できるよ
キャラクタ全体をIsTouchingにしちゃうと、
横のブロックに触れただけでも接地に判定されちゃうから・・・
(逆に、壁登りや三角飛びするなら、これでもよいけど)
足元だけで地面のレイヤーとの接地判定できるよ
キャラクタ全体をIsTouchingにしちゃうと、
横のブロックに触れただけでも接地に判定されちゃうから・・・
(逆に、壁登りや三角飛びするなら、これでもよいけど)
230名前は開発中のものです。
2018/01/01(月) 12:30:50.04ID:ljD1K3gw231名前は開発中のものです。
2018/01/01(月) 12:32:16.63ID:PNv1Z/iK なぜ皆さんはこんな無駄なことに時間を費やすのか?
アセットを買えばすぐに解決するのに
アセットを買えばすぐに解決するのに
232名前は開発中のものです。
2018/01/01(月) 15:25:49.26ID:ljD1K3gw >>217
ちなみに、自分の場合は、2Dでジャンプ機能を実装する際は、
Startでint t = 100,float v = 1.0fをセット
Updateでボタン入力と接地を監視
@入力あり
t >= 0なら、Jump()へ飛んで、その後にt = t -1
A入力なし
接地ありなら、t = 100へ
接地なしなら、t = 0へ
Jump()
t = 100なら、AddForce(mass * v * Vector2.up, ForceMode2D.Impulse)
そうでない場合は、AddForce (mass * (t/100) * (- Physics2D.gravity))
最初のフレームで上向き初速v = 1.0をつけておき、
次のフレームからは重力加速度の相殺を線形的に減じていき、
t = 100フレームで重力加速度の相殺が消える仕組み
ボタン入力がない場合は、接地時はt = 100に戻して、
非接地時はt = 0をセットして連続での再ジャンプを防止
ちなみに、自分の場合は、2Dでジャンプ機能を実装する際は、
Startでint t = 100,float v = 1.0fをセット
Updateでボタン入力と接地を監視
@入力あり
t >= 0なら、Jump()へ飛んで、その後にt = t -1
A入力なし
接地ありなら、t = 100へ
接地なしなら、t = 0へ
Jump()
t = 100なら、AddForce(mass * v * Vector2.up, ForceMode2D.Impulse)
そうでない場合は、AddForce (mass * (t/100) * (- Physics2D.gravity))
最初のフレームで上向き初速v = 1.0をつけておき、
次のフレームからは重力加速度の相殺を線形的に減じていき、
t = 100フレームで重力加速度の相殺が消える仕組み
ボタン入力がない場合は、接地時はt = 100に戻して、
非接地時はt = 0をセットして連続での再ジャンプを防止
233名前は開発中のものです。
2018/01/01(月) 15:36:55.88ID:ljD1K3gw 接地判定は、足元に別コライダーを接地しておいて、IsTouchingLayersでも良いけど、
Startで、public LayerMask layerを宣言して、layerに地面のレイヤーを指定しておき、
キャラクタの足元に、縦厚みd×横幅x-dの判定枠を作って、
V2center = position - (キャラの縦サイズy/2) * Vector2.up
V2size = new Vecto2(キャラの横サイズx - d, d)
if (Physics2D.OverlapBox(V2center, V2size, 0, layer) == true)で
layer = 地面のレイヤーとの接地判定すると、コライダーを追加する必要はなくなるよ
Startで、public LayerMask layerを宣言して、layerに地面のレイヤーを指定しておき、
キャラクタの足元に、縦厚みd×横幅x-dの判定枠を作って、
V2center = position - (キャラの縦サイズy/2) * Vector2.up
V2size = new Vecto2(キャラの横サイズx - d, d)
if (Physics2D.OverlapBox(V2center, V2size, 0, layer) == true)で
layer = 地面のレイヤーとの接地判定すると、コライダーを追加する必要はなくなるよ
234名前は開発中のものです。
2018/01/01(月) 18:00:56.88ID:j7kcIBAU235名前は開発中のものです。
2018/01/01(月) 18:03:03.31ID:j7kcIBAU Debug.DrawLineだと、Lineしか引けないんですけど、
Boxを描画したり、Circleを描画したりしたいんですけど、どうすれば良いんでしょうか?
Boxを描画したり、Circleを描画したりしたいんですけど、どうすれば良いんでしょうか?
236名前は開発中のものです。
2018/01/01(月) 18:45:59.90ID:6abiTkqK 静止摩擦係数、動摩擦係数だけです
237名前は開発中のものです。
2018/01/01(月) 20:01:42.78ID:j7kcIBAU238名前は開発中のものです。
2018/01/01(月) 20:58:09.99ID:Ep+lOIal >>235
cube作るなりplane作るなりすればいいんじゃないの?
cube作るなりplane作るなりすればいいんじゃないの?
239名前は開発中のものです。
2018/01/01(月) 21:03:34.71ID:yWvNMSX7 アセットガイジ死ねや
240名無し@キムチ
2018/01/01(月) 21:18:47.92ID:SQPXIuv2 >>238
cubeやplaneだと立体的になっちゃうから、
あくまでBoxを描画したり、Circleを描画したりして、テキストを補足する説明図っぽくしたいんじゃないかと忖度するが・・・w
ほら、数学の説明でよくあるやつ。>>235はああいう感じにしたいのではなかろうか?
Circleは難しいけど、まずcubeやplaneをつくって、
そのぴったり表面にシリンダーをすごく細くラインみたくしたものを置いて子オブジェクトにする。
次に3Dテキストを置いて子オブジェクトにする。
ラインとテキストをレイアウトしたら、cubeやplaneの面をカメラにぴったり向けてカメラの子オブジェクトにする。
最後にcubeやplaneを透明にすれば、カメラをどこに向けてもついてくる数学っぽい説明の出来上がりw
cubeやplaneだと立体的になっちゃうから、
あくまでBoxを描画したり、Circleを描画したりして、テキストを補足する説明図っぽくしたいんじゃないかと忖度するが・・・w
ほら、数学の説明でよくあるやつ。>>235はああいう感じにしたいのではなかろうか?
Circleは難しいけど、まずcubeやplaneをつくって、
そのぴったり表面にシリンダーをすごく細くラインみたくしたものを置いて子オブジェクトにする。
次に3Dテキストを置いて子オブジェクトにする。
ラインとテキストをレイアウトしたら、cubeやplaneの面をカメラにぴったり向けてカメラの子オブジェクトにする。
最後にcubeやplaneを透明にすれば、カメラをどこに向けてもついてくる数学っぽい説明の出来上がりw
241名前は開発中のものです。
2018/01/01(月) 21:57:52.53ID:j7kcIBAU >>240の言うように、あくまで2Dでの画面への描画を考えてました
もともとは、Physics2D.OverlapCircleとかPhysics2D.OverlapBoxの判定枠をシーンビューに描画したかったのでした
Physics2D.LineCastの判定線はDebug.DrawLineで描画できたのですが・・・・・・
もともとは、Physics2D.OverlapCircleとかPhysics2D.OverlapBoxの判定枠をシーンビューに描画したかったのでした
Physics2D.LineCastの判定線はDebug.DrawLineで描画できたのですが・・・・・・
242名前は開発中のものです。
2018/01/01(月) 21:59:17.32ID:j7kcIBAU243名前は開発中のものです。
2018/01/02(火) 00:14:05.59ID:D2TESPw/ 回転で不可解な挙動と思ったら、角速度は上限設定あるのね
3Dオブジェクトは角速度の上限が7みたい
どおりで、回転速度があがらないわけだww
2Dオブジェクトも角速度の上限あるんかな??
3Dオブジェクトは角速度の上限が7みたい
どおりで、回転速度があがらないわけだww
2Dオブジェクトも角速度の上限あるんかな??
244名前は開発中のものです。
2018/01/02(火) 07:20:03.89ID:ItKV58jV Unityでゲーム制作を始めようとしましたが、
2DのScene画面を3Dに切り替えようとすると、
高い確率でフリーズしてしまいます。スペック不足なのでしょうか。
スペックは
macmini
2.5GHz intel core i5
16GB 1600MHz DDR3
Intel HD Graphics 4000 1024MB
OS X 10.9.5
ですが、しょぼすぎますか
2DのScene画面を3Dに切り替えようとすると、
高い確率でフリーズしてしまいます。スペック不足なのでしょうか。
スペックは
macmini
2.5GHz intel core i5
16GB 1600MHz DDR3
Intel HD Graphics 4000 1024MB
OS X 10.9.5
ですが、しょぼすぎますか
245名前は開発中のものです。
2018/01/02(火) 07:52:04.57ID:Q6Rb/Cgl 将来バーチャル配信したいと思います
とりあえずマウスの1080tiのpc全部で45万買いました
hmdはviveを買いたいです
unityもしくはアンリアル4のプログラミング学びたいです
とりあえずマウスの1080tiのpc全部で45万買いました
hmdはviveを買いたいです
unityもしくはアンリアル4のプログラミング学びたいです
246名前は開発中のものです。
2018/01/02(火) 08:10:05.14ID:XBTw6bXv Unityちゃんを動かすとデフォルトのアニメーションは髪も服も揺れるけど
他のアニメーション適用すると髪や服が動かなくなります。動かすにはどうすれば?
他のアニメーション適用すると髪や服が動かなくなります。動かすにはどうすれば?
247名前は開発中のものです。
2018/01/02(火) 08:30:25.63ID:XBTw6bXv SpringBoneというスクリプトで動かせるっていうページ見てたら
Unityちゃんのアセットについてくると書いてたけどそんなスクリプト見当たらないよ…?
https://www.assetstore.unity3d.com/jp/#!/content/18705
Unityちゃんのアセットについてくると書いてたけどそんなスクリプト見当たらないよ…?
https://www.assetstore.unity3d.com/jp/#!/content/18705
248名前は開発中のものです。
2018/01/02(火) 11:10:29.94ID:2dYW5Ky7249名前は開発中のものです。
2018/01/02(火) 11:11:46.45ID:2dYW5Ky7250名前は開発中のものです。
2018/01/02(火) 11:12:34.87ID:2dYW5Ky7■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【悲報】中国の輸入で生活してるジャップがその中国に戦争吹っ掛ける理由、誰にもわからない😰 [616817505]
- ジャップ、今更気付く。スーパー店員「レジに椅子導入したら楽になりました」 [242521385]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 【悲報】高市経済ブレーン「積極財政は円高要因ですよ」 [237216734]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
