「EnDlEss DREamER」ブログ

最近はunity5メインで活動中。以前はツクールRGSSネタなど。

§ 03/28のツイートまとめ

evomitsu180sx

OnGUIからuGUIな処理に直す羽目になり、他の部分も色々と手を付けなくちゃいけないことに・・・・・ベースとなるスターターキットアセットを憎むぜ!#unity3d
03-28 00:39




2018/03/29/Thu 04:16:14  思いつき/CM:0/TB:0/

§ 03/26のツイートまとめ

evomitsu180sx

world space でUIを作成してtextとかが反転していたらscaleを-1にすれば反転解消されるみたい。#unity3d
03-26 11:17




2018/03/27/Tue 04:15:44  思いつき/CM:0/TB:0/

§ 03/23のツイートまとめ

evomitsu180sx

Unityで製作中、ProfilerでUIが重たい原因を探るとOnGUIがヤバイのが発覚!!いや、本当に知らなかったッスわ。元となるアセットがそのような記述になっているので、自前で改変しなきゃいけないとはッ!!#unity3d
03-23 22:43




2018/03/24/Sat 04:17:03  思いつき/CM:0/TB:0/

§ 03/20のツイートまとめ

evomitsu180sx

ブログ更新しました / モバイルバッテリー PD QC 対応: https://t.co/wWFpW6cqFF
03-20 17:27




2018/03/21/Wed 04:17:12  思いつき/CM:0/TB:0/

§ 03/16のツイートまとめ

evomitsu180sx

スバル レガシィツーリングワゴンの燃費記録を投稿しました https://t.co/qII6GtVG2p #minkara
03-16 09:05




2018/03/17/Sat 04:15:30  思いつき/CM:0/TB:0/

§ unity AudioManager

http://kan-kikuchi.hatenablog.com/entry/AudioManager

これを使えば快適!!

詳しくはリンク先で説明されているんだけど、シングルトンとかジェネリクスっての使っている。

シングルトンはツクールRGSS/RUBYでいうモジュールに近いものかな??
どこからでも使えるけど、全体で1つしかないもの。
普通は obj = new Class();でobjが違えばClassは一緒でも中身は別という、村人Aと村人Bぐらい違うもの。
シングルトンはそれ唯一で別を作れない。王様のみ。王様Aと王様Bは存在し得ない。


ジェネリクスはテンプレートのようなもの。
AとBというクラスは使用する型が違うけど処理はほぼ同じ。
いちいちAとBを書くのはめんどい。
Sという共通する部分を作って、それをABに継承させちゃおう。
というもの。


MonoBehaviourというunityの機能満載なクラスを継承したシングルトンが上記リンク先で載っている
「SingletonMonoBehaviour」
これを使って作ったのがAudioManagerというものらしい。



こういうの欲しかった!!


日本語で、ちゃんと作ってるやつ。
これを流用して、VocabManager(ボキャブラリーマネージャー)つまり、言語・言葉を管理するものとか作ろうかな?
共通する単語や言葉・会話を管理するマネージャー。
ツクールであったね。
画像のキャッシュとかもモジュールでやっていたな、RGSS。





2018/03/16/Fri 12:11:40  unity/CM:0/TB:0/

§ 03/15のツイートまとめ

evomitsu180sx

#AICONetflixオリジナルで配信されてたA.I.C.O.みたぞ。命とはなんなのか?クローン技術への警鐘とも言えそうなテーマで、色々ツッコミどころはあるんだけど王道っぽい展開は最終的に安心感あるんだなと思う。
03-15 16:54




2018/03/16/Fri 04:15:18  思いつき/CM:0/TB:0/

§ 索敵 OnTriggerExit destroy

OnTriggerExitではオブジェクトがDestroyされたときは呼ばれない。

Destroyされると、コライダーの接触が「離れる」のではなく「null」になるため。
つまり、離れたか判定する前に消えたことになるから処理そのものが行われない。

方法は2つほど。

1.Destroyする前にどっかに動かしてOnTriggerExit実行。実行後元の位置に戻してDestroyなど。
2.objectoがnullであることは確認できるので、それを条件に行いたい処理を記述する。

1の場合は、意図的に実行させる。
2は別途コルーチンとかを使って、監視する。

なんかいい方法無いかな???
軽量な索敵システム。




2018/03/13/Tue 00:41:00  unity/CM:0/TB:0/

§ 索敵 システム 指定範囲 collider OnTrigger Enter Exit 子 コライダー

索敵システムを作っていて、未だ未完成ではあるんだけど考え方だけ。
まず、索敵は指定範囲内に入ったオブジェクトを全て取得するというもの。
OnCollisioonでは使えない。
他に、Physics.OverlapSphereでもいいけど重たい。
コルーチンで処理させても結構な負荷。
これを敵にも採用したら、ものすごい数になるので・・・
ということで、Triggerでやってみる。


キャラとなる親Aが居て、子に探索用コライダーをつける。
子はSphereColliderにisTrigger、リジッドボディにキネマティックを設定。
これをBをとする。

で、ここのサイトのスクリプトを使用。

子にChildeColliderTriggerを。親にはColliderTriggerParent を。
このスクリプトは、子のOnTriggerEnterで親のメソッドを呼び出して処理を行うというもの。
親に子の処理を書く感じ。
子が複数なら、オブジェクト名などで分岐してやるといいかも。switch文とか。

で、BのOnTriggerで接触したオブジェクトが居たら、Aのスクリプト内で処理を記述するんだけど
その際に、Listでリスト変数をパブリックで作る。
それに、addしてやれば無事に接触したオブジェクトを管理できる。


問題は、このリスト変数ってのはめんどくさいことだ。

http://sorasorasora.hatenablog.com/entry/2016/01/08/224058

参照型の変数ってやつで、普通の感覚で使っているのは値渡しと言って値を変数に入れる際には
コピーして入れているような感じ。
対して、参照渡しってのは、その変数には値の在り処を入れている。
そのあたりの説明が上記リンクにある。

ついでにいうと、作成したListをディープコピーするにはこのサイトのやり方を行う。
新たにリストを作り、引数にコピーしたいListを入れる。

というのを踏まえて、OnTriggerで取得したオブジェクトをリストに追加する。
publicなListを作業用のtempListとか作って、そっちに入れて、それを子メソッドでaddする際にはref tempListとか入れて
refで渡して、子のメソッドでaddする。変更後のListをreturnで返し、上記のディープコピーでpublicのListni入れる。

という流れなんだけど、Listってめんどくさい!!!



今作ってる索敵システムは、レーダー、視界、射撃の範囲を索敵していて
視界に入ると敵が表示、武器によって射撃の索敵範囲が変わる
視界外は敵が消える
というような感じ。

ベースとなるアセットで武器にミサイルがあり、同時発射数とか何連射できるとかあったので
ついでにマルチロックミサイルを作ってみた。
指定範囲内の敵にミサイルを発射する。
ミサイルの飛んでく対象とかも敵の数によって対象を変更したりもやってみた。
ビーム兵器にでも変更したらハイマットフルバーストみたいのできるかな???




2018/03/08/Thu 00:25:21  unity/CM:0/TB:0/

§ 03/03のツイートまとめ

evomitsu180sx

スバル レガシィツーリングワゴンの燃費記録を投稿しました https://t.co/emLc1RytfE #minkara
03-03 08:42




2018/03/04/Sun 04:15:16  思いつき/CM:0/TB:0/
BACK / MAIN / NEXT
copyright © 2006 「EnDlEss DREamER」ブログ. All Rights Reserved.
Template by TAE-3rd☆テンプレート工房