うら干物書き

ゲームを作りたい!

Unity-技術メモ

【Unity】2018.2に更新したら、VisualStudioでエラーが出始めた

ついにUnity2018.2が公開されましたよ。 よし、早速インストールだ! おお、Projectビュー内が、AssetsとPackagesで分かれている。 いろいろ変化がありますね。 では、早速何かスクリプトを書いてみましょうか。 VisualStudioを立ち上げて、スクリプトを書い…

【Unity】GameObjectがどのシーンにあるのかがプロパティ経由で取得できることを今更ながら知ったんだ

悪魔の証明という言葉あります。 「悪魔はいる」という主張を証明するには、悪魔をつれてこればいいですよね。 でも「悪魔はいない」という主張はどう証明すればいいのでしょうか。 この世のありとあらゆる場所を調査し、悪魔がいないということを確認する必…

【Unity】WebAPIを呼んで天気予報を取得してみよう

……やれやれビショビショだ。 出かける時は雨が降っていなかったのに、帰りには土砂降りだよ。 傘を持っていけばよかったなぁ……。 天気予報はちゃんと見ておくべきだったね。 というわけで今回はWeb上で提供されているAPIを呼んで、天気予報を取得することに…

【Unity】XMLデータを読み込んでみよう。だがしかし争いに巻き込まれる

UnityでXMLデータを使いたいな。 だからXMLデータを読み込む処理を作らなくっちゃ。 でもUnityの機能でXMLデータを読み込むようなものなんてあったけな。 んー、無かったような気がするなぁ。 でもC#.Net内の名前空間やクラスの中で、XMLの単語を見たことが…

【Unity】アセット読書会に行ってきたよ。NativeArrayってなんだろう?

京都で行われるUnity技術者の集いである京ゆににて、アセット読書会なる会が開かれました。 kyotounity.doorkeeper.jp 各自好き勝手Unityを触っているもくもく会とは違い、Unityの特定の技術を一緒に勉強していこうよ、という会です。 僕のような残念な頭し…

【Unity】プロジェクト内のデータをビルド出力時にそのままの形で

Unityで作ったゲームが、外部の実行ファイルを起動しなきゃいけないとき、たまにあるよね。 うん、僕は最近あったんだ。先月のゲームジャムのときにね。 ただ何も考えずに外部の実行ファイルを起動する処理を作成してしまうと、エディタで遊ぶ時と、実行ファ…

【Unity】ゲーム中に常時必要なGameObjectがどのシーンから始めても存在するようにしてみよう

ゲームジャム中の会話にて 「では僕の方で、音の挙動を制御するサウンドマネージャー的なものを作っておくよ。」 「サウンドマネージャーですか。それなら後でもよくありませんか。」 「おや、どうしてだい?」 「だって、そういうゲーム中でずっと必要なも…

【Unity】空間がループするシーンを作る

諸君は知っているか!(黒岩省吾風に) 地球が丸いということを! はい、というわけで今回は空間がループするシーンを作っていきましょう。 空間がループするとは? 地球上で飛行機を使って東に進み続けていけば、いずれ西から出発地点にたどり着くことでしょ…

【Unity】描画をずらすシェーダーのバグを直す

新しいことにチャレンジするって素敵だなって思うんだ。 だって、新しい発見や出会いが自分をもっと素敵な自分へと導いてくれる気がするから。 でも新しいことにチャレンジして失敗してしまったらどうしようと思う人もいるかもしれないね。 もしかしたら、「…

【Unity】カメラに映っていないメッシュを映っていないにもかかわらず描画する

見えないところで起こっていることはわからないものです。 私は過去、平行世界を三回ほど救ったことがあるのですが、この世界の人々は気づいてすらいません。 さて、というわけで今回はカメラに映っていないメッシュを映っていないにもかかわらず描画するこ…

【Unity】一つのGameObjectで複数の描画をあなたに

僕は人生においてまだ自分のドッペルゲンガーに会ったことがない。 まあドッペルゲンガーに会ったら死ぬらしいから会いたくはないけど。 そして、僕はまだ分身することが出来ない。 僕の中には十三尾が封印されているはずなので、チャクラは足りるはずなんだ…

【Unity】霧のかかった人生とFog

気が付けば2017年が終わっていました。 2018年は明るい年にしたいものです。 ですが年が明けたところで、僕の人生は霧がかかったかのように見通しがよくありません。 これはよくありません。 この霧を何とかするためには、UnityのFogを扱えるようになる必要…

【Unity】画面分割とマルチディスプレイ

ゲームを皆で遊べば楽しいですよね。 複数人で遊べるゲームを作る場合、一画面に収まるタイプのゲームならいいのですが、プレイヤー一人につき一画面必要な場合だってあるわけです。 そうなると、画面をプレイヤー人数分で分割するか、プレイヤー人数分のデ…

【Unity】NavMesh×段差×Spawn=面倒なことに

今回はNavMeshを使っていたら発生した謎の現象についてのお話です。 最終的には力技を使って、現象を発生しないようにしています。 一体なぜこんなことが……。

【Unity】さあ、索敵をはじめよう

現実世界の自分の敵はなかなか見つけにくいけど、ゲームの中ではサクッと敵を見つけ出したいものです。 というわけで今回は索敵機能を作ります。 敵、どこにいるのかなぁ、僕の敵。

【Unity】NavMeshを学ぶ OffMeshLink編

最近僕はNavMeshの勉強に力を注いでいます。 今回勉強するオフメッシュリンクでNavMesh基本的なことは一通り使えるようになるはずです。 これで僕だけ遠足のお昼ご飯の時に仲間外れにされることがなくなるはずだ! さあ、頑張るぞー。

【Unity】NavMeshを学ぶ エリア編

僕は今NavMeshを勉強しているんだ。 分からないことばかりだけど、一生懸命頑張って勉強しているよ。 今回はエリアとコストについて勉強するよ。 さあ、今日も頑張るぞー。

【Unity】NavMeshを学ぶ 障害物編

前回、僕はNavMesh学んだ。 出来るようになったことと言えば、NavMeshをBakeし、BakeされたNavMesh上でオブジェクトを動かすことだけ。 これで、僕はNavMeshを使えるようになったと言えるだろうか。 ……いや、そんなことはない。 その程度のことでNavMeshの何…

【Unity】NavMeshを学ぶ 焼けた編

僕はNavMeshを使ったことがない。 Unityをぼちぼち使ってきているのにも関わらず、NavMeshを使ったことがない。 そんな僕は、きっとみんなからバカにされているに違いない。 勉強しよう……。

【Unity】オブジェクトについてくるカメラを作ったよ

今回はカメラの挙動を作ってみました。 移動制御するオブジェクトを常に追いかけて映し続けるカメラが欲しいのです。 さーて、作りましょうか。

【Unity】君と僕とが当たる距離感

今回はタイトルでは何がやりたいのかわからないシリーズです。 コライダーがついているオブジェクトを同じ場所に複製すると、複製した瞬間にコリジョン判定が起きます。 それを避けるために、レイヤーを分けてコリジョン判定を起きないようにすると、今度は…

【Unity】Rigidbody.AddForceAtPositionで吹き飛ばす

最近暑くなってきましたね。 今回はそんな夏の暑さを吹き飛ばすべく、Rigidbody.AddForceAtPosition()を使ってオブジェクトを吹き飛ばしていこうと思います。 きっと暑さは吹き飛ばないでしょうけど……。

【Unity】カスタムコルーチンを使おうとしたけど、使いませんでした

僕はStartCoroutine()をよく使います。 コルーチンは便利なものです。 ただ処理を記述する際に、もう少し何とかならないかと思う箇所もあります。 その部分を解決するために、今回はCustomYieldInstructionを使ってカスタムコルーチンの作成にチャレンジして…

【Unity】ISerializationCallbackReceiverを使ってみたんだ

ISerializationCallbackReceiverというものが、随分前に追加されたことは聞いていたのですが、機会がなかったため今まで使っていませんでした。 今回使い機会がありましたので、今更ですがISerializationCallbackReceiverのメモ書きです。

【Unity】僕はAwake()のことを知っているようで知らなかったんだ

Awake()はインスタンス化したときに必ず呼ばれる。 そんなふうに考えていた時期が僕にもありました。 今回はMonoBehaviourクラスを継承することで使えるAwake()について、勘違いしていたことについてのお話です。

【Unity】死んでも生きてるMonoBehaviour、Unityのコワイうわさ

もう夏本番になってきましたね。 というわけで、今回はちょっと怖い話をしていこうと思います。 これは友達の友達から聞いた話なんですが……。

【Unity】MicrosoftのFaceAPIを使って顔認識で遊んでみよう

先日参加したCrossOverGameJam04で使用したMicrosoftのFaceAPIについてまとめてみましたよ。

【Unity】WebCamTextureを使ってカメラが映している画像情報を取得するよ

カメラで撮影している画像情報を取得したいなぁ。 いえ、Unity上のカメラじゃないですよ。 iOSやAndroidの端末にあるカメラで映している画像情報が欲しいのです。 望むことなら、エディター上でもWebカメラで映している画像情報を取りたいな。 でもネイティ…

【Unity】allowSceneActivationで遊んでいて気付いたこと

僕はSceneManager.LoadSceneAsync()を使ってシーンの読み込み処理を作っていました。 その際に、allowSceneActivationをfalseにして、シーンの読み込み完了を自動で行われないようにし、その間に何かしらの処理を行い、その後allowSceneActivationをtrueに戻…

【Unity】寝るな! 寝たら死ぬぞ!! 端末のスリープ時間を設定する

iOSやAndroidの端末のスリープの時間をアプリのスクリプト上で設定する方法のメモ書きです。 てっきり端末のスリープを設定するには、ネイティブコードでプラグインを書かねばいけないと思っていました。 ただググって調べてみると、Unity側でサポートされて…