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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
388: 名前は開発中のものです。 [] 2018/06/22(金) 22:55:12.92 ID:2H7F6YyF(3/3) AAS
ゲームを作るより仕事をとって来る方が圧倒的に難しいからな
なんとも言えんわ
389: 名前は開発中のものです。 [sage] 2018/06/23(土) 02:56:11.35 ID:7RqInZh8(1) AAS
          ____
        /      \
       / ─    ─ \
     /  (●)  (●)  \  こいつらいつまで学校の話し続ける気?
     |     (__人__)     | __________
     \    ` ⌒´    ,/ | |             |
___/           \ | |             |
| | /    ,               .| |             |
| | /   ./             | |             |
| | | ⌒ ーnnn          |_|__________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄ ̄     _|_|__|_
390
(1): 名前は開発中のものです。 [] 2018/06/23(土) 03:08:22.60 ID:GjE91D+n(1/11) AAS
すみません、超初心者です。ちょっとわからないのですが
弾のオブジェクトを作ったとして、
それにアセットしたスクリプト内の変数宣言させたとするじゃないですか?
まあ例えば、弾のHPの変数で、「public int HP=1;」と。
そしたらそのオブジェクト選択時、inspectorに変数HPの項目が追加されてるわけですが
その状態でそのHPの項目の数字を変更できるじゃないですか?
スクリプトの宣言内で変数の値を決めるのと、
inspectorにある項目で変数の値を決めるのと、なんか違うんですか?
どっちかの値を変えてセーブしたら、反映されてくれると思ったら
パッと見、反映してくれないのですが。
もしかしてinspector上で各数値を変更できる用途は
制作中のデバッグやテスト等であって、
実際の中身はスクリプトの方で決めていかないといけないということですか?
391
(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 03:10:04.99 ID:OH135M2F(1/2) AAS
はい
392
(1): 名前は開発中のものです。 [] 2018/06/23(土) 03:14:20.21 ID:GjE91D+n(2/11) AAS
例えば、スクリプト上でpublic bool Power=true;と宣言しているのに
そのオブジェクトのinspector上の Powerの項目でfalseに書き換えると、
そうした場合、流れ的にはゲーム上ではどんな状況になってるんでしょうか??

私、なんかおかしい相談なってます??
よくわかりません。
393: 名前は開発中のものです。 [] 2018/06/23(土) 03:20:57.24 ID:GjE91D+n(3/11) AAS
>>391
え、ほんとですか?
そーいうことなんですか??
inspector上の値の入力って
ゲームエンジン上だけの効果しか無いんですか?

ということは、オブジェクト制作の
基本的な流れは
オブジェクト作る、スクリプト書く、
inspector上で試しながら数値決める、
最後にスクリプトを修正
ですか???
394
(1): 名前は開発中のものです。 [] 2018/06/23(土) 03:23:21.65 ID:qg0LDkIt(1/2) AAS
ぱっと見反映されてないって何だよ
どうやって値を確認したんだ
395: 名前は開発中のものです。 [] 2018/06/23(土) 03:25:18.01 ID:GjE91D+n(4/11) AAS
>>394
Unityの方をセーブ後に
VCの方でソースを確認したり、みたいな感じです。
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ファイルをファイル単体で他のプロジェクトに持っていくつもりなら、コードにベタ書きしないとダメですね。
1-
あと 590 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s