個人アプリ開発で月収5万円目指す

アプリ個人開発 まるブログ

アプリ開発覚え書き

厳選!私が実際に役に立ったUnity,iOS おすすめ動画講座【随時追加】

f:id:marumaro7:20200624224539p:plain

はじめに

みなさんプログラミングの勉強どうやって進めていますか??

私のおすすめは断然これ!


Udemy です。

友人から教えてもらったのですが、一流講師の講座が時間を選ばず受けられます。

セール時には1000円台から受講できるので本を買うより安くコスパ最強です。

エンジニアにマンツーマンで教えてもらおうと思うと、
1時間2500円が相場なので、それを考えると定価で購入してもお得だと思ってます。
とはいうものの、副業するならコストはできるだけ抑えたいので購入はセール時が狙い目です。

質問し放題に加えて、30日間返金保障なので安心して購入できます。

Udemyというか動画教材の欠点としては、
あとで見返すときに「確認したいところがわからない」
ということがあるので、Qiitaやブログなどでメモを残しておくと良いかもしれません。

Udemyでは細かくセクションごとに分かれ探しやすくなっていますが、
それでも不思議、私は探す笑

私が実際に役に立ったUdemyのおすすめ講座を紹介します。

Unity教材

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

【感想】
Unity教材で迷ったらこれで間違いなし! marumaro7.hatenablog.com ↑こちらの記事でも紹介しましたが、Unityの基礎だけでなく、
超つまづきやすいAndroidiOSのリリース手順まで解説しています。
なんですかこれ、、、神ですか?

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

【感想】
Unityで3Dをやりたいならこれ!
基礎から学ぶので初心者でも安心♪

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

【感想】
自分でマリオみたいなゲームが作れる幸せ!
マリオメーカーよりも自由に!

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

【感想】
3Dモデルに命を吹き込む!
Unity×Blenderで制作の幅が広がります。
Blenderのインストールは事前に必要です。

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

【感想】
とにかく量を作る!
なるほど量産テクニックです。

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

【感想】
Unityのチュートリアルをなにかしらやったことある人向けです。
カードゲームの基礎はここに。

iOS教材

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【感想】
ベストセラーだけあって初心者でもわかりやすい
Firebaseとの連携も解説されているのが個人的に嬉しいポイントです。

おわりに

Unity教材全部スタジオしまづやないか!と思いました?
だってわかりやすいんだもの、、、

「逆翻訳 翻訳時短」 プライバシーポリシー

制定日:2021/04/04

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

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

 
本アプリが利用する利用者情報は、下記の3つです。
  • アプリの広告表示のためにお客様の情報の一部を送信する可能性があります。
  • アプリではアクセス解析ツールを用いてアプリの利用状況を収集しております。
  • 問い合わせの際に利用者情報の一部を送信します。
  1. アプリの広告表示本アプリは広告表示のためにお客様の情報の一部を送信する可能性があります。広告表示は、下記2社のサービスを利用しており、本アプリは2社に利用者情報の提供を行います。それぞれのサービスが利用している利用者情報と目的については各社のサービスのプライバシーポリシーをご確認ください。

  2.アプリのアクセス解析
  本アプリではアクセス解析ツールを用いてアプリの利用状況を収集しております。

  アクセス解析Google Analyticsを利用しております。

  本アプリは画面遷移を行った際に、画面IDと利用者情報をGoogle Analytics

  に送付します。

  1. 問い合わせ
    本アプリでは問い合わせの際に利用者情報の一部を送信します。
    問い合わせはメールで行い、メール本文に下記情報が埋め込まれます。また、メールで送信されるため、メールアドレスも送信されます。
    • 名前、メールアドレス
    • 端末名、OSバージョン、その他端末情報(画面サイズ、ピクセル密度、利用可能ヒープメモリ量)
    • アドオン購入状況

利用目的

利用者情報はそれぞれ下記目的に利用されます。

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

【Unity】テキストのコピー機能を実装する方法

モバイル端末でインプットフィールドのテキストを
うまくコピーできなかったのでメモ

実装方法

下記スクリプトの関数をボタンに割り当てる

using UnityEngine;
using UnityEngine.UI;

public class CopyText : MonoBehaviour
{
    [SerializeField] private Text copyTarget_text;//コピーするテキストをアタッチ

 //この関数をボタンに割り当て
    public void CopyTextButton()
    {
        GUIUtility.systemCopyBuffer = copyTarget_text.text;
    }
}

参考

kan-kikuchi.hatenablog.com

【Unity】スクリプトから影を消す

参考記事の影を消す設定
スクリプトから実行するのに時間がかかったのでメモ

参考

tsubakit1.hateblo.jp

スクリプト

using UnityEngine.Rendering;
private SkinnedMeshRenderer skinnedMeshRenderer;
                //SkinnedMeshRendererを取得
                 skinnedMeshRenderer = gameObject.GetComponent<SkinnedMeshRenderer>();                
                skinnedMeshRenderer.shadowCastingMode = ShadowCastingMode.Off;//ライティング>投影>オフに変更 using UnityEngine.Rendering;が必要
                skinnedMeshRenderer.receiveShadows = false;//ライティング>影を受ける>オフ

【Unity】iOS実機確認中のXcode エラー UnityGfxDeviceWorker (32): EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1450 MB, unused=0x0)

エラー内容

開発中のアプリで新機能を実装してiPhone8実機確認中(Xcodeにログが出る状態)にエラー発生
2回同じ内容で試して最初の文字だけ違っているが、たぶん同じ内容
端末は固まったり、落ちる

Xcode上のエラー内容
UnityGfxDeviceWorker (32): EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1450 MB, unused=0x0)

Thread 1: EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1450 MB, unused=0x0)

調査内容

・ネットで調査>メモリが単純に少ないというコメント発見
・モデルを外部から読み込んだ時に発生する
・私が所持しているAndroid端末はメモリ4GBで同じ処理をしても落ちない
・iPhone8のメモリは2GB

原因はおそらくメモリ不足
iPhoneiPadのメモリを調査したところ
最近の端末は3GB以上なので2GB以下は制約をつけてリリースすることにした。

メモリサイズ取得 hiyotama.hatenablog.com

引用元: 【最新版】iPhone/iPadのメモリ(RAM)容量一覧【歴代全機種】 | iPadBoy

f:id:marumaro7:20210322073248p:plain

f:id:marumaro7:20210322073603p:plain

おわりに

3GB、4GB、6GBでどうなるか試したい
どの端末を買うかが悩ましい・・・

【Unity】実機でフレームレートを確認しながら解像度を変更する

参考記事をまとめて実施したかったのでメモ

解像度変更

・ボタンのUI作成
・ボタンにpublic void ChangeRate(int RefreshRate)を割り付け引数設定が必要
・テキストの作成
・このスクリプト public Text fpsText にテキストオブジェクトのアタッチが必要

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//追加

public class RateCheck : MonoBehaviour
{
    //テスト用 解像度変更 RefreshRateは60まで 小5 微15 中30 大60
    //ボタンを作り、ボタンの引数に5、15、30、60を設定した
    //参考 https://kan-kikuchi.hatenablog.com/entry/UnityTips3
    public void ChangeRate(int RefreshRate)
    {
        float screenRate = (float)1024 / Screen.height;
        if (screenRate > 1) screenRate = 1;
        int width = (int)(Screen.width * screenRate);
        int height = (int)(Screen.height * screenRate);
        Screen.SetResolution(width, height, true, RefreshRate);
    }


    //フレームレートチェック
    //参考 https://ekulabo.com/frame-rate-time
    public Text fpsText;// フレームレートを表示するテキストです。   
    private int frameCount;// Update()が呼ばれた回数をカウントします。   
    private float elapsedTime;// 前回フレームレートを表示してからの経過時間です。    

    void Update()
    {
        // 呼ばれた回数を加算します。
        frameCount++;

        // 前のフレームからの経過時間を加算します。
        elapsedTime += Time.deltaTime;

        if (elapsedTime >= 1.0f)
        {
            // 経過時間が1秒を超えていたら、フレームレートを計算します。
            float fps = 1.0f * frameCount / elapsedTime;

            // 計算したフレームレートを画面に表示します。(小数点以下2ケタまで)
            string fpsRate = $"FPS: {fps.ToString("F2")}";
            fpsText.text = fpsRate;

            // フレームのカウントと経過時間を初期化します。
            frameCount = 0;
            elapsedTime = 0f;
        }
    }
}

参考

kan-kikuchi.hatenablog.com

ekulabo.com

Screen-SetResolution - Unity スクリプトリファレンス

【Unity】iOS実機 Profilerを見る手順(Wifi接続)

この記事を参考に実機で確認しようとしたら
Unity 2019.3.15f1では微妙に項目が違っていたの
違う点だけメモ

light11.hatenadiary.com

ビルドセッティングチェック項目

f:id:marumaro7:20210322052111p:plain

iPhone選択画面

f:id:marumaro7:20210322052355p:plain

参考

qiita.com

【忙しい人向け】AdMob税務情報の提出 アプリ開発者要対応!

f:id:marumaro7:20210312004007p:plain

はじめに

詳しいことは他の方にまかせて、誤解を恐れずざっくり書きます。
・米国の法律改正でAdMob(AdSense)の収入から24%の税金が引かれます
・税務情報を申請すれば税金24%は免除
・申請期限は2021年5月31日まで
・用意するものはマイナンバー(マイナンバーカードである必要は無し)
・入力自体は10分くらい

対応は自己責任でお願い致します。 詳しく知りたい方は一番下の参考の項目を見てください。

申請方法

1.Google AdSenseのページに遷移

AdSenseのページ>お支払い>設定を管理する f:id:marumaro7:20210311224718p:plain

2.アメリカの税務情報

下の方にある「アメリカの税務情報」をクリック f:id:marumaro7:20210311225718p:plain

3.税務情報の追加

f:id:marumaro7:20210311225935p:plain

4.米国の税務情報

・個人
・いいえ
・W-8BEN(個人用の入力フォーム)
を選択し、「W-8BENフォームの記入を開始する」を押す。 f:id:marumaro7:20210311230544p:plain

5.W-8BEN納税フォーム

5-1.納税者番号

・個人名(英語) (例)Taro Yamada
・国籍>日本
・外国のTIN>マイナンバーを入力(12桁)
f:id:marumaro7:20210311231642p:plain

5-2.住所

英語表記で入力が必要なのでこのサイトを参考に入力しました。 住所を英語表記に簡単変換 - 君に届け!

f:id:marumaro7:20210311233344p:plain

5-3.租税条約

租税条約下で源泉徴収に適用される軽減税率の請求を行っていますか?

・はい
・「米国との租税条約の適用のある国の居住者」にチェック
・国>日本
f:id:marumaro7:20210311233751p:plain

特別な料率や条件

ご自分の使用しているサービスをチェックいれて設定してください。
今後のために全部設定しておけばOKです。
「条項と段落」は選択式になっていますが一つしか選べませんでした。
源泉徴収率は「0%(軽減税率)」を選んでください。

f:id:marumaro7:20210311234048p:plain

5-4.書籍のプレビュー

チャック入れて次へ f:id:marumaro7:20210312001333p:plain

5-5.納税証明

名前(英語) f:id:marumaro7:20210311234927p:plain

5-6.米国内で行っている活動とサービス、および宣誓供述書

米国内で行っている活動とサービス

いいえ f:id:marumaro7:20210311235702p:plain

税務上の地位の変更に関する宣誓供述書

注意)この項目はAdMob(AdSense)の支払いを受け取ったことがあるか無いかで変わります。

・支払いを受け取ったことがない方 f:id:marumaro7:20210312000043p:plain

・支払いを受け取ったことがある方 f:id:marumaro7:20210312000329p:plain

5-7.送信!

送信すると
こんな画面になるので「新しいフォームを送信」 f:id:marumaro7:20210312002000p:plain

「新しいフォームの作成を開始」 f:id:marumaro7:20210312002107p:plain

6.確認

こんなメールが届いたら完了です!
お疲れ様でした!

f:id:marumaro7:20210312002843p:plain

おわりに

ツイッターでYoutuber向けの記事しかみかけなかったので
これからアプリ開発を始める方に伝われば良いなと思い書きました。

参考

www.iscle.com

www.youtube.com