徳島ゲーム開発ごっこ 技術ブログ

ゲームを作るために役に立ったり立たなかったりする技術を学んでいきます!

Unity

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

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

【Unity】最小と最大の値を管理する構造体を作りたいの

特定の範囲内の値を設定する場合は、最小値と最大値の2つの変数を管理しなくちゃいけないのが面倒くさい。 例えば、攻撃するたびに一定の範囲内のダメージがランダム算出される場合とか。 1種類ぐらいならいいのだけど、種類の数が増えてくるとさすがにごち…

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

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

【Unity】StandardAssetsのCameras使用メモ

プレイヤーが操作するオブジェクトの移動に合わせてカメラも動かしたい! そんな状況あるよね(テレビショッピング風に)。 ただ、カメラの挙動は奥が深いです。いろんなことを考えなくてはなりません。 そんな奥深くなくていいから、パパっとカメラの挙動が作…

1週間ゲームジャム「転がる」祭りのあと

今回の1週間ゲームジャムにも参加しましたー。 Unity 1週間ゲームジャム お題「転がる」 | フリーゲーム投稿サイト unityroom 多くの人が参加されているみたいで、すべての作品を遊ぶのに時間がかかりそうです。 これから遊んでいこうと思います。 さて、今…

1週間ゲームジャム「転がる」祭り再び

再び、祭りが始まるようですね。 今週のお題「転がる」 | Unity 1週間ゲームジャム #unity1week https://t.co/2uhr9rdqDrちゃんとお題でた!よかった!寝る!— naichi@びはんとマルの森 (@naichilab) 2017年5月21日 1週間でテーマにあったゲームを作ろうとい…

【Unity】エディタ拡張をして、他クラスのパラメータを取得できないかな

パラメータをUnityエディタ上で設定していくうえで、設定しやすいことに越したことはありませんよね。 まったく同じパラメータを何度も何度も入力するのはとても疲れます。 特に文字列の場合では、打ち間違えたりする可能性も高く、重大なバグを引き起こして…

【Unity】Rigidbodyを使い、放物線を描き、目標の地点へ

来週に再び、1週間ゲームジャムが開かれるみたいですねー。 次回は 05/22(Mon) 開催 | Unity 1週間ゲームジャム #unity1week https://t.co/XuECBWX89b皆様お疲れ様でした!多くの方に好評いただけたようなので、しばらくは月1で開催していきたいと思います。…

1週間ゲームジャム「跳ねる」祭りのあと

1週間ゲームジャムという祭りが終わりましたー。 【拡散希望】Unityを使って1週間でゲームを作るイベント、「Unity 1週間ゲームジャム」はじめます。初回は来週月曜4/24日!初開催で参加者0は泣いちゃうので気軽に参加お願いします!! #unity1week https:…

【Unity】マウスのある場所にオブジェクトを配置したい

一週間ゲームジャムが始まったようです。 【拡散希望】Unityを使って1週間でゲームを作るイベント、「Unity 1週間ゲームジャム」はじめます。初回は来週月曜4/24日!初開催で参加者0は泣いちゃうので気軽に参加お願いします!! #unity1week https://t.co/2…

【Unity】ゲーム画面にDebug.Logを出したい!

Debug.Log()をスクリプト上に仕込んでおけば、デバック作業が楽になりますよね。 Debug.Log()で吐き出されるログは、UnityEditor上ではConsoleウィンドウから見れますし、iOSならXcode経由で、Androidならlogcatで、と見る方法はいろいろあります。 ただ僕は…

【Unity】君はどこのシーン所属のGameObjectかね

Hierarchy上に複数のシーンが存在する場合、GameObjectがどこのシーンにあるかを調べる必要があったので方法を調べてみました。 ピンポイントでそのようなことが分かる関数などがあればよかったのですが、ちょこっと調べた限りでは見つからなかったので、Uni…

【Unity】僕もPhotonを使いたい #18 シーン管理委員会

SceneManagerも研究しましたし、今回のプロジェクトのシーンを管理するシステムを作っていきましょう。 急いで作りましょう。 Photonから離れて半年近く経っていますから、そろそろPhotonでゲームを作る自信がなくなってきましたよ。

【Unity】俺はまだSceneManagerを全力で使っていない!

シーンを管理するシステムを作りたいのですが、それにはまずUnityのSceneManagerについて詳しく知っておきたいものです。 ドキュメントを見る限り、LoadScene()ぐらいしか主に使ってないですね。 せっかくなのでこの機会に、SceneManagerで遊びつくしましょ…

【Unity】僕もPhotonを使いたい #17 シーンを管理したい

再びPhotonを使ったゲーム作りを再開しましょう。 ひと月前に、Photonのプロジェクトを三か月ぶりに立ち上げ警告文を消すだけで終わった前回の作業。 ちなみに、Photonがまた更新されていたので、まったく同じ作業をもう一度やるはめになりましたよ! それで…

【Unity】ScriptableObjectを使ってパラメータテーブル作るよ

ゲームを作っていると、いろんなパラメータが必要になってきますよね。 敵の最大体力、各ステージの制限時間、デフォルトの移動速度、最大で植えれる髪の毛の数……、などなど。 各キャラクターなど一つ一つ異なるパラメータを設定する必要があるときもあれば…

【Unity】僕もPhotonを使いたい #16 警告文を叩き潰せ!

コード上で警告文が出ていると嫌な気分になります。 エラーではないため、そのままにしていても動くことが多いです。 ただ気持ち悪い、とても気持ち悪い! 中には関数やプロパティを誤った使い方をしているため、警告文が出ていることも多いため、放っておく…

【Unity】俺はこのプロパティが配列の何番目のものかを知りたいだけなんだ!

プロジェクトの中にある、自前のライブラリを見ていたら、エディタ拡張用のAttributeクラスを見つけました。 そういえば、一時期エディタ拡張にはまっていたような気がします。 そんな自作Attributeクラスの中で、とあるプロパティが配列の何番目を調べるコ…

【Unity】僕もPhotonを使いたい #15 そして全てを忘れる

最後にPhotonを使ってゲームを作ろうとしてから、随分と時間が流れたものです。 もう三か月も経っていますか。 季節は変わり、Unity5.5が正式にリリースされ、PhotonUnityNetworkのバージョンも上がりました。 しまいにはアメリカ大統領まで変わってしまいま…

【Unity】LerpとSlerpと数学を知らない僕

こういう質問をされました。 「Vector3の関数にLerp()とSlerp()というものがあるんですけど、違いって何なんですか」 僕はこう答えました。 「そうだなぁ、SlerpはLerpにSが足されているだろ。LerpよりS(すごい)ってことさ!」 King of 適当な返しです。 若…

GGJ2017 in 京都府精華町

京都にゲームを作りにいきます。https://t.co/y3XQAV6m5q— うら干物 (@urahimono_maigo) 2017年1月19日 今年も行ってきましたグローバルゲームジャム。 ゲーム作りは楽しいものなんだということを再認識するために、今年も行ってまいりました。 ゲーム作りは…

【Unity】Invoke()をコルーチンに置き換えて問題が発生した件

とあるコードを見ているとInvoke()をコード内で見つけました。 んー、Invoke()かぁ。あまり好ましくないなぁ。 コルーチンを使う形に変更しましょう。 と、軽い気持ちでリファクタリングしました。 その後、この処理の部分が動かなくなりました。 い、一体何…

【Unity】僕もPhotonを使いたい #14 射撃攻撃をしてみる

Photonを使って乱入型ゲームを作っています。 街に対して破壊攻撃を行う敵をプレイヤー達の手で守っていこうというゲームを目指しています。 敵を迎撃する必要がある以上、プレイヤーの攻撃処理を組み込む必要があります。 今回はプレイヤーの射撃攻撃部分を…

【Unity】僕もPhotonを使いたい #13 isMessageQueueRunning

さて前回、乱入型のゲームを目指してゲームを作り始めました。 そしたら早くも問題にぶつかりました。 今回は私がシーン切り替えの際に問題になったPhotonNetwork.isMessageQueueRunningについて調べてみました。

【Unity】僕もPhotonを使いたい #12 乱入できるゲームを目指す

少し休憩期間を挟みましたが、Photonを使ってゲーム作りにチャレンジしていきます。 前回までで一通りPhotonの機能を見てきました。 今回からはようやく本格的にゲーム作りを開始していきます。

【Unity】僕もPhotonを使いたい #11 カスタムプロパティ

さて、今までいろいろとPhotonの同期を取る方法を調べてきました。 今回は同期を取る方法としてカスタムプロパティを調査しました。 カスタムプロパティはハッシュテーブル方式でルームとプレイヤーに設定することが出来ます。 今回のカスタムプロパティがPh…

【Unity】僕もPhotonを使いたい #10 RaiseEvent

前回はPhotonView.RPC()にて他プレイヤーのゲームにデータを受け渡しする方法を調査しました。 他にもPhotonにはPhotonNetwork.RaiseEvent()という方法でデータを受け渡すことが出来ます。 というわけで、今回はPhotonNetwork.RaiseEvent()ついて調べてみま…

【Unity】僕もPhotonを使いたい #09 RPC() シリアライズ編

さて、今回も前回に引き続きRPC()関数についてです。 RPC()関数で呼ぶことが出来る引数の型には少し制限があるため、使う際には以下の内容に気を付けてください。

【Unity】僕もPhotonを使いたい #08 RPC() PhotonTargets編

Photonでデータの同期を取る方法はいろいろあります。 今回はRPCを使って同期を取ってみましょう。 PhotonTargetsのことを調べていたら、予想以上に時間が掛かってしまいました。 そのため今回は、RPCの中でもPhotonTargetsことについてのみ掘り下げています…

【Unity】僕もPhotonを使いたい #07 位置の同期

前回、オブジェクト生成の同期が出来ました。 次にオブジェクト内のパラメータを同期させてみましょう。 Photonではパラメータの同期を取る方法いくつか存在します。 今回はPhotonViewとOnPhotonSerializeView()を使った同期にチャレンジします。