開発Unityで扱うデータサイズは(画像や音声などがあって)大きいため、UnityのプロジェクトをGithubでバージョン管理するのは、ちょっとめんどくさい印象がありました。新しいプロジェクトを作るときは、いつもいろいろ調べながらGit管理のセットアップをしています。いちいち調べるのがめんどくさくなったので個人的にベストだと思った、新規Unityプロジェクトのgit管理初期設定をまとめておきます。Settings」→「Editor」で以下を設定ブラウザでGitHubにアクセスし、新規のリポジトリ作成。Storageに保存され、unityプロジェクトがgit管理できます。前々から自分のwebサイトを持って見たい!と思っていました。Engine(GAE)とDjango、Pythonを学習する機会がありこれを使ってwebサイトを開設できるのではと思い、やってみました。SQL)サイトデザインGAEとDjango,Pythonを使って開発するのは良しとして、どんなデザインのサイトにするかをまず考えました。Dreamweaverなどの使用も考えました。エンジニアとしてのサイトを作るので、コードは全部自分オリジナルで書こうと思いました。どんなデザインが良いのかわからないので、いろんなサイトを見ました。結果、カードベースのデザインにすることにしました。考え中のデザイン案↓まだカードベースのサイトにするだけで背景画像や色などは考えていませんでした。Engineを使用しました。サーバー実装にはPython+Djangoを使用。PythonもDjangoも全く知りませんでしたが、Django公式のチュートリアルが非常にわかりやすくなっているので、サーバー側はなんなく実装できました。Pythonの学習にはPython-izmのサイトを使用しました。フロント側のHTMLとJavaScriptについては問題なかったですが、CSSについてはちゃんと使ったことないので、軽く学習してからフロント作成をしました。ここまでで先ほど↑の画像のような形にはなりました。本格的に開発(こだわったとこ)ここまでで8割型完成しましたが、もう少しこだわりました。こだわったことの一つ目は、スマホへの対応です。対応の仕方としてはレスポンシブ・デザインで行いました。単純に表示画面のアスペクト比などによって文字サイズを変えたりしています。Productページがわかりやすいです。縦画面では作品が縦に並び、メニューバーが3本線(ハンバーガーメニューっていうのかな?)になっています。横画面では作品が横並びでメニューの内容が見えています。こだわったことの二つ目は、管理者ページの作成です。これでNewsを更新したいときに、いちいちHTMLをサーバーにデプロイする手間を省きました。Contactページからの連絡は、僕にメールを送る前に、CloudSQLにデータを保存するようにしました。こだわったことの三つ目は、WebGLの使用です。サイトのデザインクオリティを上げることを考えたときに、どんなデザインコンセプトのサイトにするかを考えました。インタラクティブなので、その雰囲気を組み込んだオリジナルデザインにしたいと思いました。そこで調べたらwebGLを見つけました。今回、背景とホームのIKEPロゴに使用しました。背景は、3Dという奥行き感とCGの基礎であるポリゴンワイヤーフレーム、僕が好きな幾何学模様をコンセプトに作成しました。黒背景にすることで、エンジニアが好きな黒背景エディタの雰囲気も組み込みました♪*背景全体にcanvasを広げる方法はこちらIKEPロゴはJS内でI,K,E,Pそれぞれの3Dモデルを作成して表示させました。一応、webGL非対応のブラウザにも対応してます...CSSのz-index要素を使いHTML全体の重ね順を指定することで対応しました。後ろから、ただの黒背景webGL背景サイトの各要素と並べることで、webGLが無効時は「ただの黒背景」が見えるという風になっています。ちなみにこれでJavaScriptの無効にも同時に対応できました。js無効にした時の表示↓GAEにデプロイGCPのサイトにDjangoのデプロイ方法が書いてあるので、これの通りにやれば問題なくできます。最近GAEのstandard環境でPython3が使えるようになったので、この辺だけこちらのサイトを参考にしました。まとめ念願の個人webサイトがもててかなり嬉しいです♪GCPを使うと、サーバーメンテナンスやセキュリティなどもGoogleにお任せできるので、非常に簡単でしたただ、webGLでのクオリティ上げとサイトの読み込み速度の調和を取るのがなかなか大変でした。00:40IKEPのwebサイトができました!!Tweet広告を非表示にするもっと読むコメントを書く2018-10-06コロプラ勉強会に行ってきたインターンある日突然サマーインターンシップに応募したからか、ゲームプログラマー向け勉強会&座談会に来ませんか?とコロプラから連絡をいただきました。悩んだが、大学の授業もちょうど休みだったので参加させていただきました。会社説明とオフィスツアーはざっくりとした感じで、勉強会と座談会が中心でした。勉強会では白猫プロジェクトを題材に、コロプラ流の開発手法を話されていました。座談会では1グループ6人に1人若手エンジニアが付き、1人あたり25分×3人でした。7グループあったので、3/7人の方と話しました。→ラピッドプロトタイピングによって「とにかく速く、多く」試作品を作成。デザインは仮のものでOK「ゲームとしての新規性」、「ユーザーに受けるのか」、「面白いか」といったことが足りなければボツに。→何回も繰り返すと、指摘が鋭くなりゲームが洗練されていくその他コロプラではVRゲームはUE4で制作。Profilergitができないと、仕事できない。感想ラピッドプロトタイピングは有用だなと思った。学生にはしんどいなってのが本音...ゲームの進行に合わせて作成していくのではなく、各要素をバラバラに作成するのは新鮮だった。チーム開発において、ゲームの進行に合わせての作成は開発速度が遅くなるのはわかるけど、個人開発にも使える制作手法なのでは...プロトタイプ、α、β、の各開発段階の様子を見せていただけたが、プロトタイプでそれなりの形になってて驚いた。βテストでの指摘例がかなり細かいとこまであったので、さすがプロだと感じた。実際のプレイ環境でのテストの一例で、「通信テストのために山手線に乗ってぐるぐる回りテストした」とあり、面白いと感じつつも、とことん突き詰める姿勢にプロだと感じた。VRをUEで作成は意外だった。Unityを使っているのは知っていたが、UEも使っているとは....。(UE勉強しなければ...笑)私もgitを使っているが、もう少ししっかりやっとくべきかも....。大学の画像処理の実習で、実験の課題が出されました。実験の内容としては、「今まで学習したことを使って、実験する価値のある画像処理プログラムを作成する」ことです。「実験する価値がある」というのは、すでに実現できるとわかっているものではなく、実験してみないとわからないものということでした。そこで私はRGBカメラによる人間の関節角度推定システムを作ることにしました。普段、開発をしていてRGBカメラしかない状況で、「深度センサーを組み込んだRGB-Dカメラのような距離情報を取得できるカメラがあれば...」ということが多々あります。iPhoneアプリ開発で、iPhoneのカメラを使ってセンシングする場合など.....Kinectのような深度センサーが組み込まれたRGB-Dカメラなら関節推定はできる(と思う)のですが、RGBカメラでは普通にはできません。今回は腕の関節角度推定をしました。肌色領域抽出とテンプレートマッチングがベースのシステムになっています。類似度が高かった時の合成画像の状態を推定結果として出力となっています。上腕と前腕部分をテンプレート画像として抽出マウスドラッグで赤色の枠を出し、画像切り出し部分を選択します。キーボードのpキーを押したら始まるようにしました。一度、上腕に対して前腕部を回転させた画像を生成し、その画像全体を回転させています。前腕部回転により肘の回転、そのあとの画像全体の回転によって肩の回転の候補を作成しています。Studio、C++、OpenCVで実現しています今回は腕の肩側が左側に、手のひら側が右側でカメラに映るのを前提にしています。2018年7月17日コンソールに出力されてる文字が見にくいですが...肘関節角度は肘の開き具合です。肘を曲げずに腕がまっすぐなら180度、完全に曲げたら10度(?)です。肩関節は腕を水平にしている状態が0度、そこから下に降ろした状態が-90度、上にあげた状態が90度です。Swift私が自作&現在リリースしているアプリを紹介していなかったのでこのブログでも紹介しておきます。プログラミングを始めて間もない頃に作ったものですので、2年弱前(?)くらいのものかと....。IKEPはApple信者であることもあり、その頃からSwiftを勉強してiPhone用とMac用を1つずつ作りました。Calculator2つとも自分が使いたいからという理由で作りました(笑)EyeBreakTimerはこの頃開発のためにPCを触る時間が増えたことによって、時間を忘れて作業してしまうのを防ぐために作りました。作業を邪魔しないことが大前提になっているため、ステータスバーでの表示とMacのスリープとの連携によって全自動化を図りました。BinaryCalculatorは大学の授業課題(宿題)の中で2進数などを扱うことが多々あった時期に、サボるために作りました(笑)よかったらダウンロードして使ってください(^_^)/余談AppStoreへのリリースは日本では20歳にならないとできないと知った時は悲しかったです.....。Unity今までUnityを色々勉強したり、何か作ってみたりとしてきたが、(Unityを使った制作物で)商品として売り出せるような作品を作ってないなと思い、商品レベルの本格的ゲームを最初から最後まで1人で作ってみるかと思い立った。知らない方はこちらから~(Youtube)まあ、そんなこんなでこんな神ゲーが作れないかなと.....wRPGはUnityの勉強で簡単なのは作ったことがあったんで、RPGで作るかと決定。(RPGゲームの勉強で作ったやつ~↓)で、とりあえずRPGで方向は固まったんで、アイデア出しをしてどんなゲームにするかは自分の中では決めました。(細かいことを変更するかもなんで、まだ内緒...)プラットフォームとしてはPCとスマホの両方を考えています。最初の1ヶ月はステージ作成と移動制御関連ばっかだったような.....で、さらに1ヶ月(制作2ヶ月目)ほどでこんな感じ(PC版)↓だいぶ発展しました。ジャンプや泳ぐのができるようになり、敵の種類も増え攻撃してくるようになりました。最後のワープはエフェクトだけ作りました(ゼルダBotWのワープシーンのマネですw)。このプロジェクトのプログラムはこちらから~(Github)UnityプロジェクトがGithubにあげれなかったのでスクリプトだけ(随時更新します)以上、進捗その1でした。AR,VR,MR大学での実習を通して、Processingを使ったインタラクティブコンテンツを作成しました。Processingを使うのは初めてという中で、ある程度形になったものをここに上げておきたいと思います。_)m)画像処理インタラクティブコンテンツカメラ入力を使ったインタラクティブコンテンツを作成せよ、と言う課題が出されました。そこで私はOpenCVでの画像処理を組み込んだコンテンツを作成しました。大学の授業課題で作ったものですが、ハンドトラッキングのアルゴリズムがなかなか精度よくできたので...processingとopencvで作りました。2018年5月10日モグラたたきです。カメラを机に向けて設置して、机の映像に対応した部分を叩くとモグラを叩くことができます。アルゴリズムを試行錯誤したら、手が早く動いてもトラッキングの精度が落ちないようにできました。OpenCVでは顔認識はデフォルトで簡単に行えるようになっているのですが、手形状認識はできません。そこで、手形状認識をしてバーチャルなものに触れることができるものを作ろうと思いました。普通のRGBのwebカメラで映像を取得し、HSVでの肌色抽出で実現しました。この肌色領域を取得して、その領域とモグラのCGが接触したらモグラを叩いたと認識させています。くわしく詳しくはこちら(プログラム)ARToolKitを使ったオブジェクトの3次元制御ARシステム次にARToolKitを使ったARインタラクティブシステムを作成せよ、という課題が出されました。ARToolKitはARマーカーを使って仮想オブジェクトを表示します。マーカーをオブジェクト表示だけに使うだけではつまらないと思い、コントローラとして使おうと考えました。大学の課題で作ったものですが...ARToolKitを使ったインタラクティブキャラクターコントロールシステムARToolKitとprocessingでマーカー回転角度を取得して、アフィン変換で実現しました。2018年6月29日マーカーを手で隠したり見せたりする事でボタンとしての機能を持たせつつ、マーカーの回転角度をアフィン行列で取得。その中から平面に対して垂直な軸を中心とした回転角度を抽出し(その他の軸の無駄な回転角度を削る)、この角度を使ってオブジェクトをアフィン変換しています。普段、Unityの方をメインで使うんでProcessingはあまりやった事なかったですが、やってみると面白かったのでもっと勉強したいですね(^_^)なによりも描画関係がすごく簡単にできるのが衝撃的でした。最終課題で、上記のことを全部混ぜたレーシングカーゲームを作りました。ARマーカーの回転角度で車を操作、手認識とオブジェクトへの接触判定でスピードアップです。ついでにランキング機能を組み込みました。ったときの走行距離⻑)>(ゴールできなかったときの走行距離短)の順です。完成品はこんな感じです↓。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。