アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

プログラミング

クラス継承の基礎

こんにちはみにくい社長です。オブジェクト指向言語の特徴の1つにクラス継承があります。C++, C#, Javaで概念は同じですが、多少ルールが異なる部分があり、間違った解釈をしてしまっているケースを目にすることがあるので、解説したいと思います。クラス継…

ポケットずかんに塗り絵機能追加!

こんにちは、ちゃらいプログラマです。 弊社で開発/運用しているスマートフォンアプリの「ポケットずかん」に塗り絵機能が追加されました。 技術研究の名目で2回ほど記事を書かさせて頂きましたが製品版にするにあたり色々試行錯誤をしました。 以前は 1…

楽しい塗り絵の時間!(#2)

こんにちは。ちゃらいプログラマです。 前回はシェーダー側の解説を行いましたので今回はC#側の解説を行います。 C#側での対応は以下になります。 1.画面タッチした座標からピクセルカラーを取得 2.シェーダーに1.で取得した色(InColor)と塗りたい色(O…

楽しい塗り絵の時間!(#1)

こんにちは。ちゃらいプログラマです。 技術研究で塗り絵に挑戦してみたので共有したいと思います。あ、ちなみに全然楽しくないです。 要件は以下の2点 1.画面タッチした箇所の色を塗りつぶしたい色で塗りつぶす (塗りつぶし機能) ※上の図で緑色の部分…

ミリ波帯

こんにちは、まるいプログラマです。最近はケータイも5Gが使われはじめました。使用されている電波はミリ波と言うもので、アンテナが1cmにも満たないものです。同じミリ波帯が使用されてるものでは自動車の自動運転に使用されるミリ波レーダがあります。ラジ…

3Dモデルを動かせ~!

こんにちは、ちゃらいプログラマです。 3Dモデルを触る機会がありましたので、モーションもあることからどうせなら動かしてみたい!と思って作ってみました。 実行画面 移動する範囲は、 NavMeshを利用することで簡単に実装できました。 編集画面 移動先は、…

オブジェクト単位のスクリーンショット

こんにちは、みにくい社長です。 Unityでスクリーンショットを保存する場合、 ScreenCapture.CaptureScreenshot("filename.png"); をスクリプトで実行するだけで実現できます。 もし画面全体ではなく一部を保存したい場合は、ちょっと面倒です。 方法として…

日々勉強…!

こんにちは、ちゃらいプログラマです。 業務でUnityを触っていますが、3D周りはほとんど触ったことがない!ってことで空き時間にやってみたかったことを2点やってみました。 1.JobSystemを用いた並列処理 2.Shader 1.若干コーディングに癖はありますが…

Unityでギャラリーに保存してある画像をアップロードするPluginを作成してみる(#3)

こんにちは。ちゃらいプログラマです。 今回はiOS側の処理を紹介します。 PluginUpload.mmの記述 #import <UIKit/UIKit.h> #import <Photos/Photos.h> #import "UnityInterface.h" #pragma mark Config const char* CALLBACK_METHOD = "CallbackOpen"; const char* ERROR_MESSAGE = ""; #prag</photos/photos.h></uikit/uikit.h>…

Unityでギャラリーに保存してある画像をアップロードするPluginを作成してみる(#2)

こんにちは。ちゃらいプログラマです。 前回の続きになります。今回はC#側の処理を紹介します。 PluginUploadObject.csの記述 public class PluginUploadObject : MonoBehaviour { private Texture2D _texture2D = null; // Texture2D private Sprite _sprit…

Unityでギャラリーに保存してある画像をアップロードするPluginを作成してみる(#1)

こんにちは。ちゃらいプログラマです。 最近Pluginを作成する機会が増えました。今回はギャラリーに保存されている画像をUnity側で表示/アップロードする処理をご紹介させて頂きます。 まずは、Android側からですが、今まで紹介したPlugin作成のようにUnity…

Unityで端末音量を操作するPluginを作成してみる!

こんにちは。 ちゃらいアヒルです。 現在作成しているプロジェクトの要件で以下2点の対応が必要になりました。 ・端末の音量を取得する ・端末の音量を操作する ムムム・・・とうとうPlugin作成に手を出す時がきたか!! と言うことで、AndroidとiOSでそれ…

プレイヤー操作とAIの切替方法

こんにちは みにくい社長です。 最近はAI(人工知能)という言葉をよく耳にするようになりました。 ゲーム業界では馴染のある言葉で、昔からメインキャラクタ以外のキャラクタは全て何かしらのAIで動いています。 メインキャラクタをAIに任せるゲームもあり…

Undo/Redoの実装(2)

こんにちは みにくい社長です。 前回に続き、Undo/Redoの実装についてです。 前回は操作時に全てのデータを保存する方法を紹介しました。 それでは操作がどうしても重くなってしまう場合があるので、今回は操作内容だけを保存する方法を紹介します。 (1)…

Unityの開発にVisual Studio Codeを利用する

こんにちは、みえないプログラマです。 macOSでUnityの開発を行うと、微妙に使いづらいMono DevelopやVisual Studio for Macを使うことになりますが、その代わりにVisual Studio Codeを使うこともできます。 Visual Studio Codeはマルチプラットフォームで動…

Undo/Redoの実装

こんにちは みにくい社長です。 エディターを作るのって、普通のアプリを作るより大変だったりしますよね。 機能が多くて自由度が高いほど、作れるものの幅は広がりますが、エディターを作る側は大変です。 特にエディターの必須要件のUndo/Redoですが、簡単…

Unityで作成したiOS AppをiTunes Connectに提出した際にITMS-90809のメールが来たので対応した話

こんにちは、みえないプログラマです。 普段は名前の通り裏方の開発を行っていることが多いです。でも最近はアプリなど表の開発を行うことも増えてきました。 今回は真面目な話ですが、これから色々趣味の話も書けたらなと思っています。 TL;DR アプリの内部…

コードの可読性

こんにちは みにくい社長です。 今日から株式会社AHIRUの社員ブログが始まります! 毎週更新しますので、ヒマな時にチェックしてみてくださいね。 今年の夏休みはたくさんのインターンシップの学生が来てくれました。 1週間の研修期間でどれだけのことを教…