いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

WebGLでクエリちゃんの影が消える

WebGLで動くようゲームをビルド(ブラウザゲームとしてビルド)したところ、エディタで実行しているときは表示されているクエリちゃんの影がブラウザでは消えていることに気づきました。「あれ?」と思い、ネットをあれこれ調べていて、一応解決。 影が見え…

書籍『南海トラフ地震の真実』(小沢慧一2023東京新聞)紹介

最近また地震も多いですし、TVも盛んに「南海トラフ地震、南海トラフ地震、……」と騒いでいます。しかしどうも南海トラフ地震(の確率)について、単純ではない話があるらしい。まだ2章までしか読んでいませんが、いや、これは凄い本です。どんな議論を経て「…

3Dアクションゲーム「InuosanFall」公開。GooglePlayへも公開申請しました

unityroomで3Dアクションゲーム「InuosanFall」を公開しました。ブラウザ版です(インストールなしで遊べる)。いろいろ勉強になりました。 InuosanFall | フリーゲーム投稿サイト unityroom InuosanFallを遊ぶ! フリーゲームのPLiCy [プリシー] Android版…

雑記。ひとつ前の記事、Google Playでのアプリ公開について

開発したアプリ、InuosanFallを午前中、グーグルに送りました。審査に何日かかかるらしいです。審査を通れば公開です。Google Play でアプリを公開するにはいろいろ面倒な手続きがあって、気が重かったです。何年か前に3Dシューティングゲームを公開したとき…

Unityでパーティクルを複数選択しておくとFPSが下がる話

キャラクタに弾が当たったときなど、パーティクルで「キラキラキラー」とか演出します。 ↓ こういうやつ シューティングゲームなどでは短い時間内に立て続けに弾が当たることがよくあります。用意するパーティクルを1つだけにしておくと、弾が当たった直後に…

Unityで、ひとつのコルーチンを2回呼ぶとどうなるか

ゲームの開発作業中、必要があって実験しました。コルーチンを実行中に、同じコルーチンを呼んだらどうなるのでしょうか。例えばStartCoroutine(test());StartCoroutine(test());のように。 実験のため、コルーチンtest()を以下のように定義しておきます。//…

Unityで背景の上にキャラを配置したら表示がおかしい!

3Dの空間内で、Quadに犬の画像を貼り付けたものと、ハートを貼り付けたものを用意します。ハートを高い位置に配置しています。なお、Quadへの画像の貼り付けは次の記事の通りにしています(MaterialのRendering Mode(Quadのshaderの Rendering Mode)は Fad…

教員のミスを公表する話

学校によっては教員同士の連絡にPCやスマホを使えるようになっています。メール、その他いくつかあります。職員室には大抵掲示板があっていろんな連絡事項が書かれますが、それのデジタル版みたいなものです。とある学校で、そこに教員の名前入りでその先生…

公立の小中高の先生が4000人足りない!!

ニュースになってますね。公立の小中高で先生が4000人不足しているとか。見たところ、まだ効果的な手は打てていません。採用試験の日程を早めるとか、教職調整額(教員は残業しても残業代はつかない。代わりに一律、残業代に代わる手当をくれる。それが教職…

空間内を動くキャラクタの近くに常にUI(パネル)を表示する

3Dの空間内をキャラクタが動きます。常にその近くで何かをUI(パネルなど)で表示したいとします。例えばキャラクタの名前とか。サイトをあちこち調べ(それでもなかなかうまくいかなかったんですが)、ようやくなんとかなりました。こんな感じです。 ハート…

Unityのアンカー、ピボットを分かりやすく解説

アンカー、ピボットが分かりにくいです。ここで簡単な例を2つ挙げ、整理しておきます。これなら分かりやすい……はずです。 キャンバス上には座標(ローカル座標と呼びましょう)があります。今、キャンバス上にパネル(UI部品)が配置してあるとします(イン…

コルーチンから起動されたコルーチンは、もとのコルーチンが止まったときどうなるか

コルーチンAがコルーチンBを起動します。Aが止まったとき、Bはどうなるのでしょうか。Aが yield break; で止まったとしましょう。何となく、多分BはAと無関係に動き続けるんだろう、……と考えていました。今までそのつもりでコードを書いていたんですが、思い…

新しい桐(データベース)を導入!!

今、学校では成績処理はExcelでやっていることが多いと思いますが、ぼく個人は管理工学研究所の桐を使っています。Excelは表計算ソフト、桐はデータベースです。一時期、桐を使っている学校は結構あり、ぼくは最初の学校が桐だったのでそこでいろいろ教わっ…

UnityでQuadにキャラクタを表示、α値を変更する方法(ジワッと出現させる)

今回はQuadに貼り付けた画像(キャラクタなどを想定)のα値を変化させ、ジワッとお出現(あるいは消滅)させる方法を書きます。 そもそも、ぼくはQuadにキャラクタの画像を貼り付けて表示したいときは以下のようにしています。マテリアルを作っておき(Rende…

Excelで2つの範囲の内容が完全に一致しているか調べる(3)

前回の記事はこれ。 www.omoshiro-suugaku.com 前回は文字列を扱うのを諦めていました。今回は文字列も数値と同様にチェックしています。文字列が含まれていれば1文字ずつ文字コードを取り出して処理します(前回の記事ではCODE()を使おうとしていてうまくい…

Excelで2つの範囲の内容が完全に一致しているか調べる(2)

前、こんな記事を書きました。 www.omoshiro-suugaku.com Excelの2つの表(の一部)同士が完全に一致しているか確認する方法です。チェックサム(表の数値の単純な総和)でもある程度誤りの検出はできます。2つの表のチェックサムが異なれば、当然表のどこか…

Unityでフォグ(霧)を自前でかける

Unityでフォグ(霧)をかける方法はもちろんあると思うんですが、ここでは自前でどのようにしたらフォグの効果を出せるのか、説明します。例えば遠くから敵が攻めてくるときなど、遠くで敵を生成してこちらに近づける、のようにしたいことがあります。ここで…

授業中に生徒がタブレットを使う

ぼくは高校で数学を教えています。最近の流行りですね、タブレットの類い。学校で導入して積極的に使わせたりもしています。確かに便利な面もあります。Google Classroomなど使っていれば、授業で間違えて説明してしまったところの訂正もすぐできるし、課題…

「Y駅発深夜バス」(青木知己2023創元推理文庫)紹介

「Y駅発深夜バス」(青木知己2023創元推理文庫)を紹介しましょう。推理小説の短編集です。まだタイトルの話、「Y駅発深夜バス」しか読んでいないのですが、すごく面白かったのでレビュー。 Y駅発深夜バス (創元推理文庫) 作者:青木 知己 東京創元社 Amaz…

ゲームでステージが変わるとき、暗転する方法

ぼくはUnityで何かゲームを書くとき、「シーンの変更」というのをやったことがありません。実験で何回か試したことはありますが、実際のプログラムではステージの進行に伴うオブジェクトの処理(削除、新しいオブジェクトの生成など)など、全部自前です(要…

UnityでCinemachineのバーチャルカメラを使う(2)

⬇この記事の続きです。 www.omoshiro-suugaku.com 上の記事を書いた段階ではバーチャルカメラのAimパラメータの働きがどうもよく分かりませんでした。Aimは「カメラをオブジェクトに向ける」働きがあるということですが、それだけでは説明になってない感じが…

2Dシューティングゲーム「InuoShooting」公開しました

ゲームを書くのも久しぶり……というわけでリハビリのつもりでプログラミングしていました。ようやく1本できあがったので公開。 unityroom.com ブラウザゲームを投稿できるサイト、unityroomです。 当初はスマホで動くゲームにしようと思っていましたが、予定…

クエリちゃん、走った!

前の記事で書いたクエリちゃんが走りました。 今まではまったく使っていなかった、3Dのキャラクタのアニメーションをやってみました。テキストは前の記事でも書いたこれ。 作って学べる Unity本格入門[Unity 2023対応版] 作者:賀好 昭仁 技術評論社 Amazon…

Unityで3Dのキャラクタを使ってみる

とりあえず2Dのゲームは書けたので今度は3Dを……と考え、本を購入しました。3Dのキャラクタを扱う本は持っていましたが、一応、新しい方がいいかと思ってあらためて手に入れました。 作って学べる Unity本格入門 [Unity 2023対応版] 作者:賀好 昭仁 技術評…

UnityでCinemachineのバーチャルカメラを使う

バーチャルカメラというのを使ってみました。ゲームで、例えば主人公が動くのを後ろからカメラが追いかけ、立ち止まるとカメラがビューンと動いて(背景もダイナミックに変化!)正面からアップに……みたいな演出がありますよね。いわゆる「カメラワーク」と…

大きなディスプレイを買ってみました

ぼくはPCはここ何世代か、ノートを買っています。軽いし動かせるし、スペースも取りません。仕事で試験や文書を作ったりズームなども全部ノートでやっています。プログラミングもノート。しかしゲームプログラミングにUnityを使うようになって特に画面が小さ…

3つのキーの押下を検知できなかった話

押下は「おうか」と読むそうな。多分そうだろうと何となく考えていましたが、今回調べてはっきりしました。いや、本題はそこではなくて……スペース、矢印(右)、矢印(上)が同時に押されていることを確認しようとしましたがうまくいきません。2つしか検知でき…

2Dシューティングゲーム公開準備中!

久々の更新です。職場が変わり、ドタバタしていました。やはり職場が変わるといろいろ分からないこともあり、特に最初は何が何だかわからず、疲れますよね。細かいことでは印刷機の使い方とか授業の教室の位置とか。ようやくあれこれ自然に動けるようになり…

アドバーチャ(Ad-Virtua)でアプリに広告を入れる

アドバーチャ(Ad-Virtua)というのを導入してみました。↓ ad-virtua.com 自作アプリに広告を入れられます。「①再生単価×②再生数×③再生完了率」で収益が決まるそう。ひろはす氏(https://www.youtube.com/watch?v=jyO9zpESSgo)の動画で見て「面白そう!」と…

Unityでサウンドファイル(mp3)の音量をファイル毎に変える方法

ゲームのBGMや効果音を自分で作れる人は限られています。ぼくにそういう能力はないので、ゲームを作るときは何とか調達しなければなりません。ありがたいことに色々なサイトからmp3などのサウンドファイルをダウンロードでき、ぼくはこれを使わせてもらって…