[過去ログ] 【3Dゲームエンジン】Unity質問スレッド36 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
396: 名前は開発中のものです。 [] 2018/06/23(土) 03:29:56.00 ID:GjE91D+n(5/11) AAS
よくわからない質問だったらすみません
VCでプログラミングを書くことも慣れてなければ、
Unityがまだ得体の知れないゲームエンジンなんで、
inspector上で変更した値が、VCのソース内の値まで変更してくれるのかな、とか。
思ってしまって。

とりあえず、Unityゲームエンジンでは
オブジェクト制作の基本的な流れが
オブジェクト作る、スクリプト書く、
inspector上で試しながら変数の値を考慮する
最後にスクリプトの方で変数の値を修正
で、いいんですね??
397
(1): 名前は開発中のものです。 [] 2018/06/23(土) 03:33:02.63 ID:qg0LDkIt(2/2) AAS
ソースコードは勝手に書き換わらないし書き換わる必要もないよ
実行してみればインスペクタの値になってるだろ
398
(1): 名前は開発中のものです。 [] 2018/06/23(土) 03:34:51.29 ID:IQ1bd2/K(1/2) AAS
C#の素養や理解が足りてないからUnityの機能について想像がつかない、コードもC#慣習を知らないか守る気がない、そんなやつがなんで初心者スレに行かねえんだ
流石に専門学校の推薦のやつはここまでひどくねえわ
399: 名前は開発中のものです。 [] 2018/06/23(土) 05:01:01.88 ID:GjE91D+n(6/11) AAS
>>397
>実行してみればインスペクタの値になってるだろ

それはわかっているんです。
ただ、ソースコードの方では「1」で初期化と記述してるのに、
インスペクタの方で「10」の値にしている。
実行したらもちろん10で実行される。
でも、ソースコードは「1」ですよ?
矛盾が生じていることが気持ち悪いというか、
なんか腑に落ちないんです。
インスペクタでいじることは、あくまでデバッグ目的なんですか?

>>398
確かに、初心者質問スレの確認が取れました。
自分が初めてこのスレにきたときは、初心者質問スレがなかったと思ったんですけどね。
私は、超初心者です。
400
(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 05:04:14.02 ID:OH135M2F(2/2) AAS
質問したら礼ぐらいしてから次の質問したらどうですか?
常識ないんですか?
わざとやってるんですか?
401: 名前は開発中のものです。 [] 2018/06/23(土) 05:05:21.03 ID:GjE91D+n(7/11) AAS
言いたいこと伝わりませんか?

例えば、ソースコードではHP=10に設定してるのに
実行前に、インスペクタの方でHP=1にすることができます。
で、実行すると、HP=1です。
でもソースコードではHP=10のままです。

どういうことでしょうか?
ソースコードのそこを無視して実行されたんですか?
それとも、実行の過程が、ソースコード→インスペクタ上書きなんですか?
402: 名前は開発中のものです。 [] 2018/06/23(土) 05:07:37.88 ID:GjE91D+n(8/11) AAS
>>400
私は次の質問に移っていません。
回答ありませんよね?
403
(3): 名前は開発中のものです。 [] 2018/06/23(土) 05:12:42.78 ID:GjE91D+n(9/11) AAS
とりあえず、Unityゲームエンジンでは
オブジェクト制作の基本的な流れが
オブジェクト作る、スクリプト書く、
inspector上で試しながら変数の値を考慮する
最後にスクリプトの方で変数の値を修正
それの繰り返し作業、ということですか?


これがすごく重要な質問というか、今回のキモなんです。
ここに、答えてもらいたいのですが、
まだ誰もそこに触れてくれていませんので
ディスカッションじゃないけども、質問途中の気分です。
404
(1): 名前は開発中のものです。 [] 2018/06/23(土) 05:55:33.13 ID:GjE91D+n(10/11) AAS
すみません、ちょっと煽られたので生意気な返事してしまいました。
しばらく反省致します。
405: 名前は開発中のものです。 [sage] 2018/06/23(土) 06:00:09.47 ID:3bPyDCcr(1) AAS
>>403
インスペクターで変数を初期化するならコードで初期化する必要ないよ
406
(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 06:26:00.63 ID:ukzP0aOu(1/2) AAS
>>403
public はインスペクターで一度でも値を設定するとコードの変数宣言部分での初期化はインスペクター側の値が優先される
最初に誰もが躓く仕様だと思う
407: 名前は開発中のものです。 [sage] 2018/06/23(土) 07:10:27.92 ID:lXSEoVqL(1) AAS
躓くってw
公式の初級チュートリアルレベルできちんと説明されてるだろうに
特にサバイバルシューターなんてすごく良質のチュートリアルだぞ
ほんとやれよな
408: 名前は開発中のものです。 [sage] 2018/06/23(土) 08:05:00.75 ID:FaqQaE3P(1) AAS
public int HP=1; ← デフォルト値
おわり
409
(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 08:38:31.75 ID:P+CKIpjT(1/2) AAS
>>406
優先されるってかインスタンス化される時ににインスペクターの値いれてくれるんだろ。

第一、スクリプトのソース書き換えられたら、同じスクリプト使ってるゲームオブジェクト全部同じ値になるじゃないか。

インスペクターで調整した値をそのままにしたかったら独立したprefabにしとくんだよ。
410
(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 09:13:50.00 ID:ukzP0aOu(2/2) AAS
>>409
両方で宣言している場合はスクリプト側は無視されるけど一度もインスペクターで値を入力してないとスクリプト側の変更が反映され続けるという仕様が初心者が混乱する原因かも
411: 名前は開発中のものです。 [sage] 2018/06/23(土) 10:12:35.82 ID:3i5tK2/L(1) AAS
インスペクタの値はァタッチしないと変えられない、つまりそのオブジェクト固有の初期処理で設定される、これが裏で動いている。
コード上のは共通処理
この共通のあとに固有の処理がされるのでインスペクタの値が適用される。

同じスクリプトを二つのオブジェクトにァタッチしてテストすれば分かるでしょ
412: 名前は開発中のものです。 [sage] 2018/06/23(土) 10:24:57.04 ID:P+CKIpjT(2/2) AAS
>>403
数値をコードにベタ書きするならそうなります。
そうせざるを得ないものもあるでしょうが、大体の場合、調整済みのオブジェクトをプレファブ化しとけばいいと思います。
調整過程でいくつかプレファブ化しといて、後で比較検討なんて事も可能です。
でも、その.csファイルをファイル単体で他のプロジェクトに持っていくつもりなら、コードにベタ書きしないとダメですね。
413: 名前は開発中のものです。 [] 2018/06/23(土) 11:09:54.40 ID:ptzLJ3fx(1/2) AAS
>>404
ソース内に書いた数値はあくまでインスタンス化した際のデフォルトだよ。
結局はインスペクター値で上書きされる。
プレファブ化してヒエラルキーに配置してみればわかるかな。
インスペクター値に値を入れた状態でプレファブ化してあるとインスタンス化した際に又上書きされるけどね。

意識した方が良いのは、unityはunityで結構決め事があるって事ですね。
個人の気持ち良い悪いで理解しなくて良い部分かもですね。
414: 名前は開発中のものです。 [] 2018/06/23(土) 11:17:28.44 ID:ptzLJ3fx(2/2) AAS
>>410
ああ、それあるあるですね。
インスタンス化されたコンポーネントがダーティにならないと保存対象になりませんし、インスペクター値が保存対象外でスクリプトのデフォルトで変数値が埋められるんでしょうね。
上の書き込み不十分でしたが、正確には一度もコンポーネント値が保存されて無い場合、スクリプト値でデフォルト埋めがされるって所ですかね。
415
(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 15:21:14.63 ID:B30bMDRD(1) AAS
アセットを買えば値について悩むこともないですよ
416
(1): 名前は開発中のものです。 [] 2018/06/23(土) 17:31:04.42 ID:GjE91D+n(11/11) AAS
深夜に駄文連投してしまったのに
午前にも関わらずレスをくださった皆さま、
本当にありがとうございます。

特に、ID:ukzP0aOuさんと
ID:P+CKIpjTさんとID:ptzLJ3fxさんの
会話は非常に勉強になりました。

多分、Unityで本腰いれたゲーム制作に入ったら
スクリプトソースの方orインスペクタの方で設定したのに、、あれ?
みたいなことが頻繁に起きそうですね。
とりあえず、ソースコードの初期化よりも
インスペクタの初期化が優先(上書き)されること、
覚えて起きます。
今まではwinの方でソースコードだけで作っていたので
Unityのプレハブの用途も正直まだピンと来てないのですが、
これから慣れていこうと思います。

優しい方もいてくださって本当によかったです。
Unity、挫折しないようにがんばります。
417: 名前は開発中のものです。 [sage] 2018/06/23(土) 18:08:54.37 ID:HgkZ7HuT(1) AAS
>>416
画面で使ってるのはUnityエディタ、な。悪い事は言わないから、公式のマニュアル一度位は読んでおきなよ。多分あんたはUnityの全てを誤解してるぞ。
418: 菩薩@太子 [] 2018/06/23(土) 19:23:13.92 ID:MXAffitO(1/2) AAS
>>415
汝よ、汝は質問者に適切なアセットを紹介しなさい。
汝は、我が見守るこのスレで、誉れと思って、自らのすべきことをしなさい。
419: 菩薩@太子 [] 2018/06/23(土) 19:30:27.22 ID:MXAffitO(2/2) AAS
汝らよ、インスペクターは便利であると知りなさい。
同じスクリプトを付けた3つのオブジェクトに異なる挙動をさせたかったら、インスペクターの値を異なるものにすればよい。
初心者は、我が見守るこのスレで、誉れと思って、そのことを深く記憶にとどめておきなさい。
420: 名前は開発中のものです。 [sage] 2018/06/23(土) 21:43:15.88 ID:25y2aLFE(1) AAS
このキムチ野郎を消しさるアセットはありませんか?
1-
あと 582 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s