Unityに関するメモ書きです。 スクリプト上でプレハブから以下のようにGameObjectを生成するとします。 var obj = Instantiate(shot) as GameObject; このとき、以下のようにプレハブ名+(Clone)という名前のオブジェクトが追加されていることを目にすることがあると思いま...
備忘録( 10 )
Category
Wordpressをはじめてから今までで思うことはただひとつ。 非常に海外サイトからの攻撃が多いということです。 WordPress以外のブログでも同様の攻撃は行われていると推測できますが、 サーバに自らインストールして使えるWordpressだからこそ攻撃を目の当たりにすることが出来るということです。 攻撃にはいくつ...
Unityでモーションを実現したいとき、現在時刻を参照することはよくあると思われます。 現在時刻はTime.timeから分かります。 しかし、このTime.timeはTime.timeScaleの値により時刻の進行速度が変化します。 デフォルトはTime.timeScale=1となっており、本来の速度で時間が経過してい...
OnDestroy()コールバックでゲームオブジェクトをnewしたりプレハブからInstantiateするとゲームオブジェクトが解放されずにゴミが残ってしまうことがあります。 この現象の回避策は今のところOnDestroy()でインスタンス化しないことが最善策だと思います。 なぜゴミが残ってしまうかは原因が分かりません...
前回に引き続き、今回はRigidbodyを使わずにフリック動作を実現してみたいと思います。 基本的な考え方は、「ドラッグ中はマウス位置に追従、ボタンが離されたら減速移動」させることです。 以下のスクリプトを追加するして実現できます。 FlickMove2.cs using UnityEngine; using Syst...
Unityでマップなどをスクロールさせたい場合などに使用するフリック動作の実現方法についてのメモ書きです。 今回はRigidbodyの慣性を使ってマウスによるフリック動作を実現してみたいと思います。 1.スクロール対象のオブジェクトを配置する まず、フリックさせるスプライトを空間上に配置します。 上記の例では、写真をス...
Unityでゲームオブジェクトを常に存在させながら点滅描画させるためのスクリプトのご紹介です。 基本的な考え方は、「コンポーネントのrendererを一定周期ごとにenable/disableにすること」です。 点滅描画のスクリプトを以下に貼り付けておきます。 必要ならご自由にお使いください。 Blinker.cs u...
Unityを使っていて便利な移動操作機能のメモです。 ■「v」キーを押しながら移動 「v」キーを押した状態で移動すると、他のオブジェクトの頂点にスナップするように移動できます。 たとえば、オブジェクトを接するように配置したい場合に便利です。 ■「Ctrl」キーを押しながら移動 「Ctrl」キーを押した状態で移動すると、...
前回の記事でTime.timeScale=0を使わずにポーズ動作を実現する方法について書きました。 しかし、Rigidbodyコンポーネントを持ったゲームオブジェクトでは、ポーズしてもそのまま物体をすり抜けて慣性で動き続けてしまいます。 逆にRigidbodyを使わないゲームオブジェクトであれば前回の記事で公開したスク...
ゲーム全体をポーズしたいとき、Time.timeScale=0としてゲームの進行時間を停止すれば簡単に実現できます。 しかし、アニメーションの動作も停止してしまい、ポーズ中に別のアニメーションを動かしたい場合に問題となってきます。 手動で無理やり動かすことも不可能ではないですが・・・ そこで、今回はTime.timeS...