プログラミング
バッチ正規化の話です。前回書いたとおり、画像認識のネットワークでデータを処理するとき、「各層で、特定のいくつかのユニットだけが値が大きくなる」という現象が起こります(「アクティべーションの分布が偏る」)。出力層でも「2」ばかりが出力されたり…
(Pythonのライブラリなどを一切使わない)画像認識の実験の中間報告です。 www.omoshiro-suugaku.com CIFAR-10を使って画像認識の実験をしていましたが、途中までは快調だったんですがつまずきました。いろいろがんばって光明が見えたので報告です。1人で書…
しばらくぶりの更新です。画像のデータセット、CIFAR-10を使って画像認識の実験(の準備)中です。 www.omoshiro-suugaku.com 前から凄く興味があって、とにかくやってみたかったのです。学校も冬休みに入り、時間もかなり自由になったので進んでいます。何…
CIFAR-10というデータセットがあります。前、MNIST(エムニスト)というデータセットを使ったことがあります。これは0から9までの数字認識の実験などのための画像のセットで、何年か前にC#でプログラムを書いて数字認識を試しました。CIFAR-10は飛行機、自…
必要があって調べ、うまくいったので記録しておきます。画像の好きな位置に好きなフォントで字を書く方法です。Pythonの画像処理ライブラリ、Pillow(PIL)がインストールされていることが必要です。 デスクトップに使いたいフォントのファイルを置いておいて…
M+フォントを使っています。商用の利用も可、ということで、開発者の皆様には頭が上がりません。前、スマホゲームを作っていたとき「フォントにも著作権がある」と分かり、対応のためにインストールしたのでした。フォントを作るのは恐らくたいへんな時間と…
以前簡単に紹介しました。ここのところ、FFTの使い方をずっとまとめていて、頻繁に使っていた本です。 Pythonで学ぶ実践画像・音声処理入門 作者:伊藤 克亘,花泉 弘,小泉 悠馬 コロナ社 Amazon 第3章「音声のフーリエ変換」は14ページだけですが、ここでFFT…
この記事に直接関連した内容の書籍をブログ管理人が出版しました。記事をリファインして、極力詳しく解説しています。見ていただけるとうれしいです(2022年5月15日(日))↓ Python基本サウンドプログラミング~周波数分析,高速フーリエ変換(FFT)入門~ 作者…
FFT(高速フーリエ変換)はデータ数が2の累乗のときに使える方法です。DFTにはそういう制限はありません。最近何回かFFTについて記事を書きました。それによると2の累乗が仮定されているのです。しかし、実際にSciPyのFFTに500データを渡しても無事に(?)F…
タイトル、分かりにくいでしょうか。例えば変数をx、yとしてx=a、y=bと代入されているとします。他の変数は使わず、xにbが、yにaが入っている状態にしたいのです。x=bとやればいいでしょ、……というのはナシ。使えるのはx、yと通常の四則と…
7月にAndroid スマホ用のシューティングゲーム作りを終わらせました。通して考えると特にキツかったことがあります。2つあるんですが、どちらもキツかった原因は同じです。 ①広告の組み込み・表示 せっかくゲームを公開するなら、収入につながった方がうれし…
前回はプロジェクトのAssetフォルダ内のResourcesフォルダに入っている画像ファイル(png)をImageに表示する方法について書きました。でも、ゲームなどではプログラマが用意した画像を表示できれば大抵よいのでそれで十分かも知れませんが、一般のアプリで…
またしてもハマったので記録しておきます。スクリプトから画像ファイル名を指定して、Imageに表示する方法です。 Canvasの下に「Image100」が配置されているとします。このImage100に画像ファイル「Inuosann.png」を表示するとします。この画像ファイルは、A…
何だか大げさっぽい感じですが……いや、大変なことではありません。万華鏡というのは、長い長方形の鏡を3枚、鏡の面を内側にして三角形に貼り合わせて3角柱を作り、内部にいろんな形、大きさ、色のビーズなんかを入れて、覗いてきれいな模様を楽しむ、例のあ…
RawImageを空間内の好きな位置に表示する方法をまとめておきます。このブログ内で何となくあちこちに散らばって書いてあって使いづらいので。 下の画像を空間内の任意の位置に配置して表示します。 準備① 画像はpngで、背景(犬の輪郭の外側)は透過にしてお…
シューティングゲームを公開しましたが、ランキング機能は実装しませんでした。しかしレビューしていただいた中に「他者とのポイントの競い合いがないのは少し残念」というコメントが。 gameappch.com そうですよね。インターネット時代なのです。ランキング…
ゲームもひと昔前とは比べものにならないくらいの数が出回っています。まずは「こんなゲームがありますよ」と宣伝しないことには何も始まりません。そこでゲーム公開後あちこち、ゲーム紹介サイトにレビューの依頼をしました。すぐ掲載してくださったサイト…
前回の続きです。コルーチンの使い方をまとめます。(使用例4)5秒経ったら何かする StartCoroutine(wait5()); …… IEnumerator wait5() { Debug.Log("●●●"); yield return new WaitForSeconds(5f); //(A) Debug.Log("●●●5秒経ったよ"); } StartCoroutine(wai…
ゲームを作っていて、敵の攻撃やこちらの照準の動きなどは今まで通りで、それとは独立して画面の一部で1秒ごとに1から20までカウントアップしてそのカウントを表示したいとしましょう。よくあるケースです。特別の攻撃で「20秒間しか使えません」みたいな。…
ようやくGoogle Play でゲームが公開されました。ブログで何度も製作の過程について触れてきた3Dシューティングゲームです。Androidスマホユーザーの皆様、ぜひダウンロードして遊んでみてください!! play.google.com (↑ なんで英語なの……??) youtu.be…
さっき、できあがったゲームをGoogleに送りました。1週間?かそのくらい、審査があるそうです。通ればそのまま公開です。こんなかんじです↓ アイコンはこれ↓ 動画にしてみました。 youtu.be アプリ作成中、何日かに1回は何か問題が起こっていました。最後の2…
ようやくアプリは完成しました。3Dシューティングゲームです。こんなの。 きれいにできました。開発環境のUnityが初めてだったのであれこれ調べながらでかなり時間がかかってしまいました。次からはもっとスムーズでしょう……。Android向けなので(自分のスマ…
ここ数日、Unityで作っているゲームアプリに広告をつけようと苦闘していました。ふと気づいたらブログも4、5日更新してない……! 昨日、ようやく広告が表示されたのでひと息です。ネットで検索すると皆さんやはり苦労しているようですね。 知らない人もいると…
タップ情報を取得し、UIがタップされた位置をUI上のローカル座標で取得します。前、UI上のローカル座標は取得しましたが、タップが1ヶ所だけ、の前提でした。今回のやり方は複数ヶ所のタップに対応しています。 www.omoshiro-suugaku.com 例によって短いコー…
念のために確認しました。ゲームをやっていてふと天気予報が気になって確認したとします。アンドロイドなら画面の一番下のホームキーや動いているアプリを一覧できるキー(名前は知りません)を押して天気予報のアプリを実行、ということになるでしょう。ま…
UI部品のどの辺をタップされたのか調べる方法を書きます。ゲーム画面にPanelを配置しました。写真の薄い赤の部分がPanelです。 このPanelのどの辺がタップされたのか、検出したいことがあります。照準のコントロールに使うため、正方形のどの辺を押されたか…
シューティングゲーム作成中です。爆発シーンの描画を今まではパーティクルでやっていましたが、スマホだと処理が追いつかなそうなのでやり方を変える、といった話を書きました。 www.omoshiro-suugaku.com 爆発アニメーション用の画像を用意します。ぼくは…
前回、Unityのパーティクルを使わずに爆発シーンを描画、という話を書きました。 www.omoshiro-suugaku.com うーん、まあ一応できたんですが、絵が汚い……。パーティクルを使った爆発シーンを録画して必要な部分を切り取って背景が透過するようにして、Quadに…
作成中のシューティングゲーム、「これは解決しとかなきゃまずいだろ……」という問題が。PCで実行するときは大丈夫なのですが、実機(スマホ)だと場面によってはFPS(1秒間に描画する回数)が10台になってしまいます。人間が見たとき、30を切っていると動き…
前回、UIをドラッグするコードを紹介しました。UIとしてはPanelを相手にしていますが、他でも同じだと思います。 www.omoshiro-suugaku.com 今回はそれに続けて、Panelにピンチイン、ピンチアウトを実装します。ピンチインとは2本の指で画面の一部をつまむよ…