OkakenProject

ちょっとした スキマ時間のお手伝い

Message

来てくださってありがとうございます。
趣味でスマホアプリ開発をしています。
情報通信系の企業に勤めているミドルエイジ会社員です。

“ちょっとしたスキマ時間のお手伝い” をコンセプトに、
超シンプル、だけどなんだか今日もやりたくなる、
日常にあるスキマの時間を、
そんなアプリで満たすお手伝いをしたく、勉強しています。

このブログでは、何かがみなさまのお役に立つことを期待し、雑多になりますが備忘録やメモ等を残していければと思っています。

誰でも遊べるiOS/Android対応の超シンプルゲームも公開しています。
ご興味を持ってくださった方、ぜひHPにもお越しください。

OkakenProject.

okakenpj.cloudfree.jp

 

 

【Unity】ParticleSystemの色を変更する

やりたいこと

ParticleSystemで放出されるObjectの色をスクリプトから変更したい

結論

ParticleSystem.MinMaxGradient()を使用する

ParticleSystemをアタッチしたObjectのスクリプトで次のように設定

  • void Update()
  • {
  •  var particleColor = new ParticleSystem.MinMaxGradient();
  •  particleColor.mode = ParticleSystemGradientMode.Color;
  •  particleColor.color = Color.green;
  •  
  •  var effect = this.GetComponent<ParticleSystem>().main;
  •  effect.startColor = particleColor;
  • }

注意

ParticleSystemのRendererからOrder in Layerの値を適切に設定しないと画像の背景に隠れてしまうので注意

OkakenProjectプライバシーポリシー

制定日:2024/4/11

このページは、Okaken Project(以下「私」と言います。)が提供するスマートフォンアプリ(以下「本アプリ」と言います。)における利用者情報の取扱いについて、以下のとおりアプリケーション・プライバシーポリシー(以下「本ポリシー」といいます。)を定め、公表しております。本アプリをインストールする前に本ポリシーをご確認いただき、内容をご理解の上で本アプリをご利用下さい。
なお、本ポリシーにおいて、「利用者情報」とは、お客様の識別に係る情報、通信サービス上の行動履歴、その他お客様のスマートフォンにおいてお客様と結びついた形で生成、利用又は蓄積されている情報であって、本ポリシーに基づき当社が取得するものを意味するものとします。

本アプリが利用する利用者情報

本アプリが利用する利用者情報は、下記の3つです。
  1. アプリの広告表示のためにお客様の情報の一部を送信する可能性があります。
  2. アプリではアクセス解析ツールを用いてアプリの利用状況を収集しております。
  3. 問い合わせの際に利用者情報の一部を送信します。
  • アプリの広告表示本アプリは広告表示のためにお客様の情報の一部を送信する可能性があります。広告表示は、下記2社のサービスを利用しており、本アプリは2社に利用者情報の提供を行います。それぞれのサービスが利用している利用者情報と目的については各社のサービスのプライバシーポリシーをご確認ください。Admobプライバシーポリシー)
  • 本アプリではアクセス解析ツールを用いてアプリの利用状況を収集しております。アクセス解析Google Analyticsを利用しております。本アプリは画面遷移を行った際に、画面IDと利用者情報をGoogle Analyticsに送付します。Google Analyticsプライバシーポリシー)
  • 本アプリでは問い合わせの際に利用者情報の一部を送信します。問い合わせはメールで行い、メール本文に下記情報が埋め込まれます。また、メールで送信されるため、メールアドレスも送信されます。
    • 名前、メールアドレス
    • 端末名、OSバージョン、その他端末情報(画面サイズ、ピクセル密度、利用可能ヒープメモリ量)
    • アドオン購入状況

利用目的

利用者情報はそれぞれ下記目的に利用されます。
  • 三者の広告の配信・表示のため
  • 当社のサービスに関連して、個人を識別できない形式に加工した統計データを作成するため
  • 本アプリに関するご案内、お問い合せ等への対応のため

【Unity】Colliderでオブジェクトの下側だけ着地判定したい

やりたいこと

着地判定でColliderの下側が地面についた時に着地判定したい

 

結論

ContactFilter2Dを使う

クラス内で次の宣言をする

 [SerializeField] private ContactFilter2D filter2D = default;

 

宣言したら、
private void OnCollisionEnter2D(Collision2D collision){}
等のメソッド内の設置判定にIsTouching(filter2D)をANDする

if (collision.gameObject.CompareTag("GROUND") && rigid2D.IsTouching(filter2D))

 

このスクリプトをアタッチしたオブジェクトのInspectorで以下のように設定
角度は右側を0度として時計回りっぽいので、80〜100あたりを指定すればオブジェクトの下側だけ反応させることができた

税務署への居住者証明書交付請求書の提出メモ

背景

AdMob登録時に、居住者証明書を求められました。本人確認なのでマイナンバーで大丈夫だろうと思っていましたが、何度アップロードしても否認されてしまいます。どうも税務署での公式な書面が必要ということだったので、正式に申請することとしました。税務署に行くのは数年前の確定申告以来で、正直敷居が高いところです…提出に向けた細かな情報も足りなかったので、同じ手続きをされる方にメモを残しておければと思います。

持っていくもの

現住所の所轄となる税務署の総合窓口に行きました。
結果的に持参したものは以下です。

  1. 請求書(2部)
  2. マイナンバーカード
  3. マイナンバーカードの表面をコピーしたもの
  4. 返信用封筒

請求書の記入

1.証明書は以下のサイトから印刷しました。入力用PDFで大丈夫だと思います。

www.nta.go.jp記載について気をつけるところは、提出する税務署の名前を左上に書くこと、提出国の名称を書くこと、チェックを忘れずに、必要部数は1枚と記入、日本語と英語で記載する、という形で大丈夫でした。

マイナンバーカード

運転免許証でも大丈夫だと思いますが、住所の番地表記がAdMob申請と一致しているのがマイナンバーカードだったので、こちらを持参することとしました。なお、この住所表記は1.の申請書の記載とも一致させました。

この1.と2.のみで申請を試みたところ、「証明には本人確認書類の原本だけでなく、そのコピーを添えて承認することになる。よってコピーも申請者が持参しなさい」と言われました。さらに「税務署内にはコピーできるところがないので、自分でコンビニ等でコピーしてから持ってくること」と告げられました。うーん…冷たい。。。
なお、マイナンバーカードであれば写真がある面のみのコピーで問題ない(ナンバーが書いてある面はコピー不要)ということです。

返信用封筒

合わせて当日の即時承認は不可と言われました。よって後日窓口に申請者が取りに来るということで良いか、と聞かれました。他にやり方がありますかと尋ねると、返信用封筒があれば郵送も可能と回答をいただきました。ので、普通郵便の切手を貼った封筒を準備して再度持参しました。これは問題なく受け取ってもらいました。
なお、税務署から郵送される際は転送不要とされるということを告げられました。

申請が降りるまでの期間は約2週間

一通りの書類を持参すれば、受付自体は書類確認と本人確認のみで受領していただけましたので5分もかからないくらい。証明書が返送される目安は約2週間と言われました。もし何か不備等があれば申請書に記載の連絡先電話番号に連絡する旨、また目安となる期間が過ぎても届かない等の場合は税務署に連絡するように告げられます。

マイナンバーのコピーまで持参する必要があるというのは盲点だったので、申請を検討されている方はお気をつけください。

その後、返信用封筒が自宅に届いたのは8日後

無事に承認されたようで、自宅に返信用封筒に入った証明書が届いておりました。
この内容をAdMobに登録し、今のところNGとなっていないのでようやく承認されたのだと信じています。

【Unity】Colliderを複数つけたオブジェクトのColliderを無効化する

やりたいこと

  • 1つのオブジェクトに複数のColliderをつけた状態
  • 他のオブジェクトに衝突した際など、何らかのトリガ発生時にそれらのColliderを一斉に無効化する

結論

  • GetComponents<Component>()を使用して複数Colliderを取得して処理

  • public class XXController : MonoBehaviour
  • {
  •   Component[] components;
  •   void Start()
  •   {
  •     components = GetComponents<Component>();
  •   }
  •  
  •   private void OnCollisionEnter2D(Collision2D collision)
  •   {
  •      if (collision.gameObject.CompareTag("Target"))
  •      {
  •         foreach(var component in components)
  •         {
  •            if(component.GetType().Name == "BoxCollider2D")
  •            {
  •               Collider2D collider = (Collider2D)component;
  •               collider.enabled = false;
  •             }
  •         }
  •      }
  •   }
  • }

説明

  • GetComponent<Collider2D>()だとInspectorで一番上のものだけ取得してしまう
  • 複数の同名コンポーネントを指定する場合はGetComponents<Component>()を使用する
  • 戻り値はColliderにキャストしてあげると良い
  • なお、GetComponents<Monobehavior>()を使用すると、Collider等のビルトインコンポーネントは取得されず、自作スクリプト(ここではXXController等)を取得することができる

 

受験体験記(ITストラテジスト)

ITストラテジスト試験について、個人的に、他の受験区分と比べると受験対策の情報が少ないように感じましたので、これから受験される方の参考になればと思い、受験体験記を作成しました。

特に、午後Ⅱの対策として心がけたことなどを書いていこうと思います。

ITストラテジストとは

ITストラテジストは「経営とITを結びつける専門家」とされています。合格者は情報処理技術者試験区分の中で唯一、労働基準法第14条における「専門的知識等を有する労働者」として認められる、というのもこの試験の特徴です。

www.ipa.go.jp

受験のきっかけ

私は数年前にもこの試験を受験することを試みていますが、挫折しました。午後Ⅰまでの勉強を真剣に取り組んだ後、さぁこれから午後Ⅱに取り掛かろうとした時、全く論文が書けなかったからです。本当に何のアイデアも出てきませんでした。さらに当時は仕事の忙しさもあり余裕がなく、あぁ自分にはまだ力がないということか…と泣く泣く諦めました。

その数年後に再度受験を目指したのは、社外の方と交流する研修を受講したことがきっかけでした。この研修では上場企業の社長や大学教授など、様々な有識者の方々から、経営戦略の話を聞くことができました。大変面白く、自分の社会人人生としても大きな経験になりました。そして研修を修了後、もう一度ITストラテジストを目指して頑張ってみよう!と思い立ち、勉強を再開しました。この時は受験の3ヶ月前でした。

午後Ⅱの受験対策

私が心がけたポイントは3つです。

論文テーマを1つに絞る

過去問からいくつかの論文パターンがあることはわかっていました。ただ、複数のパターンごとに対応ケースを作ることは限界があると思い「何が来てもビジネスモデルのテーマで勝負する」と心に決めました。逆にそれ以外のテーマが来たら運がなかったと諦めるつもりでした。

社外研修で学んだ内容からイメージを膨らませて、オリジナルのビジネスモデルを作りました。具体的には、普段から利用している近所のスーパーを舞台にして、研修で学んだDXの成功体験と掛け合わせました。そして、会社概要、ライバル社との競争、顧客クレームなど、日々そのスーパーを利用する中で想像される内容を盛り込んでストーリーを作り上げました。この内容で設問アの800字を書き切れるよう、パソコンで何度も記述を繰り返しました。

過去問で問われた内容で肉付けする

過去問から問われる内容をリストアップし、自分が準備するビジネスモデルでどのように答えられるかを繰り返し練習しました。具体的には、

  • DXの取り組み
  • ターゲットとした顧客とニーズ
  • 活用したデータとディジタル技術
  • 経営層からの提案
  • 効果を評価するKPI
  • 推進体制

などの質問を過去問から拾い上げ、それぞれ100字程度で論述できるようなモジュールを準備しました。私はテーマをビジネスモデルに絞ったため「どのようなリスク対応をしたのか」など答えにくいものがいくつもありました。それらも少なくとも部分点を取れるように、都合のいい回答でも良いから自分の世界に引き込んで書き切る、ということを心がけました。

書き方を統一

文章の書き方を常に意識しました。

「私は、〇〇をした。具体的には〇〇である。その理由は〇〇だからである。」

この形を繰り返して、求められる文字数まで書き切る形をとりました。こうすれば準備したモジュールを当てはめていくことで論文に仕上げることができます。

受験当日

問題選択

まずは問題選択です。3分以内で選択しました。判断基準は「準備したビジネスモデルとして回答できそうなのはどれか」なので明確です。ところが残念ながら、ビジネスモデルを答えよ、というど真ん中で対応できる設問はありません。結局悩んでしまった結果、「システム改修と対応方針」というキーワードがあったので、これであれば無理やりビジネスモデルの話に繋げられると考え、問題を選択しました。

アジェンダ作成

論述ポイントを見出し形式で作りました。設問アはすぐに書けるので省略。設問イと設問ウの展開を、準備したモジュールでどう組み立てていくかです。ビジネスモデルとして答えることが題意ではないため、ビジネスモデルを俯瞰して、「何が問題であったのか、それをどう解決したのか」という点でモジュールを組み替えました。これは過去問から様々なケースでモジュール作成していたことが功を奏したと思いました。

記述

あとは時間いっぱいまで書きました。設問イ→設問ウ→設問アの順番で書いていきます。回答用紙の最後まで、消しゴムは使わずに書き切りました。そして残り10分で見直しを始めた際に「何が問題であったのか」を設問アの最後で記載した部分が、最初に設問イとして書き始めた部分と繋がっていないと感じました。多くの方が設問イから書き始めると思いますので、最後に書く設問アとの連結に違和感を覚える方も多いと思います。この違和感を少なくするためには、アジェンダ作成を入念にすることが良いと思います。私はアジェンダ作成の際に、設問アを省略しています。これが裏目に出てしまいました。なので、これから受験される方は、設問イで書き始めるモジュールが、リレーのように設問アのバトンを受け取れているか、しっかりアジェンダ作成の際に確認することが大事だと思います。

2時間はあっという間、でも意外と時間はある

私は筆記が苦手です。書くスピードも遅いです。お世辞でも綺麗な字とは言えません。そんな私でも、見直し時間として10分強を残すことができました。なので、必要以上に焦らなくても大丈夫だと思います。反省点としては、あと1分〜2分ほど、アジェンダ作成に時間をとっていれば。そして、設問アとイの繋がりを意識できていれば、見直しの結果書き直す、という無駄な時間を省けたので、もっと余裕ができたのではと思います。

結果が出るまでは忘れる

正直、自信はありませんでした。ビジネスモデルを求めない出題に、無理やりビジネスモデルを捩じ込んだためです(割り切って試験に挑んだつもりでしたが...)。合格発表まではモヤモヤしますが、気持ちを切り替えて仕事に専念するようにしました。

結果はWebで確認しました。「合格」という文字がこれほど嬉しかった資格試験はありません。そして、SEとして長年憧れた試験に合格できたという喜びは忘れません。

これから受験される方もぜひ頑張ってください!

ITストラテジスト試験に合格してからの変化

何も変わっていません…合格時に会社から奨励金は出ましたが、給与面や待遇などは全く変化なしです。ただ、自分の中で自信がつきました。ある意味これが一番大きいのかもしれません。会社で上司や幹部と話をする時、お客様と会う時、いろんな場面で「ITストラテジスト」という名前が私の背中を押してくれていると感じています。

受験体験記(第一種衛生管理者)

先日、第一種衛生管理者試験を受験して合格することができました。

これから受験される方の参考になることを願い、体験記を作成しました。

第一種衛生管理者とは

衛生管理者は、常時50人以上の労働者を使用する事業場に必要となる安全衛生の管理者です。そのうち第一種は、すべての業種において衛生管理者となることができるとされています。労働安全衛生法において必置とされている資格で、さまざまな業種の方が取得をめざされています。

www.exam.or.jp

受験のきっかけ

知り合いから「取っておいて損はない」と言われたのがきっかけでした。私は情報系の人間なのでもともと興味がある分野ではなかったのですが、内容を見ると職場環境の改善に関わる部分など多く含まれるものでありました。年齢が上がるにつれてマネジメント業務が多くなっていますので、どこかで役に立ちそう、確かに取っておいて損はないかな…と思ったのがキッカケです。

勉強方法

人気のある資格なので情報はWebで色々調べられると考え、私はテキストを買わずに勉強を進めることにしました。しかしながら、各単元についてWebで詳しく調べていくにしても、何を調べればいいかわからない状態だったので、Webの過去問を繰り返し行うことで知識を身につけていく作戦を取りました。使用したのはこちらの過去問サイトです。

kakomonn.com

ここから直近10年程度の問題を繰り返し実施しました。間違えた問題からキーワードをメモする、覚える、もう一度とく、のサイクルを繰り返しながら、完全に暗記することをめざしました。

改めて思うと、これは試験対策としては良いかもしれませんが、真の衛生管理者としては良くないと思っています…

どこまでやったのか

過去問サイトで95%以上の正答率になるまで繰り返しました。それでも数問、間違える問題がありましたが、それらは最終的に、問題と回答を丸暗記することにしました。結果的に勉強期間は2ヶ月弱だったと思います。毎日1時間〜2時間ほど勉強したので、合計の勉強時間としては80時間〜100時間ほどだと思います。

受験当日

問題文も回答選択肢も見たことあるしほぼ同じだなと思うのがだいたい6割ほど、問題文だけは見たことあるなと思うのが2〜3割ほど、全然見たことないなと思うのが1〜2割ほどだったと思います。ただ、見たことある問題でも回答の選択肢がわずかに異なっていたり、問題文にアレンジが加えられているなど、若干の変化がありました。それでも過去問で90%以上取れていれば十分に対応できると思います。

試験開始から1時間ほどでマークは完了しました。他の受験者も同じような感じで、早々に途中退室をしている人が半数ほどいらっしゃいました。

合格発表から免許申請

1週間ほどでWebに合格発表が掲示され、その後1週間くらいで合格通知のハガキが届きます。そこから免許申請をすぐに実施して、約1.5ヶ月ほどで免許が届きました。

Web合格発表で合格者の割合を推察すると、合格率は50%程度あると思います。私のように専門知識がなくても、過去問をベースにキーワードを暗記しながら、90%以上の正答率となるまで繰り返していけば、合格点の60点は達成できると思います。

第一種衛生管理者に合格してからの変化

特に何もありません。ただ、職場の作業安全や働く環境に対して、専門家という目線で見ることができるようになったと思っています。とはいえ、衛生管理はそんなに甘いものじゃないと思っています。本当に必要とされる時には改めて勉強し、免許の名に恥じないようにしなければと心に誓っています。