devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

iTweenを使った時、動き始めに引っかかるような動作が発生する。スムーズに動かすことは出来ないか?

リリース済みアプリ(3D POSE DOLL)のタイトル画面でiTweenを使っていて、動き始めるときに引っかかるような(スムーズでない)動きになってしまっています。これをスムーズに動かすことは出来ないのか?と調べていたら、iTweenの公式ドキュメントに以下の様なメソッド(Init)の説明がありました。

Init

Sets up a GameObject to avoid hiccups when an initial iTween is added. It’s advisable to run this on every object you intend to run iTween on in its Start or Awake.

・Init(GameObject target)

続きを読む

複数のゲームオブジェクトをレイヤーに分けておくと、カメラのcullingMaskを設定することで表示/非表示を一度に設定することができます。

レイヤー名からレイヤーインデックスを取得する

レイヤー番号からレイヤー名を取得する

カメラのカリング設定(cullingMask)

レイヤーに該当するビットを立てる(1)ことで表示、ビットをリセット(0)することで非表示にすることが出来ます。

続きを読む

Lightwave/Modeler用スクリプトです。

先日公開した「LScript:背景レイヤー選択の順送り/逆送り」の改良版です。
データの含まれていないレイヤー(空レイヤー)は選択されないようにしました。

それぞれをメニューに登録しておけば、Layerパネルを操作せずにメニューボタンやショートカットキーでレイヤーの選択状態を変更できます。

※標準で有りそうな機能ですが、見つけることが出来なかったので作りました。
sel_bg_layer_pe

続きを読む

Unity3D:ゲーム制作-無限インベーダ(3/4)の続きです

Rigidbodyの設定

Colliderによる衝突判定はRigidbodyコンポーネントと組み合わせて使う必要があります。Colliderコンポーネントしか設定していない同士ではOnTriggerEnterイベントが発生しません。

MissileプレハブにRigidbodyコンポーネントを追加します。

AssetsのMissileを選択した状態で、メニューComponent-Physics-Rigidbodyを選択することでコンポーネントが追加されます。つづいてRigidbodyの設定を行います。

続きを読む

Unity3D:ゲーム制作-無限インベーダ(2/4)の続きです

砲台のセットアップ

作成済みの砲台をシーンに追加し、上矢印キーを押したらミサイルが発射されるようにします。

Assetsの砲台(Battery)をHierarchyへドラッグ・アンド・ドロップして追加します。
TransformのPositionは(0,-7,0)に設定します。

infiniteInvader3

砲台は画面の下の方に表示されます。

続きを読む

Unity3D:ゲーム制作-無限インベーダ(1/4)の続きです

ミサイルの作成

上矢印キーを押した際に発射されるミサイルを作成します。

前回作成した砲台(Battery)をHierarchyからAssetsへドラッグ・アンド・ドロップしてプレハブにしておきます。

batteryPrefab

プレハブを作成したらHierarchyからBatteryを削除します。

メニューGameObject-CreateOther-Cubeを選択して、HierarchyにCubeを追加します。

続きを読む

colliderの動きを知るために、簡単なゲーム風のコンテンツを作ってみました。名づけて「無限インベーダ」(名前かぶってたらゴメンナサイ)。左右に砲台を動かしつつミサイルを発射して迫り来るインベーダをやっつけます。

完成イメージは、こんな感じです。

infiniteInvaderPlan

続きを読む

Lightwave/Modeler用スクリプトです。

前景レイヤーの選択は固定したまま、背景レイヤーの選択を順送り/逆送りします。

それぞれをメニューに登録しておけば、Layerパネルを操作せずにメニューボタンやショートカットキーでレイヤーの選択状態を変更できます。

※標準で有りそうな機能ですが、見つけることが出来なかったので作りました。
prev_next_bg_layer

続きを読む