おもちゃラボ

Unityで遊びを作ってます

【Unity】実行中にインスペクタで変更した値を停止後に反映させる方法

Unityではゲームを実行しているときにインスペクタから入力した値は、実行終了後にはもとに戻るようにできています。ゲーム実行中にオブジェクトの位置を少し変えてみたり、ライトの方向を少し変えてみたりと実験するのにはとても便利です。

でも、実験して気に入った修正でも、停止ボタンを押すと否応なく消されてしまいます。それが嫌ならスクリーンショットでも撮っておくしかない・・・

江戸時代ならまだしも、いまは2017年なんです。飛行機は空を飛び、人はバーチャル空間で遊び、ケモノはフレンズになったんです。スクリーンショットを撮っている場合ではないのです。

f:id:nn_hokuson:20170417184259p:plain:w500

なので、いい方法がないか探していた所・・・
テラシュールブログさんにこんな記事が!

tsubakit1.hateblo.jp

この方法で確かに変更した値は保存できるのですが、ちょっとだけ手間がかかりますね。ということで、他に方法がないかとインスペクタを触ってみると・・・あるじゃないですか!

インスペクタの歯車を押すと表示されるドロップダウンメニューの中に「Copy Component」という項目があります。ゲーム実行中にインスペクタから値を調整した後、この「Copy Component」を選択します。

f:id:nn_hokuson:20170417183825j:plain

ゲームを停止すると、インスペクタの値は一旦もとの値に戻ってしまいますが、ここで再度歯車ボタンから「Paste Component Values」を押してください。

f:id:nn_hokuson:20170417183844j:plain

すると、ゲーム実行時にコピーした値がまるっとコピーされます!めっちゃ便利!これがやりたかった!さすが平成!解決方法もスマートですね。