23/12/17 19:36:00.98 y/RcXDqC.net
「Preferences」ウィンドウに「Gizmos」が無いです。
だからChatGPT好きじゃ無いんですよね
731:名前は開発中のものです。
23/12/17 19:52:12.36 s6jjUf5Q.net
GPT4の人の欺き方が洗練されて来て草
732:名前は開発中のものです。
23/12/17 20:18:37.85 y/RcXDqC.net
>>726
スクリプトで色をつける的なものですよね。すべて検索して試みています。
結果、どちらのケースに当てはまり
すべて使い物にならないという残念な結果となっています。
1、作った時期が古すぎて"BoxCollider2D"には対応していない。(よってそのスクリプトをオブジェクト(BoxCollider2D付きの)にアタッチしようとするとエラーになる)
2、作った人が3DのColliderのことしか頭に無くて、BoxCollider2Dに対応していない。(よってそのスクリプトをオブジェクト(BoxCollider2D付きの)にアタッチしようとするとエラーになる)
733:名前は開発中のものです。
23/12/17 20:31:00.18 y/RcXDqC.net
というか、>>730のこともそうですが
UnityってバージョンによってぜんぜんUIが変わってるんですね。
いろいろ参考にしようと思って調べていて最近思う様になりました。
恐ろしいことに自分は2021年のバージョンですがGizmosという文字自体
「Fade Gizmos」という項目でしか見ることはありません。
そしてこの「Fade Gizmos」も調べてみましたが
コレダーの枠にはなんら関係ない様です。
まあ、当たり判定の枠云々は>>716さんのいう通り、
色がえも目立たせることも「出来無い」ってことですね。
諦めます。
制作画面中の背景やら実行後の画面やら
なんかいろんな色をいじれるのに
コレダーのフレームに目を向けてないとか、残念な仕様ですね。
734:名前は開発中のものです。
23/12/17 20:33:34.70 y/RcXDqC.net
まあでも本来ゲーム制作とは関係ない部分なので、
そこはスルーして、また頑張ります!
735:名前は開発中のものです。
23/12/17 20:35:42.32 6FOll7SA.net
unity コライダー 可視化 2d
で検索したら
Collider2Dを実機で可視化してみた【Unity】
ってあるけどURLは貼るとNGになるな
古いから動かない?試してないけど
探せばいくらでもあると思うけど
自分の環境で動くの探すより動くように自分でなおした方がはやいよー
736:名前は開発中のものです。
23/12/17 20:35:45.53 y/RcXDqC.net
2Dの制作においても、キャラの画像の上にコレダーの枠を重ねて考えるんで
色の相性が悪かったらその枠はいくらでも見えにくくなるんですよね。。。
737:名前は開発中のものです。
23/12/17 21:42:59.22 9+BrM7ZZ.net
あぁ如何にどうやるかというより
如何に難癖つけよーと考える人やね
738:名前は開発中のものです。
23/12/17 22:08:11.00 Ka0egrif.net
こんばんはお世話になっております
>>717の件はそろそろできましたか?
以上よろしくお願いします
739:名前は開発中のものです。
23/12/17 23:03:44.29 9+BrM7ZZ.net
そろそろできましたか、と来たよ
ほら早く俺のためにコード書けよ
ってさ
740:名前は開発中のものです。
23/12/17 23:09:13.21 Ka0egrif.net
>>739
もちろん簡単ではないと思いますので、
初心者のかたは無理に答えなくて大丈夫です
741:名前は開発中のものです。
23/12/17 23:17:04.36 mTUjiFuX.net
このスレが役に立った試しがない
742:名前は開発中のものです。
23/12/17 23:57:52.25 iN66458J.net
>>738
お前コテつけろ
そしたら教えてやる
743:名前は開発中のものです。
23/12/18 00:19:42.56 K1IWBfLh.net
>>739
たぶん小学校2年生くらいの子が大人のふりして質問してるんだろw
744:名前は開発中のものです。
23/12/18 00:25:36.30 MVkMDNT9.net
コライダーが見えやすいようにキャラの色変えればいい
確認したら戻してさ
745:名前は開発中のものです。
23/12/18 09:34:20.52 6/OIgB8+.net
ヒントやとっかかりはいっぱいあるのに自分でなんとかしようとしないヤツにアドバイスは無駄だよ
746:名前は開発中のものです。
23/12/18 12:08:04.97 fQTkHHBY.net
>>721
JaneXenoでいいじゃん
747:名前は開発中のものです。
23/12/18 13:13:20.26 qHNNjjJ/.net
>>745
すこしズレてますね
ワイにしかできないことは全て自分で解決しています
チミらに任せられる件しかお願いしていません
以上よろしくお願いします
748:名前は開発中のものです。
23/12/18 13:41:44.95 YvlYLwbt.net
この件、どうもドーンおじがでてこないと思ったらそういう事か(笑)
749:名前は開発中のものです。
23/12/18 15:15:59.45 UniXh8AV.net
>>748
このハゲ!
750:名前は開発中のものです。
23/12/18 19:20:48.61 791LJWa5.net
まぁ好きにしてくれ。
751:ドーンおじ
23/12/18 19:37:17.69 PYe56igk.net
諸君!トランジスタ技術の圧縮が世にも奇妙な物語23秋の特別編で放送されるぞ!
トランジスタ技術を分解して広告部分を取り除いて再度製本するのが競技になってる世界を描いたSF短編小説のドラマ化だ!
Unityスレにぴったりの物語だろ!?お前が最後にトラ技買ったのいつだよ!?11月11日放送だ!見逃すなよ!m9⎛˶◜◡◝˶⎞ドーン!
752:名前は開発中のものです。
23/12/19 00:00:29.86 7SuYCp/2.net
Randomクラスを扱う場合に、
"参照があいまい"的なエラーが出るじゃないですか?
SystemとUnityEngine両方にRandomクラスが定義されているから、という理屈はわかりました。
で、その対処方が
UnityEngine.Random.Rangeと名前空間ごと指定するで、
それをすれば問題なく動きました。
ただ、調べるともうひとつ対処法があって、
スクリプトの一番最初に書いてるusing System;を削除、というのがあったんですよ。
実際そうしてもエラーは出なくなりました。
しかし、using System;を削除って、なんか支障が出そうなんですが
そんなことないんでしょうか?
これはぜんぜん使われる対処法なんでしょうか?
Randomクラスを使うことはよくあると思うんです。
みなさんは、どちらの対処法をやってますか?
名前空間ごと指定、ですよね?
753:名前は開発中のものです。
23/12/19 00:28:34.39 x10mevWK.net
削除後じゃなくて別名指定できるよ
754:名前は開発中のものです。
23/12/19 00:34:42.90 errhc0zQ.net
こんばんはいつもお世話になります
>>717の件は自己解決しました
大義であった
755:名前は開発中のものです。
23/12/19 00:58:35.07 rcHhGP0s.net
>>754
どういたしまして
756:名前は開発中のものです。
23/12/19 01:35:05.39 zHZdEhB3.net
>>754
ワシに感謝しろよ
757:名前は開発中のものです。
23/12/19 16:22:37.21 7SuYCp/2.net
すみません、自分でも調べまくってるんですが
その原因を突き止められず困り果ててるんでお知恵をお貸しください。
無数のブロックを次々生成している状況で、
そのブロックにはすべて判定のためのbox collider2dを子オブジェクトで作っており
プレイヤーがその判定枠と接触したらアイテムを生成する処理になってます。
接触判定にはOnTriggerEnter2Dを使っています。
現在テスト中で
そのブロックを次々作ってプレイヤーと接触させては
アイテムを出現させて、を繰り返してるんですが
ブロックを数十個生成してる途中、稀にひとつほど
プレイヤーを接触する前にアイテムを生成するブロックが生まれます。
プレハブのブロックなのでスプリクトは同じはずだし、
アイテム生成には条件式にOnTriggerEnter2Dの判定を入れているので
毎度ひとつのブロックだけそうなるのも意味不明ですし、
プレイヤーが接触してないのにアイテム生成されるのも意味不明です。
熟練者の皆様ならもしかしたら推測できるのかなと思って、、
このバグの原因を調べる術を教えてください。
(コードを貼れば早いかもしれませんがすでに膨大な量ですのでそこは割愛させてください)
758:名前は開発中のものです。
23/12/19 16:26:37.16 7SuYCp/2.net
個人的には、アイテム生成の判定に
OnTriggerEnter2D==trueを使ってる時点で
なにも接触してないのにアイテムが生成されるのは
ありえないと思っています。
しかし、別の中にかの作用でまったく関係ない場所で
バグが発生する、というのもよくある話なので
先輩方ならなんか推測できるかなと思って相談させて頂きました。
759:名前は開発中のものです。
23/12/19 16:31:25.76 7SuYCp/2.net
あ、すみません。解決しました。
書き込んだあと、すぐ原因突き止めました。
760:名前は開発中のものです。
23/12/19 18:19:10.15 x10mevWK.net
書き込むと何故か解決する
あるある
761:名前は開発中のものです。
23/12/19 18:43:48.04 jor50pa0.net
マジでこれあるんだよな
762:ドーンおじ
23/12/19 18:45:25.31 OAl8ngR0.net
ワイの環境は明窓浄机という言葉が相応しい!m9⎛˶◜◡◝˶⎞ドーン!
URLリンク(i.imgur.com)
763:名前は開発中のものです。
23/12/19 18:47:48.54 AbGIjmnR.net
rigidbody2dの判定回数を連続にすればいいと思いますとまぁ
解決してるだろうけど書いておく
764:名前は開発中のものです。
23/12/19 19:08:28.74 zkgZfzRE.net
なんで解決法を書かないの?
765:名前は開発中のものです。
23/12/19 21:36:05.95 JdOvXqXW.net
そりゃ問題提起のため言語化して整理してるから。
766:名前は開発中のものです。
23/12/19 21:42:18.46 x10mevWK.net
解決法?そりゃお前らにかんかーねーから
767:名前は開発中のものです。
23/12/19 22:14:57.80 Mib7bgnr.net
あるあるすぎてこわい
768:名前は開発中のものです。
23/12/19 23:34:13.74 zkgZfzRE.net
俺らに関係なくても
同じような悩み持った人が>>757の質問にたどり着くかもしれないだろ
769:名前は開発中のものです。
23/12/20 07:03:42.63 rcYWDYRg.net
すみません、
public GameObject targetObj;
と
[SerializeField] GameObject targetObj;
このどちらの記述方法でもインスペクタにtargetObjの枠が生成されますよね?
なにか違うんでしょうか。
使い分けとかあるんでしょうか?
770:名前は開発中のものです。
23/12/20 07:44:58.98 ggPGSH2z.net
>>769
上のはオブジェクト指向においてそのメンバが他のクラスにも公開されることを
意味してて
下のはオブジェクト指向においてそのメンバが公開されていない、つまり
「隠蔽」されていることを意味してる
下のは「隠蔽を維持したままインスペクターに表示させたい」という仕様
エキスパートのコードを見ると下のコードが書かれることが多い
そういうのはオブジェクト指向といって主に複数人開発で用いられる
俺はぼっち開発なのでそんなの気にしたことない
余裕で上のやり方を使っている
771:名前は開発中のものです。
23/12/20 07:51:51.43 C7Jnfw35.net
>>769
パブリックは他のスクリプトからでもそのプロパティを使えるようになる
シリアライズフィールドはインスペクターで値を変更できるようになる他のスクリプトからは使えない
プロがシリアライズフィールドを使う理由は他のスクリプトからそのプロパティを変更されて悪影響を及ばされる可能性があるから
外部に出すプロパティとそのスクリプトでしか使わないプロパティをきちんと分けてる
772:名前は開発中のものです。
23/12/20 08:38:24.68 tcfIGz3i.net
>>768
大丈夫。>757の質問が意味不過ぎて例題にならない
773:名前は開発中のものです。
23/12/20 09:17:17.08 C7Jnfw35.net
Unityのエディター拡張で3DViewPortって作れるんだっけ?
774:名前は開発中のものです。
23/12/20 09:22:10.77 wQ4ITWMI.net
コードをうまく言語化して説明できないという事は
考えが整理できてないからまず書き出して整理してみよう
というあるあるだろ
775:名前は開発中のものです。
23/12/20 09:26:03.26 wQ4ITWMI.net
>>773
できるよ
でも拡張で作ると基本的にインスペクタでいじれないから結局あまり意味ない
776:名前は開発中のものです。
23/12/20 09:34:46.40 wQ4ITWMI.net
レベルエディタレベルのものをもう一画面追加できるならむしろ聞きたいけど
777:ドーンおじ
23/12/20 10:57:43.83 z+oVE4GA.net
裏コード777!m9⎛˶◜◡◝˶⎞ドーン!
778:名前は開発中のものです。
23/12/20 12:06:03.92 C7Jnfw35.net
>>775
どうやってやるか知ってる?
まだ構想段階だけどプレハブモデルを開いてそれだけ表示するビューを作りたいなぁと思ってる
779:名前は開発中のものです。
23/12/20 12:12:41.81 C7Jnfw35.net
プレハブビューみたいな感じ
780:名前は開発中のものです。
23/12/20 16:21:49.58 rcYWDYRg.net
>>770
>>771
皆様、丁寧に教えてくだってありがとうございます。
なんとなく理解できました。
触らせたくないなら別に前者でもprivate GameObject targetObj;とすればいいんじゃないかと思ったんですが
なるほど、privateで宣言するとインスペクタに表示されないんですね。。
つまり、後者はInspectorからアクセスしたいけども
他のスクリプトからは触れさせたくない、要はインスペクタで触りたいけど、privateでお願いって時には
[SerializeField] を利用するんですね。
だとすると自分の様な初心者にはprivateであるべき状況というのが
まだ出くわしたことないし、その想像もできないんで
>>770さんみたく前者の方法で問題ない感じですね。自分もぼっち開発ですし。
またひとつ成長できました、ありがとうございます!
781:名前は開発中のものです。
23/12/20 16:22:37.10 2Ax+7Ufb.net
>>780
おうがんばれ
782:名前は開発中のものです。
23/12/20 16:23:13.46 rcYWDYRg.net
早速、今まで理由もわからず[SerializeField] 型名 変数名; と宣言してたものを
すべてpublic 型名 変数名;に置き換えてみましたが
今の所何も変わらず正常に動いてくれています。
基本的に、[SerializeField] で宣言してたものをpublicに変更しても
そのアタッチしたものが他所から触れる様になるだけで
それ以外は別に一緒で支障が出ることなく変更できる認識でいますが
それで問題はないですか?
[SerializeField] じゃないとインスペクタに表示されないとか
宣言できないとかいうケースないですよね??
783:名前は開発中のものです。
23/12/20 16:25:34.25 rcYWDYRg.net
例えば「ゲーム制作してるならセーブのシステム作る時とか、絶対[SerializeField]使うことになるから」、とか。
784:名前は開発中のものです。
23/12/20 16:36:51.90 2Ax+7Ufb.net
問題ないよ
上でも言った通り他のスクリプトから触れちゃうから取り扱い注意しないと変な値を入れて不具合出るかもって感じ
785:名前は開発中のものです。
23/12/20 16:41:48.63 rcYWDYRg.net
>>784
ありがとうございます!
786:名前は開発中のものです。
23/12/21 00:28:30.61 2yqws0uM.net
>>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);
}
}
}
787:名前は開発中のものです。
23/12/21 00:29:32.69 2yqws0uM.net
無茶評判悪くて使ってくれない
788:名前は開発中のものです。
23/12/21 06:24:35.71 /spufi4i.net
>>786
めちゃくちゃ助かります!
ありがとうございます!
789:名前は開発中のものです。
23/12/21 08:30:53.17 2yqws0uM.net
>>788
あと
void OnDestroy()
{
if (viewportCamera != null)
{
DestroyImmediate(viewportCamera.gameObject);
}
if (prefabInstance != null)
{
DestroyImmediate(prefabInstance);
}
}
しないと解放されないしいい事なんかない
モーション再生したりとか色々自力になるし
790:名前は開発中のものです。
23/12/21 08:32:41.26 /spufi4i.net
>>789
なるほど
それはそのウィンドウ閉じたときで良いんですよね?
791:名前は開発中のものです。
23/12/22 06:47:26.04 BHw2hwhe.net
すみません、素朴な疑問なんですけど
Input.GetKey("space");って今のUnityじゃエラーになるんですか?
Input.GetKey("KeyCode.Space");なら動きました。
どういうことでしょう?
792:名前は開発中のものです。
23/12/22 07:31:08.46 5SOhTIkJ.net
そりゃエライコッチャ
793:名前は開発中のものです。
23/12/22 07:58:17.85 2bdzIp1f.net
>>791
下のコードは何かの間違いじゃないか?
俺の知識では動く道理がない
794:名前は開発中のものです。
23/12/22 08:24:48.28 OLG1WtwV.net
KeyCode.Spaceという名前をつけたんだろw
795:名前は開発中のものです。
23/12/22 09:16:45.04 bOlEfo0c.net
役所とかの記入例に
山田太郎
ってあるとそのまま書いちゃうタイプとか
796:名前は開発中のものです。
23/12/22 09:46:30.94 E/2yW4GT.net
ジェンダーレスの観点から最近の記入例の名前って、、、