devlog [naru design]

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

複数のゲームオブジェクトをレイヤーに分けておくと、カメラの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

続きを読む

fbx形式で3Dデータを読み込む際には、ポリゴン数に注意が必要。

1オブジェクト(レイヤー)の三角ポリゴン数が65535(65534?)を超えていると、Unityへ読み込む際に

Meshes may not have more than 65535 vertices at the moment. Mesh ‘3d_data’ will be split into 2 parts: ‘3d_data0’, ‘3d_data1’.

のようなワーニングメッセージが表示され、65534ポリゴンを超えない複数のオブジェクトに自動的に分割される。

10 / 28« 先頭...89101112...20...最後 »