【ゲームエンジン】Unityなんでも質問スレpart12at GAMEDEV
【ゲームエンジン】Unityなんでも質問スレpart12 - 暇つぶし2ch776:名前は開発中のものです。
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
ジェンダーレスの観点から最近の記入例の名前って、、、


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch