投稿

録画する機能 (windows10)

イメージ
 unity editor上で録画したいと思い、調べたところ unity recorderというものがあるらしいのですが、いまいちわかりませんでした。 しょうがないので、windows10に標準搭載されている録画機能を使ってみました。 「windowsキー」+「G」で「 ゲーム バー」なるものを開きます。 (logiのキーボードだとスタート/optキーがwindowsキーです。) こんな画面。 これの左上のバーの左から3つ目の丸ボタンが録画開始ボタンです。 もし押せない場合は、unity editorのプレイボタンを押した後なら押せると思います。 録画が終わったら四角ボタンで止めます。 デフォルトだと C:\Users\USERNAME\Videos\Captures にあります。(日本語だと PC/ビデオ/キャプチャ) mp4形式で出力されます。 youtube等で使いましょう。

クリック(タッチ)したら何か起こるけど、プレイヤーとは当たり判定が無いオブジェクトを作る

【目的】 2Dの横スクロールアクションを作っています。 クリック(スマホではタップ、以下クリック)できるオブジェクト(ボールとします)があって、 クリックするとプレイヤーがそのボールに向かってジャンプする(加速する)ものとします。 目的は、ボールとプレイヤーの当たり判定をなくすことです。 【プレイヤーの設定】 ・Spriteとしてオブジェクトを作ります。 ・Rigidbody 2D、Box Collider 2Dをアタッチ ・Layerをplayerなど、プレイヤーにのみ適用されるレイヤーを作って設定する ・ジャンプするスクリプトをアタッチ 例: public class ActorController : MonoBehaviour {     Transform myTransform ;     private Rigidbody2D rigidbody2D ;     float v_factor = 10f ; //6f;     // Start is called before the first frame update     void Start ()     {         // コンポーネント参照取得         rigidbody2D = GetComponent < Rigidbody2D > ();         // transformを取得         myTransform = this . transform ;         Physics . gravity = new Vector3 ( 0 , 20 , 0 );     }     float Abs ( Vector2 v ){         return Mathf . Sqrt ( v . x * v . x...

google console(google play)で新しいアプリをリリースする方法&google admobで登録

イメージ
 新しいアプリを開発したので、google playでリリースしようと思ったところ、 以前やったのにすっかり忘れていたので、今回のリリース時のメモを残しておきます。 【 google admob の登録】 ・左のアプリタブ→アプリを追加→アプリ名を入れる、  「アプリはサポートされているアプリストアに登録されていますか?」はまだの場合はいいえ(後で変更可) ・広告ユニットを追加   +バナー:名前以外はデフォルトでOK   +リワード:今回のつるつる氷の床パズルの場合、広告動画を見るとヒントを3つ見ることができるので、         報酬の数は3、報酬アイテムは「ヒント」としました。(これでいいのでしょうか・・・)   +他に必要なら追加 ・アプリIDを設定@unity   Asset -> Google Mobile Ads -> Settings   から   google mobile ads app IDの欄にandroidやiOSのアプリIDを入力する。       (Google AdMobの「アプリの設定」タブで見れる。   ca-app-pub-[16桁の数字]~[10桁の数字]の形式のやつ。 )   この記事ではgoogle playでリリースすることを念頭に置いているので、iOSのところは触らず、   androidの欄だけ埋める。    ・各ユニットのadUnitIdを各広告スクリプトに書く  私の場合は DeveCat様 から使わせていただいているadsMNG.csに  バナーやinterstital広告、リワード広告などの広告ユニットIDを書きます。 【Google console(google play)】 ・ google console にアクセス ・新しいアプリを登録する ・名前等の情報を入れる(30文字以内だけど、かなり短くしないと他の言語で超える ) ・ダッシュボードに進んで、タスクをこなす ・初期設定:アプリのセットアップ  + プライバシー ポリシーのURLを入力:    (私の場合は  https://mogugames.blogspot.com/p/blog-page.html )  +アプリのアクセス権:    (私の場合は アクセス制限なくアプリのすべての...

スーファミ時代っぽいフォント

スーファミ時代っぽいドットで書かれたフォントを作ってくれている方がいました。 itouhiro様 使い方は beckyJPN様 で紹介されていました。 良い感じ。

【コルーチン】処理順を大事にしたい時、処理を待ちたい時に使うコルーチンについて

C#スクリプトで、 処理1 処理2 処理3 の順番に書いた場合、 もちろん処理1,2,3の順番で実行されるのですが、 処理1が終わった後に処理2が始まるわけではありません。 処理1が終わった後に処理2を始めたい場合、 コルーチンを使うと便利です。 これで処理1が終わったあと処理2を始められたり、 その間に〇〇秒待つ、などの処理もできます。 また、何かの入力をしたら次の処理が始まる、 などもゲームではよくありますが、これもコルーチンで対応できます。 これらのコルーチンの使い方は  スタジオしまづ様の解説動画 によくまとめられています。 以下もし時間があれば内容を書く。

Boss Roomいじり2:キャラクター選択→適当な待機室を作成

イメージ
Boss Roomいじり、その2です。 前回はメインメニューシーンをいじって2Dキャンバスを追加することに成功しました。 今回は、CharSelect(キャラクター選択)シーンをいじります。 私のゲームでは、このシーンではプレイヤーは自由に動けるようにして、 マップ上のお店などで各プレイヤーの準備を整えるシーンにしたいと思っています。 なので、まずは2Dのマップを作り、2Dのキャラクターが動けるようにしたいと思います。 【キャラクターやマップの素材のダウンロード】 スタジオしまづ様による解説動画 の通りにやりました。 ぴぽや倉庫様 から素材をダウンロードし、 Assets > GameData2D > Character にキャラ素材をダウンロードしました。 Assets > GameData2D > Map にマップ素材をダウンロードしました。(32×32) スライス等の処理は動画の通りで、 まず、ダウンロードした画像たちに Sprite Mode: Multiple Pizels Per Unit: 32(これは32*32の素材だから) Filter Mode: Point(no filter) とします。 そして画像をクリックした時のInspectorの真ん中上くらいのSprite Editorにて、 SliceのTypeをGrid By Cell Sizeにして、サイズを32&32にします。 そしてSliceボタン、Applyボタンとクリックすれば素材をきちんと分割できます。 これで一枚の絵に収まった素材をいくつかのパーツに分割できます。 マップも同様にスライスします。 【キャラクターを置く】 適当な画像、ここでは動画の通りサンタ女子の二枚目の画像(正面)をドラッグして ゲームオブジェクトとして置き、名前をplayerにします。 【キャラクターの移動】 参考: スタジオしまづ様の解説動画 Asset > Scripts > 2DScriptsMoguというフォルダを作りました。 元々ある他のフォルダと分けたかったからです。 その中に、PlayerController.csを作り、上記のplayerオブジェクトにアタッチします。 そしてその中身は namespace Unity . Multiplayer . Sa...

Boss Roomいじり1:メインメニュー

イメージ
Boss Roomをいじっていて、 シーン管理が知らない形になっていました。 まずHierarchyタブにStartupシーンだけ読み込まれていて他のシーンは見えず、 Assets > Scenesの中にMainMenuやらCharSelectなどの他のシーンが 格納されていました。 ビルドするときのシーンの一番上はStartupシーンなので、 ゲーム開始時にはStartupシーンが読み込まれるはずですね。 それで、ゲームスタートするとStartupシーンではなく MainMenuシーンに移行していて「なんでStartupシーンじゃないの?」と思ったのですが、 Startupシーンの一番上(たぶん意識的に一番上に置いてくれている)に ApplicationControllerという重要そうなオブジェクトがあるので見てみると、 ApplicationController.csというスクリプトが貼られていました。中身の一部は こんな感じになっていて、確かにStart関数の中の最後に SceneManager.LoadScene("MainMenu"); とありますね。なので、本当にStartupシーンは読み込まれているんだけど、 一瞬でMainMenuシーンに移行しているわけですね。 ここから読み始めたら中身がわかりそうです。 と思って中を読んでみましたが、何一つわかりません。 どうやらここは触らず、このまま使えばいいのかもしれません。 ここで重要なのは、 BossRoomというゲームに直接関係あるもの(キャラクターとか)はすくないです。 ただし、GameDataSourceというGameObjectがあって、 そこにエモートなどが登録されているようです。 また、ConnectionManagerというオブジェクトに Assets/Scripts/ConnectionManagement/ConnectionManager.cs というスクリプトがあり、部屋の最大人数 MaxConnectedPlayers = 8; を設定しています。もし増減したかったらここをいじるべし。 そんなわけで、移った先のMainMenuシーンを見てみます。 色々ありますね。 【MainMenuState】 2つスクリプトがアタッチされています。 ・Network O...