フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
■注意事項
質問と答え以外は禁止
■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
■前スレ
【ゲームエンジン】Unityなんでも質問スレpart11
https://mevius.5ch.net/test/read.cgi/gamedev/1691129256/l50
【ゲームエンジン】Unityなんでも質問スレpart12
■ このスレッドは過去ログ倉庫に格納されています
2023/11/06(月) 16:50:23.83ID:aWH6Xwln
743名前は開発中のものです。
2023/12/18(月) 00:19:42.56ID:K1IWBfLh >>739
たぶん小学校2年生くらいの子が大人のふりして質問してるんだろw
たぶん小学校2年生くらいの子が大人のふりして質問してるんだろw
744名前は開発中のものです。
2023/12/18(月) 00:25:36.30ID:MVkMDNT9 コライダーが見えやすいようにキャラの色変えればいい
確認したら戻してさ
確認したら戻してさ
745名前は開発中のものです。
2023/12/18(月) 09:34:20.52ID:6/OIgB8+ ヒントやとっかかりはいっぱいあるのに自分でなんとかしようとしないヤツにアドバイスは無駄だよ
746名前は開発中のものです。
2023/12/18(月) 12:08:04.97ID:fQTkHHBY >>721
JaneXenoでいいじゃん
JaneXenoでいいじゃん
747名前は開発中のものです。
2023/12/18(月) 13:13:20.26ID:qHNNjjJ/748名前は開発中のものです。
2023/12/18(月) 13:41:44.95ID:YvlYLwbt この件、どうもドーンおじがでてこないと思ったらそういう事か(笑)
749名前は開発中のものです。
2023/12/18(月) 15:15:59.45ID:UniXh8AV >>748
このハゲ!
このハゲ!
750名前は開発中のものです。
2023/12/18(月) 19:20:48.61ID:791LJWa5 まぁ好きにしてくれ。
751ドーンおじ
2023/12/18(月) 19:37:17.69ID:PYe56igk 諸君!トランジスタ技術の圧縮が世にも奇妙な物語23秋の特別編で放送されるぞ!
トランジスタ技術を分解して広告部分を取り除いて再度製本するのが競技になってる世界を描いたSF短編小説のドラマ化だ!
Unityスレにぴったりの物語だろ!?お前が最後にトラ技買ったのいつだよ!?11月11日放送だ!見逃すなよ!m9⎛˶◜◡◝˶⎞ドーン!
トランジスタ技術を分解して広告部分を取り除いて再度製本するのが競技になってる世界を描いたSF短編小説のドラマ化だ!
Unityスレにぴったりの物語だろ!?お前が最後にトラ技買ったのいつだよ!?11月11日放送だ!見逃すなよ!m9⎛˶◜◡◝˶⎞ドーン!
752名前は開発中のものです。
2023/12/19(火) 00:00:29.86ID:7SuYCp/2 Randomクラスを扱う場合に、
"参照があいまい"的なエラーが出るじゃないですか?
SystemとUnityEngine両方にRandomクラスが定義されているから、という理屈はわかりました。
で、その対処方が
UnityEngine.Random.Rangeと名前空間ごと指定するで、
それをすれば問題なく動きました。
ただ、調べるともうひとつ対処法があって、
スクリプトの一番最初に書いてるusing System;を削除、というのがあったんですよ。
実際そうしてもエラーは出なくなりました。
しかし、using System;を削除って、なんか支障が出そうなんですが
そんなことないんでしょうか?
これはぜんぜん使われる対処法なんでしょうか?
Randomクラスを使うことはよくあると思うんです。
みなさんは、どちらの対処法をやってますか?
名前空間ごと指定、ですよね?
"参照があいまい"的なエラーが出るじゃないですか?
SystemとUnityEngine両方にRandomクラスが定義されているから、という理屈はわかりました。
で、その対処方が
UnityEngine.Random.Rangeと名前空間ごと指定するで、
それをすれば問題なく動きました。
ただ、調べるともうひとつ対処法があって、
スクリプトの一番最初に書いてるusing System;を削除、というのがあったんですよ。
実際そうしてもエラーは出なくなりました。
しかし、using System;を削除って、なんか支障が出そうなんですが
そんなことないんでしょうか?
これはぜんぜん使われる対処法なんでしょうか?
Randomクラスを使うことはよくあると思うんです。
みなさんは、どちらの対処法をやってますか?
名前空間ごと指定、ですよね?
753名前は開発中のものです。
2023/12/19(火) 00:28:34.39ID:x10mevWK 削除後じゃなくて別名指定できるよ
754名前は開発中のものです。
2023/12/19(火) 00:34:42.90ID:errhc0zQ755名前は開発中のものです。
2023/12/19(火) 00:58:35.07ID:rcHhGP0s >>754
どういたしまして
どういたしまして
756名前は開発中のものです。
2023/12/19(火) 01:35:05.39ID:zHZdEhB3 >>754
ワシに感謝しろよ
ワシに感謝しろよ
757名前は開発中のものです。
2023/12/19(火) 16:22:37.21ID:7SuYCp/2 すみません、自分でも調べまくってるんですが
その原因を突き止められず困り果ててるんでお知恵をお貸しください。
無数のブロックを次々生成している状況で、
そのブロックにはすべて判定のためのbox collider2dを子オブジェクトで作っており
プレイヤーがその判定枠と接触したらアイテムを生成する処理になってます。
接触判定にはOnTriggerEnter2Dを使っています。
現在テスト中で
そのブロックを次々作ってプレイヤーと接触させては
アイテムを出現させて、を繰り返してるんですが
ブロックを数十個生成してる途中、稀にひとつほど
プレイヤーを接触する前にアイテムを生成するブロックが生まれます。
プレハブのブロックなのでスプリクトは同じはずだし、
アイテム生成には条件式にOnTriggerEnter2Dの判定を入れているので
毎度ひとつのブロックだけそうなるのも意味不明ですし、
プレイヤーが接触してないのにアイテム生成されるのも意味不明です。
熟練者の皆様ならもしかしたら推測できるのかなと思って、、
このバグの原因を調べる術を教えてください。
(コードを貼れば早いかもしれませんがすでに膨大な量ですのでそこは割愛させてください)
その原因を突き止められず困り果ててるんでお知恵をお貸しください。
無数のブロックを次々生成している状況で、
そのブロックにはすべて判定のためのbox collider2dを子オブジェクトで作っており
プレイヤーがその判定枠と接触したらアイテムを生成する処理になってます。
接触判定にはOnTriggerEnter2Dを使っています。
現在テスト中で
そのブロックを次々作ってプレイヤーと接触させては
アイテムを出現させて、を繰り返してるんですが
ブロックを数十個生成してる途中、稀にひとつほど
プレイヤーを接触する前にアイテムを生成するブロックが生まれます。
プレハブのブロックなのでスプリクトは同じはずだし、
アイテム生成には条件式にOnTriggerEnter2Dの判定を入れているので
毎度ひとつのブロックだけそうなるのも意味不明ですし、
プレイヤーが接触してないのにアイテム生成されるのも意味不明です。
熟練者の皆様ならもしかしたら推測できるのかなと思って、、
このバグの原因を調べる術を教えてください。
(コードを貼れば早いかもしれませんがすでに膨大な量ですのでそこは割愛させてください)
758名前は開発中のものです。
2023/12/19(火) 16:26:37.16ID:7SuYCp/2 個人的には、アイテム生成の判定に
OnTriggerEnter2D==trueを使ってる時点で
なにも接触してないのにアイテムが生成されるのは
ありえないと思っています。
しかし、別の中にかの作用でまったく関係ない場所で
バグが発生する、というのもよくある話なので
先輩方ならなんか推測できるかなと思って相談させて頂きました。
OnTriggerEnter2D==trueを使ってる時点で
なにも接触してないのにアイテムが生成されるのは
ありえないと思っています。
しかし、別の中にかの作用でまったく関係ない場所で
バグが発生する、というのもよくある話なので
先輩方ならなんか推測できるかなと思って相談させて頂きました。
759名前は開発中のものです。
2023/12/19(火) 16:31:25.76ID:7SuYCp/2 あ、すみません。解決しました。
書き込んだあと、すぐ原因突き止めました。
書き込んだあと、すぐ原因突き止めました。
760名前は開発中のものです。
2023/12/19(火) 18:19:10.15ID:x10mevWK 書き込むと何故か解決する
あるある
あるある
761名前は開発中のものです。
2023/12/19(火) 18:43:48.04ID:jor50pa0 マジでこれあるんだよな
762ドーンおじ
2023/12/19(火) 18:45:25.31ID:OAl8ngR0 ワイの環境は明窓浄机という言葉が相応しい!m9⎛˶◜◡◝˶⎞ドーン!
ttps://i.imgur.com/tJ6x7JM.jpeg
ttps://i.imgur.com/tJ6x7JM.jpeg
763名前は開発中のものです。
2023/12/19(火) 18:47:48.54ID:AbGIjmnR rigidbody2dの判定回数を連続にすればいいと思いますとまぁ
解決してるだろうけど書いておく
解決してるだろうけど書いておく
764名前は開発中のものです。
2023/12/19(火) 19:08:28.74ID:zkgZfzRE なんで解決法を書かないの?
765名前は開発中のものです。
2023/12/19(火) 21:36:05.95ID:JdOvXqXW そりゃ問題提起のため言語化して整理してるから。
766名前は開発中のものです。
2023/12/19(火) 21:42:18.46ID:x10mevWK 解決法?そりゃお前らにかんかーねーから
767名前は開発中のものです。
2023/12/19(火) 22:14:57.80ID:Mib7bgnr あるあるすぎてこわい
768名前は開発中のものです。
2023/12/19(火) 23:34:13.74ID:zkgZfzRE 俺らに関係なくても
同じような悩み持った人が>>757の質問にたどり着くかもしれないだろ
同じような悩み持った人が>>757の質問にたどり着くかもしれないだろ
769名前は開発中のものです。
2023/12/20(水) 07:03:42.63ID:rcYWDYRg すみません、
public GameObject targetObj;
と
[SerializeField] GameObject targetObj;
このどちらの記述方法でもインスペクタにtargetObjの枠が生成されますよね?
なにか違うんでしょうか。
使い分けとかあるんでしょうか?
public GameObject targetObj;
と
[SerializeField] GameObject targetObj;
このどちらの記述方法でもインスペクタにtargetObjの枠が生成されますよね?
なにか違うんでしょうか。
使い分けとかあるんでしょうか?
770名前は開発中のものです。
2023/12/20(水) 07:44:58.98ID:ggPGSH2z >>769
上のはオブジェクト指向においてそのメンバが他のクラスにも公開されることを
意味してて
下のはオブジェクト指向においてそのメンバが公開されていない、つまり
「隠蔽」されていることを意味してる
下のは「隠蔽を維持したままインスペクターに表示させたい」という仕様
エキスパートのコードを見ると下のコードが書かれることが多い
そういうのはオブジェクト指向といって主に複数人開発で用いられる
俺はぼっち開発なのでそんなの気にしたことない
余裕で上のやり方を使っている
上のはオブジェクト指向においてそのメンバが他のクラスにも公開されることを
意味してて
下のはオブジェクト指向においてそのメンバが公開されていない、つまり
「隠蔽」されていることを意味してる
下のは「隠蔽を維持したままインスペクターに表示させたい」という仕様
エキスパートのコードを見ると下のコードが書かれることが多い
そういうのはオブジェクト指向といって主に複数人開発で用いられる
俺はぼっち開発なのでそんなの気にしたことない
余裕で上のやり方を使っている
771名前は開発中のものです。
2023/12/20(水) 07:51:51.43ID:C7Jnfw35 >>769
パブリックは他のスクリプトからでもそのプロパティを使えるようになる
シリアライズフィールドはインスペクターで値を変更できるようになる他のスクリプトからは使えない
プロがシリアライズフィールドを使う理由は他のスクリプトからそのプロパティを変更されて悪影響を及ばされる可能性があるから
外部に出すプロパティとそのスクリプトでしか使わないプロパティをきちんと分けてる
パブリックは他のスクリプトからでもそのプロパティを使えるようになる
シリアライズフィールドはインスペクターで値を変更できるようになる他のスクリプトからは使えない
プロがシリアライズフィールドを使う理由は他のスクリプトからそのプロパティを変更されて悪影響を及ばされる可能性があるから
外部に出すプロパティとそのスクリプトでしか使わないプロパティをきちんと分けてる
772名前は開発中のものです。
2023/12/20(水) 08:38:24.68ID:tcfIGz3i >>768
大丈夫。>757の質問が意味不過ぎて例題にならない
大丈夫。>757の質問が意味不過ぎて例題にならない
773名前は開発中のものです。
2023/12/20(水) 09:17:17.08ID:C7Jnfw35 Unityのエディター拡張で3DViewPortって作れるんだっけ?
774名前は開発中のものです。
2023/12/20(水) 09:22:10.77ID:wQ4ITWMI コードをうまく言語化して説明できないという事は
考えが整理できてないからまず書き出して整理してみよう
というあるあるだろ
考えが整理できてないからまず書き出して整理してみよう
というあるあるだろ
775名前は開発中のものです。
2023/12/20(水) 09:26:03.26ID:wQ4ITWMI776名前は開発中のものです。
2023/12/20(水) 09:34:46.40ID:wQ4ITWMI レベルエディタレベルのものをもう一画面追加できるならむしろ聞きたいけど
777ドーンおじ
2023/12/20(水) 10:57:43.83ID:z+oVE4GA 裏コード777!m9⎛˶◜◡◝˶⎞ドーン!
778名前は開発中のものです。
2023/12/20(水) 12:06:03.92ID:C7Jnfw35779名前は開発中のものです。
2023/12/20(水) 12:12:41.81ID:C7Jnfw35 プレハブビューみたいな感じ
780名前は開発中のものです。
2023/12/20(水) 16:21:49.58ID:rcYWDYRg >>770
>>771
皆様、丁寧に教えてくだってありがとうございます。
なんとなく理解できました。
触らせたくないなら別に前者でもprivate GameObject targetObj;とすればいいんじゃないかと思ったんですが
なるほど、privateで宣言するとインスペクタに表示されないんですね。。
つまり、後者はInspectorからアクセスしたいけども
他のスクリプトからは触れさせたくない、要はインスペクタで触りたいけど、privateでお願いって時には
[SerializeField] を利用するんですね。
だとすると自分の様な初心者にはprivateであるべき状況というのが
まだ出くわしたことないし、その想像もできないんで
>>770さんみたく前者の方法で問題ない感じですね。自分もぼっち開発ですし。
またひとつ成長できました、ありがとうございます!
>>771
皆様、丁寧に教えてくだってありがとうございます。
なんとなく理解できました。
触らせたくないなら別に前者でもprivate GameObject targetObj;とすればいいんじゃないかと思ったんですが
なるほど、privateで宣言するとインスペクタに表示されないんですね。。
つまり、後者はInspectorからアクセスしたいけども
他のスクリプトからは触れさせたくない、要はインスペクタで触りたいけど、privateでお願いって時には
[SerializeField] を利用するんですね。
だとすると自分の様な初心者にはprivateであるべき状況というのが
まだ出くわしたことないし、その想像もできないんで
>>770さんみたく前者の方法で問題ない感じですね。自分もぼっち開発ですし。
またひとつ成長できました、ありがとうございます!
781名前は開発中のものです。
2023/12/20(水) 16:22:37.10ID:2Ax+7Ufb >>780
おうがんばれ
おうがんばれ
782名前は開発中のものです。
2023/12/20(水) 16:23:13.46ID:rcYWDYRg 早速、今まで理由もわからず[SerializeField] 型名 変数名; と宣言してたものを
すべてpublic 型名 変数名;に置き換えてみましたが
今の所何も変わらず正常に動いてくれています。
基本的に、[SerializeField] で宣言してたものをpublicに変更しても
そのアタッチしたものが他所から触れる様になるだけで
それ以外は別に一緒で支障が出ることなく変更できる認識でいますが
それで問題はないですか?
[SerializeField] じゃないとインスペクタに表示されないとか
宣言できないとかいうケースないですよね??
すべてpublic 型名 変数名;に置き換えてみましたが
今の所何も変わらず正常に動いてくれています。
基本的に、[SerializeField] で宣言してたものをpublicに変更しても
そのアタッチしたものが他所から触れる様になるだけで
それ以外は別に一緒で支障が出ることなく変更できる認識でいますが
それで問題はないですか?
[SerializeField] じゃないとインスペクタに表示されないとか
宣言できないとかいうケースないですよね??
783名前は開発中のものです。
2023/12/20(水) 16:25:34.25ID:rcYWDYRg 例えば「ゲーム制作してるならセーブのシステム作る時とか、絶対[SerializeField]使うことになるから」、とか。
784名前は開発中のものです。
2023/12/20(水) 16:36:51.90ID:2Ax+7Ufb 問題ないよ
上でも言った通り他のスクリプトから触れちゃうから取り扱い注意しないと変な値を入れて不具合出るかもって感じ
上でも言った通り他のスクリプトから触れちゃうから取り扱い注意しないと変な値を入れて不具合出るかもって感じ
785名前は開発中のものです。
2023/12/20(水) 16:41:48.63ID:rcYWDYRg >>784
ありがとうございます!
ありがとうございます!
786名前は開発中のものです。
2023/12/21(木) 00:28:30.61ID:2yqws0uM >>778
先に言っとくけどsceneビューで表示した方が速いし軽いし便利
public class Interactive3DViewport : EditorWindow
{
private Camera viewportCamera;
private GameObject prefabInstance;
private string prefabPath = "Assets/Path/To/Your/Prefab.prefab"; // プレハブのパス
[MenuItem("Window/Interactive 3D Viewport")]
public static void ShowWindow()
{
GetWindow<Interactive3DViewport>("3D Viewport");
}
void OnEnable()
{
GameObject cameraObj = new GameObject("Viewport Camera");
viewportCamera = cameraObj.AddComponent<Camera>();
viewportCamera.clearFlags = CameraClearFlags.SolidColor;
viewportCamera.backgroundColor = Color.gray;
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);
prefabInstance = Instantiate(prefab);
}
void OnGUI()
{
if (viewportCamera != null)
{
Rect camRect = new Rect(0, 0, position.width, position.height);
viewportCamera.pixelRect = camRect;
Handles.DrawCamera(camRect, viewportCamera);
}
}
}
先に言っとくけどsceneビューで表示した方が速いし軽いし便利
public class Interactive3DViewport : EditorWindow
{
private Camera viewportCamera;
private GameObject prefabInstance;
private string prefabPath = "Assets/Path/To/Your/Prefab.prefab"; // プレハブのパス
[MenuItem("Window/Interactive 3D Viewport")]
public static void ShowWindow()
{
GetWindow<Interactive3DViewport>("3D Viewport");
}
void OnEnable()
{
GameObject cameraObj = new GameObject("Viewport Camera");
viewportCamera = cameraObj.AddComponent<Camera>();
viewportCamera.clearFlags = CameraClearFlags.SolidColor;
viewportCamera.backgroundColor = Color.gray;
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);
prefabInstance = Instantiate(prefab);
}
void OnGUI()
{
if (viewportCamera != null)
{
Rect camRect = new Rect(0, 0, position.width, position.height);
viewportCamera.pixelRect = camRect;
Handles.DrawCamera(camRect, viewportCamera);
}
}
}
787名前は開発中のものです。
2023/12/21(木) 00:29:32.69ID:2yqws0uM 無茶評判悪くて使ってくれない
788名前は開発中のものです。
2023/12/21(木) 06:24:35.71ID:/spufi4i789名前は開発中のものです。
2023/12/21(木) 08:30:53.17ID:2yqws0uM >>788
あと
void OnDestroy()
{
if (viewportCamera != null)
{
DestroyImmediate(viewportCamera.gameObject);
}
if (prefabInstance != null)
{
DestroyImmediate(prefabInstance);
}
}
しないと解放されないしいい事なんかない
モーション再生したりとか色々自力になるし
あと
void OnDestroy()
{
if (viewportCamera != null)
{
DestroyImmediate(viewportCamera.gameObject);
}
if (prefabInstance != null)
{
DestroyImmediate(prefabInstance);
}
}
しないと解放されないしいい事なんかない
モーション再生したりとか色々自力になるし
790名前は開発中のものです。
2023/12/21(木) 08:32:41.26ID:/spufi4i791名前は開発中のものです。
2023/12/22(金) 06:47:26.04ID:BHw2hwhe すみません、素朴な疑問なんですけど
Input.GetKey("space");って今のUnityじゃエラーになるんですか?
Input.GetKey("KeyCode.Space");なら動きました。
どういうことでしょう?
Input.GetKey("space");って今のUnityじゃエラーになるんですか?
Input.GetKey("KeyCode.Space");なら動きました。
どういうことでしょう?
792名前は開発中のものです。
2023/12/22(金) 07:31:08.46ID:5SOhTIkJ そりゃエライコッチャ
793名前は開発中のものです。
2023/12/22(金) 07:58:17.85ID:2bdzIp1f794名前は開発中のものです。
2023/12/22(金) 08:24:48.28ID:OLG1WtwV KeyCode.Spaceという名前をつけたんだろw
795名前は開発中のものです。
2023/12/22(金) 09:16:45.04ID:bOlEfo0c 役所とかの記入例に
山田太郎
ってあるとそのまま書いちゃうタイプとか
山田太郎
ってあるとそのまま書いちゃうタイプとか
796名前は開発中のものです。
2023/12/22(金) 09:46:30.94ID:E/2yW4GT ジェンダーレスの観点から最近の記入例の名前って、、、
797名前は開発中のものです。
2023/12/22(金) 17:17:43.62ID:BHw2hwhe すみません、徹夜明けで>>791は寝ぼけていた様です。
言いたいことは、
if(Input.GetKeyDown( )){
処理
}の記述をしたとして、
if(Input.GetKeyDown("Space"))はエラーにならないのに
if(Input.GetKeyDown("UpArrow"))はエラーになるんです。
両方、KeyCodeに書かれてるやつです。
なぜUpArrowは「入力キーの名前: UpArrow が不明です」とエラーが出るんです?
なのでUpArrowを使いたい時は
Input.GetKeyDown(KeyCode.UpArrow)という記述方法にしてるんです。
これだと動きます。
どーいうことですか?
言いたいことは、
if(Input.GetKeyDown( )){
処理
}の記述をしたとして、
if(Input.GetKeyDown("Space"))はエラーにならないのに
if(Input.GetKeyDown("UpArrow"))はエラーになるんです。
両方、KeyCodeに書かれてるやつです。
なぜUpArrowは「入力キーの名前: UpArrow が不明です」とエラーが出るんです?
なのでUpArrowを使いたい時は
Input.GetKeyDown(KeyCode.UpArrow)という記述方法にしてるんです。
これだと動きます。
どーいうことですか?
798名前は開発中のものです。
2023/12/22(金) 17:21:22.32ID:BHw2hwhe >>794
俺より初心者ですか?
これでも正常に動くんですが。
if(Input.GetKeyDown(KeyCode.Space))
恥かかない様にここ見ておいた方がいいですよ。
https://raruton.com/unity-how-to-use-input-key/
↓抜粋しときますね
>Inputクラスを使用することでキーボードを検出することができます。
>各キーコードは、以下の***の部分に変えることで使用することができます。
>Input.GeyKey(KeyCode.***)
>矢印キー
>上キー UpArrow
>下キー DownArrow
>右キー RightArrow
>左キー LeftArrow
俺より初心者ですか?
これでも正常に動くんですが。
if(Input.GetKeyDown(KeyCode.Space))
恥かかない様にここ見ておいた方がいいですよ。
https://raruton.com/unity-how-to-use-input-key/
↓抜粋しときますね
>Inputクラスを使用することでキーボードを検出することができます。
>各キーコードは、以下の***の部分に変えることで使用することができます。
>Input.GeyKey(KeyCode.***)
>矢印キー
>上キー UpArrow
>下キー DownArrow
>右キー RightArrow
>左キー LeftArrow
799名前は開発中のものです。
2023/12/22(金) 17:26:43.86ID:BHw2hwhe ああ、KeyCode.***をダブルクオートで囲んでるのは間違いだよって
言いたかったんですね。それは失礼しました。
では、ダブルクオートで囲む場合の
上キー取得はどう書けばいいですか?
なぜ"UpArrow"でいけないのか理由を知りたいです。
言いたかったんですね。それは失礼しました。
では、ダブルクオートで囲む場合の
上キー取得はどう書けばいいですか?
なぜ"UpArrow"でいけないのか理由を知りたいです。
800名前は開発中のものです。
2023/12/22(金) 18:16:58.93ID:E/2yW4GT さぁ
恥かかないようにプロ
ドーンおじの出番だぞ
恥かかないようにプロ
ドーンおじの出番だぞ
801ドーンおじ
2023/12/22(金) 21:09:25.57ID:8+fTW2o0 |._、|
||不|| 呼ばれて飛び出てドドドドーン!
||審||
||者||⌒ ミ
||で||д・`) いや、””で囲っても動くって知らんかったわ
||す|| とノ マジならヒッパルコスショック級の大発見だよ!
|  ̄.|ωJ
||不|| 呼ばれて飛び出てドドドドーン!
||審||
||者||⌒ ミ
||で||д・`) いや、””で囲っても動くって知らんかったわ
||す|| とノ マジならヒッパルコスショック級の大発見だよ!
|  ̄.|ωJ
802名前は開発中のものです。
2023/12/22(金) 22:57:20.07ID:g3YA246s そういう時プログラマーはKeyCode.UpArrowの中身を見てみようと思うもんだよ
803名前は開発中のものです。
2023/12/22(金) 23:57:39.56ID:8Y1XMAir 自信満々に「恥かかない様にここ見ておいた方がいいですよ(キリッ」とかいうから見てみたら個人のHPか
スクリプトリファレンスでも持ってきたのかと思った
で、ちょっと見てきたが、stringで指定する場合はInput Managerのスクリプトリファレンスにあるとおりの名称でないとダメみたいだな
出所のよくわからん情報を鵜呑みにする前に、正規の手順書を読んでおいた方がいいぞ
あとif(Input.GetKeyDown("Space"))は同様にエラー吐くはずだ(というか試したら吐いた)から、まだ何か間違ってそう
GetKeyDown("space")なら問題ない
スクリプトリファレンスでも持ってきたのかと思った
で、ちょっと見てきたが、stringで指定する場合はInput Managerのスクリプトリファレンスにあるとおりの名称でないとダメみたいだな
出所のよくわからん情報を鵜呑みにする前に、正規の手順書を読んでおいた方がいいぞ
あとif(Input.GetKeyDown("Space"))は同様にエラー吐くはずだ(というか試したら吐いた)から、まだ何か間違ってそう
GetKeyDown("space")なら問題ない
804名前は開発中のものです。
2023/12/23(土) 18:59:12.82ID:HGJpkM3P たぶん質問者を装った新手の荒らしだろう
普通の人は「恥かかない様にここ見ておいた方がいいですよ」とか絶対言わない
普通の人は「恥かかない様にここ見ておいた方がいいですよ」とか絶対言わない
805名前は開発中のものです。
2023/12/23(土) 19:45:00.12ID:JuXwVXQj >>799
ダブルクォートで囲う方はひとまず覚えなくて良いと思うけどな。
KeyCodeを引数として取る方があるならそちらを使うべきだ。
どのプログラム言語でもダブルクォートで囲むと文字列になるので実行するタイミングでないとエラーに気づかないよ。
KeyCodeを引数に取る方なら誤りがコーディング時にわかる。
Unity初心者なので推測だけど、他言語の経験からすると文字列を引数として取る場合はリフレクションで合致するメソッドを呼び出すことになるはず。
エラーになるのは合致するメソッドがないってことだろう。Input.GetKeyDownのソースコードを読むのが手っ取り早いかと思う。文字列からメソッド呼び出しをどのように組み立ててるのかわかればどういった文字列を渡せばいいか見えるだろう。
ダブルクォートで囲う方はひとまず覚えなくて良いと思うけどな。
KeyCodeを引数として取る方があるならそちらを使うべきだ。
どのプログラム言語でもダブルクォートで囲むと文字列になるので実行するタイミングでないとエラーに気づかないよ。
KeyCodeを引数に取る方なら誤りがコーディング時にわかる。
Unity初心者なので推測だけど、他言語の経験からすると文字列を引数として取る場合はリフレクションで合致するメソッドを呼び出すことになるはず。
エラーになるのは合致するメソッドがないってことだろう。Input.GetKeyDownのソースコードを読むのが手っ取り早いかと思う。文字列からメソッド呼び出しをどのように組み立ててるのかわかればどういった文字列を渡せばいいか見えるだろう。
806名前は開発中のものです。
2023/12/24(日) 07:00:55.84ID:QdSrzL7+ 質問です
今ロードされているクラスやメソッド、プロパティなどを一括でリストアップする方法はありますけ
javascriptだとよくやると思うんけんど
今ロードされているクラスやメソッド、プロパティなどを一括でリストアップする方法はありますけ
javascriptだとよくやると思うんけんど
807名前は開発中のものです。
2023/12/24(日) 10:02:59.82ID:QdSrzL7+ アイフォーンで旧5chのビューワてのは、mateしかないの?使いにくい
課金で快適なら払うから何かないですけ
課金で快適なら払うから何かないですけ
808ドーンおじ
2023/12/24(日) 10:44:30.80ID:TUdbxFTN809名前は開発中のものです。
2023/12/24(日) 11:22:23.36ID:uDi0Ooh/810名前は開発中のものです。
2023/12/24(日) 11:34:10.24ID:Ide0h4st すみません、プレイヤーのBox Collider 2Dと
地面のBox Collider 2Dの間に「0.05fほどの隙間」が出来てるんです。
ものスゴくズームアップしないとわからないくらいですが
プレイヤーが0.05浮いてるんです。これはどうしようもないんでしょうか?
それぞれ画像幅ギリギリまでBox Collider 2Dの四角は設定しています。
なのに浮いてるんですけど、これはこんなもんだと諦めるもんでしょうか。
気になってるんですが。。。
ちなみに、もちろんですがプレイヤーのBox Collider 2Dの底を画像よりもえぐると
画像が下がり地面に乗ってる様になりますが、Box Collider 2Dは地面に触れていません。
なにが問題なんでしょうか?
地面のBox Collider 2Dの間に「0.05fほどの隙間」が出来てるんです。
ものスゴくズームアップしないとわからないくらいですが
プレイヤーが0.05浮いてるんです。これはどうしようもないんでしょうか?
それぞれ画像幅ギリギリまでBox Collider 2Dの四角は設定しています。
なのに浮いてるんですけど、これはこんなもんだと諦めるもんでしょうか。
気になってるんですが。。。
ちなみに、もちろんですがプレイヤーのBox Collider 2Dの底を画像よりもえぐると
画像が下がり地面に乗ってる様になりますが、Box Collider 2Dは地面に触れていません。
なにが問題なんでしょうか?
811名前は開発中のものです。
2023/12/24(日) 11:45:51.22ID:uDi0Ooh/ 何か問題があるのかが問題だな
812名前は開発中のものです。
2023/12/24(日) 12:01:39.54ID:hh66dHMo >>810
自分が作ろうとするものに障害が出てるのか?出ていないなら無視することをお勧めする。無視して次に取り掛かった方が良いかと。
自分が作ろうとするものに障害が出てるのか?出ていないなら無視することをお勧めする。無視して次に取り掛かった方が良いかと。
813名前は開発中のものです。
2023/12/24(日) 12:04:28.10ID:Ide0h4st 自分のそれぞれのオブジェクトのせいかなと思って、
今新規でオブジェクトを作ってBox Collider 2DとRigidbody 2Dをアタッチして、
数値もなにも触らずに積み上げてみてるんですが、
まじで全部0.05ほど間隔あいて乗っかってます。。。
え、これBox Collider 2Dの仕様なんですか???
今新規でオブジェクトを作ってBox Collider 2DとRigidbody 2Dをアタッチして、
数値もなにも触らずに積み上げてみてるんですが、
まじで全部0.05ほど間隔あいて乗っかってます。。。
え、これBox Collider 2Dの仕様なんですか???
814名前は開発中のものです。
2023/12/24(日) 14:08:06.97ID:QdSrzL7+815ドーンおじ
2023/12/24(日) 14:22:28.96ID:TUdbxFTN >>814
キミがエロゲ開発者で市場調査の為にピンクBBSもチェックしたいというのなら褒めてやるが
風俗情報とかエロ画像とかエロ動画収集の為にピンクBBSが見たいとか云うのだったらお前は救いようがないぞ!m9⎛˶◜◡◝˶⎞ドーン!
キミがエロゲ開発者で市場調査の為にピンクBBSもチェックしたいというのなら褒めてやるが
風俗情報とかエロ画像とかエロ動画収集の為にピンクBBSが見たいとか云うのだったらお前は救いようがないぞ!m9⎛˶◜◡◝˶⎞ドーン!
816名前は開発中のものです。
2023/12/24(日) 14:38:33.23ID:+fjq6R3r 実行すると0.0149くらい浮き上がるな。気にした事もなかったが仕様というか、
Physicsの性質を考えれば当然の結果。
Physicsは現実世界と全く異なりColliderが
接触したら接触したものを弾き続ける事で接触表現をしている。
ヘディングでボールをド突き続けてその場にとどまらせている様に
見せかけているようなもので、ある程度離れたら吹っ飛ばすのを止める。
計算上その許容範囲となる距離がそれというだけ。
Physicsの性質を考えれば当然の結果。
Physicsは現実世界と全く異なりColliderが
接触したら接触したものを弾き続ける事で接触表現をしている。
ヘディングでボールをド突き続けてその場にとどまらせている様に
見せかけているようなもので、ある程度離れたら吹っ飛ばすのを止める。
計算上その許容範囲となる距離がそれというだけ。
817名前は開発中のものです。
2023/12/24(日) 14:45:18.52ID:+fjq6R3r 因みにこの話は昔のblenderのwikiでBOSDというエンジニアが深堀りしたネタに書いてあった
今はもう見れないらしい
今はもう見れないらしい
818名前は開発中のものです。
2023/12/24(日) 15:14:37.08ID:+fjq6R3r ま、PhysX SDKでもDLして中身見てみたらいんじゃね?
初期値を設定するソースやプリプロセッサがありそう なきゃ弄れんが
初期値を設定するソースやプリプロセッサがありそう なきゃ弄れんが
819名前は開発中のものです。
2023/12/24(日) 16:20:49.31ID:QdSrzL7+820名前は開発中のものです。
2023/12/24(日) 16:49:46.50ID:Ide0h4st821名前は開発中のものです。
2023/12/24(日) 16:57:22.08ID:KwpGLxv5 チュートリアルでもやってるやん
きちっとしたのより大まかな方がGame的にもいいって
チュートリアルやりなさい
きちっとしたのより大まかな方がGame的にもいいって
チュートリアルやりなさい
822名前は開発中のものです。
2023/12/24(日) 19:48:16.57ID:tcvjHcGu 物理エンジン自作すればいいよ
そしたら全部自分の想定通りにできるから
所詮他人の作ったものに載ってるんだから自分が合わせるしかない
作りたいものがそれと合わないなら物理エンジン自作すんの普通
そしたら全部自分の想定通りにできるから
所詮他人の作ったものに載ってるんだから自分が合わせるしかない
作りたいものがそれと合わないなら物理エンジン自作すんの普通
823名前は開発中のものです。
2023/12/24(日) 20:55:57.14ID:LoUQoouk824名前は開発中のものです。
2023/12/24(日) 21:02:45.34ID:tcvjHcGu 2D限定ならそんなに難しくないよ
825名前は開発中のものです。
2023/12/24(日) 21:13:48.80ID:KwpGLxv5 いや、ヤツには2Dとかカンケーないからね
826名前は開発中のものです。
2023/12/24(日) 22:11:14.10ID:tcvjHcGu いつまでも文句ばかりつけてるし
折角教えてくれてる人すら小馬鹿にする
これくらいいわなきゃダメでしょ
折角教えてくれてる人すら小馬鹿にする
これくらいいわなきゃダメでしょ
827ドーンおじ
2023/12/24(日) 22:45:20.41ID:TUdbxFTN 今日も元気だ暴飲暴食!スーパー玉出で豪遊してきた!
パーティーセット!ちらし寿司!ビール350㍑!これでたったの999円!m9⎛˶◜◡◝˶⎞ドーン!
ttps://i.imgur.com/cSGAUnA.jpeg
パーティーセット!ちらし寿司!ビール350㍑!これでたったの999円!m9⎛˶◜◡◝˶⎞ドーン!
ttps://i.imgur.com/cSGAUnA.jpeg
828名前は開発中のものです。
2023/12/24(日) 22:53:51.92ID:KwpGLxv5 毎回コピペ貼って
つまらん人
つまらん人
829ドーンおじ
2023/12/24(日) 23:31:40.74ID:TUdbxFTN 彡 ⌒ ミ コピペじゃねー!
⎛´・ω・`⎞
/⌒ヽ_.ィ、~;y=ー(゚д゚)・・∵. ドーン!>>828
( r. )^ / )
ヽノノー◆-l //
|__/_/
└一'一
⎛´・ω・`⎞
/⌒ヽ_.ィ、~;y=ー(゚д゚)・・∵. ドーン!>>828
( r. )^ / )
ヽノノー◆-l //
|__/_/
└一'一
830名前は開発中のものです。
2023/12/24(日) 23:46:27.70ID:MZheNekv Quest民がご迷惑をおかけして誠に申し訳ございません
ドーン!!!言いたいだけで悪気は無いんです!!!!
ドーン!!!言いたいだけで悪気は無いんです!!!!
831名前は開発中のものです。
2023/12/25(月) 11:12:59.02ID:XFhImm+a 暴飲暴食で内耳がむくんでめまいでぶっ倒れて救急車よんだは
片方の耳が聞こえない
一週間入院だと
皆もきをつけよう
片方の耳が聞こえない
一週間入院だと
皆もきをつけよう
832名前は開発中のものです。
2023/12/25(月) 12:46:50.04ID:sQ8Yj6Wl お大事に どーんおじさん
833名前は開発中のものです。
2023/12/25(月) 16:55:39.12ID:3JGs8zzg すみません、Unityって
下からすり抜けられる床ってPlatform Effector 2Dで
簡単に作れるじゃないですか。
逆に上から(例えば下入力で)すり抜けて降りられる床を作るための
コンポーネントって無いんでしょうか?
前者に対応しているなら、後者にも対応してそうなんですが見当たらなくて。
で、無いなら無いで自分で作ろう(その時にBox Colliderの判定無くすとか)とは
思っていますが。前者の処理を考えるとえらくめんどくさい作業を強いる状況だなと
思わずにはいられません。
なので"すり抜けて下に降りられる床"を作るコンポーネントあるんじゃないの?
って気分で、相談させてもらいました。
ずばり、どうなんですか?
下からすり抜けられる床ってPlatform Effector 2Dで
簡単に作れるじゃないですか。
逆に上から(例えば下入力で)すり抜けて降りられる床を作るための
コンポーネントって無いんでしょうか?
前者に対応しているなら、後者にも対応してそうなんですが見当たらなくて。
で、無いなら無いで自分で作ろう(その時にBox Colliderの判定無くすとか)とは
思っていますが。前者の処理を考えるとえらくめんどくさい作業を強いる状況だなと
思わずにはいられません。
なので"すり抜けて下に降りられる床"を作るコンポーネントあるんじゃないの?
って気分で、相談させてもらいました。
ずばり、どうなんですか?
834名前は開発中のものです。
2023/12/25(月) 17:50:22.42ID:UnlwkJ4/ 反対にすりゃいいんじゃね?
835名前は開発中のものです。
2023/12/25(月) 20:01:49.19ID:3JGs8zzg836名前は開発中のものです。
2023/12/25(月) 20:02:25.64ID:6JGNkNKZ >>835
普通1秒で気がつくと思うんだがw
普通1秒で気がつくと思うんだがw
837名前は開発中のものです。
2023/12/25(月) 20:05:45.89ID:ZUSCK9s7 ちなみに反転させると
アイテムとかモンスターまでつられて落ちるので要対策ですよ(経験者)
アイテムとかモンスターまでつられて落ちるので要対策ですよ(経験者)
838名前は開発中のものです。
2023/12/25(月) 22:00:54.78ID:3JGs8zzg んーー、ひっくり返すと言うやり方で試そうといろいろ構想したんですが
これ、オブジェクト自体をひっくり返す必要があるんですね。
自分のオブジェクトのコライダーは画像のサイズとは違うんで
そのとき敵が歩いてきた場合も考えたら床の高さ変えちゃダメなんで
positionも変更しないといけない。敵だけが降りるときもそうだし、
なんかいろいろ設定しなきゃならないんでめんどいかも。
そのオブジェクトが下に移動したいときは
シンプルに地面と接触しているときに
タグが地面のオブジェクトに対してはすり抜ける状態にする。
のほうがラクそうなんでそうすることにします。
これ、オブジェクト自体をひっくり返す必要があるんですね。
自分のオブジェクトのコライダーは画像のサイズとは違うんで
そのとき敵が歩いてきた場合も考えたら床の高さ変えちゃダメなんで
positionも変更しないといけない。敵だけが降りるときもそうだし、
なんかいろいろ設定しなきゃならないんでめんどいかも。
そのオブジェクトが下に移動したいときは
シンプルに地面と接触しているときに
タグが地面のオブジェクトに対してはすり抜ける状態にする。
のほうがラクそうなんでそうすることにします。
839名前は開発中のものです。
2023/12/25(月) 22:25:23.52ID:3JGs8zzg あらかじめ床をすり抜けないレイヤーとすり抜けるレイヤーを作っておいて
都度一時的に変更するとかいいですね。
都度一時的に変更するとかいいですね。
840名前は開発中のものです。
2023/12/26(火) 00:42:22.47ID:t091BZza >>839の方法、めっちゃ簡単だと喜んで実装してたら
Platform Effector 2Dをアタッチしていると
(厳密にはUsed By Effectorを有効にしてると)
なんとレイヤー側の設定が機能してくれない!!!
最悪!!!!!意味わからないです!
接触判定を消したい相手方を認識して
そのオブジェクトのUsed By Effectorのチェックを外すコードを
書かなきゃならない。
それを回避するためのレイヤー設定なのに!!!!!
なんだこれ。。。。
Platform Effector 2Dをアタッチしていると
(厳密にはUsed By Effectorを有効にしてると)
なんとレイヤー側の設定が機能してくれない!!!
最悪!!!!!意味わからないです!
接触判定を消したい相手方を認識して
そのオブジェクトのUsed By Effectorのチェックを外すコードを
書かなきゃならない。
それを回避するためのレイヤー設定なのに!!!!!
なんだこれ。。。。
841名前は開発中のものです。
2023/12/26(火) 00:50:48.74ID:t091BZza 初心者が一番避けたいことって、オブジェクトをまたいでなにかしたり、
別のオブジェクトを触ることなんですよ。
そこの理解がうやむやというか、理解が完璧じゃないんで。
自分のオブジェクト内で解決するコードや設定が一番嬉しいんです。
今回で言えば、床に立って床をすり抜けて下に降りるってことなんですが
床の情報をもらったり、情報を与えたり、しなくて済むのが一番なんです。
そしたらまずなにを考えるかというと、プレイヤーのオブジェクトの
あたり判定を数フレーム無くすってことです。そしたら通り抜け落ちるわけで。
でもそれをしたら、敵や敵の弾に対してもそのとき通り抜けちゃう。だからそれができんのです。
だから、床のみに対して衝突判定を消したいと。
レイヤーでわけて、自分のレイヤーを切り替えるだけで
床だけをすり抜けるプレイヤーに変われる、よし!って。
なのに、床の方にPlatform Effector 2Dをアタッチしてる。
そのPlatform Effector 2Dが邪魔をして、レイヤーの設定が機能しない!
unityさん、なぜそうした?意味わからないですよ!!
別のオブジェクトを触ることなんですよ。
そこの理解がうやむやというか、理解が完璧じゃないんで。
自分のオブジェクト内で解決するコードや設定が一番嬉しいんです。
今回で言えば、床に立って床をすり抜けて下に降りるってことなんですが
床の情報をもらったり、情報を与えたり、しなくて済むのが一番なんです。
そしたらまずなにを考えるかというと、プレイヤーのオブジェクトの
あたり判定を数フレーム無くすってことです。そしたら通り抜け落ちるわけで。
でもそれをしたら、敵や敵の弾に対してもそのとき通り抜けちゃう。だからそれができんのです。
だから、床のみに対して衝突判定を消したいと。
レイヤーでわけて、自分のレイヤーを切り替えるだけで
床だけをすり抜けるプレイヤーに変われる、よし!って。
なのに、床の方にPlatform Effector 2Dをアタッチしてる。
そのPlatform Effector 2Dが邪魔をして、レイヤーの設定が機能しない!
unityさん、なぜそうした?意味わからないですよ!!
842名前は開発中のものです。
2023/12/26(火) 08:01:39.23ID:VM1CwPbk Playerのレイヤーを変えればいいんじゃね
タグが生きてるならタグで判別とかして
タグが生きてるならタグで判別とかして
■ このスレッドは過去ログ倉庫に格納されています
