おもちゃラボ

Unityで遊びを作っていきます

Unity

【Unity】60分で学ぶARKit超入門

ARKitは、Appleが2017年にリリースしたARフレームワークです。当時のARKit 1.0では平面認識しか出来ませんでしたが、ARKit 1.5を経て2018年にリリースされたARKit 2.0では環境マッピングの採用や複数人でのAR共有など、利用できる機能がどんどん増えてきてい…

【Unity】ARKitで作るARモグラ叩き その3

前回はARのモグラが穴から出てくるところまでを作りました。最終回はモグラをタップで叩けるようにします。また、叩いたときのエフェクトも表示したり、アニメーションを追加したりします。前回までの記事はこちらです。ARKitで作るARモグラ叩き その1 ARKi…

【Unity】ARKitで作るARモグラ叩き その2

前回は画面をタップしたところに穴を表示するプログラムを作りました。今回はARのモグラを生成して上下するようにするところまでを作ります。完成イメージはこんな感じです。関連記事はこちらです。前回はタッチしたところにARで穴を表示するところまでを解…

【Unity】ARKitで作るARモグラ叩き その1

これからUnityとARKitを使ってARもぐら叩きの作り方を紹介していこうと思います。全3回の予定です。Unityの操作になれていたら、ARKitを知らなくても1 記事あたり20分程度で試せると思います。完成したARもぐら叩きはこんな感じになります。この記事はUnity…

Unityで始めるARKit入門 環境マッピング編

ARKit2.0からは環境マッピングの機能が追加されました。環境マッピングを使うと金属などのマテリアルへの映り込みが実現できるようになります。これにより、より一層フォトリアルで映像に馴染むARの表現が可能になります。ここではARKitのPluginについてくる…

Unityで始めるARKit入門 ARKit Remote編

UnityのARKit Pluginには、作成したアプリを毎回実機に転送しなくてもデバッグできるARKitRemoteという仕組みが用意されています。今回はこのARKitRemoteを使用する方法を紹介します今回の目次は次のとおりです。 ARKitRemoteとは 実機にARKitRemoteのアプリ…

Unityで始めるARKit入門 影の表示編

ARKitを使って影を表示する場合、足元に丸影を置くのが一番簡単です。ただ、見栄え的にはやはりちゃんとした影があったほうがリアルですね。そこで、ARで影を付ける方法を紹介します。 ARで影を表示する手順 ARKitを使って綺麗な影を付ける方法は、ほとんど…

Unityで始めるARKit入門 画像トラッキング編

今回はARKit1.5から使えるようになったARマーカーについて紹介します。この機能を使うとVuforiaやARToolKitのように、自分の使いたいマーカー画像の上にARでモデルを表示することができます。ARKitで画像トラッキングする流れは次のとおりです。 ARKitと画像…

Unityで始めるARKit超入門 平面をシェーダで描画する

UnityのARKitについてくる平面検出マーカーって、見やすいですけどイケてないですよね。そこで、Unityのシェーダを使って、ARKitの平面検出マーカーを少しだけかっこよくする方法を紹介します。今回は上のようなドットで書かれた平面マーカーを作ってみまし…

Unityで始めるARKit入門 光源推定編

前回はUnityとARKitを使って、タップしたところにリンゴを配置するサンプルを作りましたnn-hokuson.hatenablog.com今回はARKitで光源推定をする方法を紹介します。ARでライトを配置する場合、そのままライトをおいただけでは光源の強さや色合いが決まってい…

Unityで始めるARKit入門 モデル配置編

前回はUnityからARKitを使う方法と、デモを動かすところまで実行しました。今回はタッチしたところにモデルを配置するプログラムを作ってみましょう。 シーンを作成する 今回も前回ダウンロードしたARKitのUnity用プラグインを使用します。 まだ、入手してい…

Unityで始めるARKit入門 セットアップ編

先日(2018年9月18日)ようやくiOS12がリリースされて、ARKitもARKit 2.0にバージョンアップされました。ここではARKit 2.0の特徴と、UnityからARKitの機能を使う方法を紹介します。今回の目次は次のようになります。 ARKitとは ARKit 2.0で追加された機能 A…

【Unity】ScreenPointToRayでエラーが出る

Unity2018.2あたりからScreenPointToRayメソッドを使うと、NullReferenceExceptionのエラーが出てしまうことがあるようです。 NullReferenceException: Object reference not set to an instance of an object 原因と対策 ScreenPointToRayメソッドを使う場…

【Unity】Vuforiaを使ってARを表示する手順(2018年版)

Unity2018から、Vuforiaが標準機能としてUnityの一部に組み込まれるようになり、 さらに便利に使えるようになりました。実際に、Maker Faire 2018で展示したこちらのアプリも Unity2018とVuforiaを使って作成しています。nn-hokuson.hatenablog.comここではU…

【Unity】ボタンのタッチダウン時にメソッドを呼び出す

Unityのuguiを使うと簡単にボタンを設置できます。 ただし、標準で設定されているOnClickイベントを使った場合、 ボタンから手を離したた瞬間(タッチアップ時)に指定したメソッドが呼ばれます。判定がシビアなゲームではボタンを押した瞬間(タッチダウン…

【Unity】インベーダ作りで学ぶUnet超入門 その1

Unityでネットワークゲームを作るにはUnetというライブラリを利用します。このUnetを使うことで簡単(?)にネットワークゲームを作ることができます。簡単にハテナがついているのは、それほど簡単じゃないからです(笑)Unetには様々なネットワークの専門用…

【Unity】iPhoneを振動(3D Touch)させる方法

iPhone6sから3D Touchと呼ばれるTaptic Engineを使ったリニア振動(カチッとした振動)が使えるようになりました。ここではUnityを使ってiPhoneを振動させる方法を紹介します。UnityでiPhoneの振動を扱うには、まずはiOS用のプラグインを作成し、その後Unity…

【Unityシェーダ入門】シェーダだけで描く図形10選

フラグメントシェーダのプログラムだけで円や四角形、市松模様などの図形を描くことができます。ここではUnityで使うことを想定して、フラグメントシェーダで描ける図形を10種類集めてみました。図形を作るための方法も解説しているので、参考になればと思い…

【Unity】Social ConnectorでTwitterにスクショを投稿する

UnityでTwitterやFacebook、InstagramなどのSNSに画像を投稿する機能を追加するにはSocial Connectorを使うのが便利です。2018年5月現在、Androidをターゲットにするとうまく動かないポイントがあったので、それを含めて紹介していきたいと思います。 Social…

MoLMoL2 の遊び方

このたび、MoLMoL2 というゲームアプリをリリースしました!!MoLMoL2 にはiOS版とAndroid版があり、次のリンクからダウンロードできます。MoLMoL2 は無料で遊べて、アプリ内課金、アプリ内広告もありませんので、安心してお楽しみいただけます。 MoLMoL2 っ…

【Unityシェーダ】Shader Graph超入門

Unity2018からシェーダをノードベースで作れる「Shader Graph」という機能が提供されています(まだPreviewですが)これまでは、ノードベースでシェーダを開発しようとするとShader Forgeとかの有料アセットを使う必要がありましたが、これからは「Shader Gr…

【Unity】スクショをカメラロールに保存する簡単な手順

Unityでスクリーンショットを撮影するのはとても簡単なのですが、これをiOSのカメラロールに保存するのは案外手間がかかります。ここではその方法を簡単に紹介したいと思います。スクリーンショットをカメラロールに保存する流れは次のとおりです。 Unityで…

【Unity】VuforiaでARアプリを作るときのTIPS 10選

Unity2017からARライブラリのVuforiaがUnityに統合され、ますます簡単にARアプリケーションを作ることができるようになりました。ここではUnityでVuforiaを使う時に使えるTIPSとハマりやすいポイントを合わせて10個紹介したいと思います!Vuforiaのセットア…

【Unity】Physicsを使わずに平面でボールを反射させる

Unityで物理挙動に従って物体を動かしたい場合にはPhysicsを使うのが便利です。ただ、物理挙動に従わない動きや、Physicsが使えない場合には自分で物理挙動を計算する必要があります。この記事では、平面とボールの衝突と反射を計算する方法を紹介します。「…

【Unityシェーダ入門】3Dモデルをワイヤーフレームで表示する

前回の記事では3Dモデルの頂点を点(ドット)で表示する方法を紹介しました。今回は頂点の表示ではなく辺の表示、つまりポリゴンをワイヤーフレームで表示してみます。また、綺麗にワイヤーフレームを表示するためのシェーダも作成します! メッシュのトポロ…

【Unity】LineRendererでは引けない線を引く

Unityで線を引きたいときは、LineRendererを使うのが簡単なのですが、テクスチャの張り方を変えたり、線の太さを動的に変えたりと、アレンジした線を引こうとすると、とたんに難しくなります。ということで、この記事ではLineRendererを使わずに自力で線を引…

【Unityシェーダ入門】ポリゴンの表面と裏面に別テクスチャを貼る

UnityでPlaneにテクスチャを貼って普通に回転させると、裏面が透明になってしまいます。これを防ぐためにカリングをオフにしたシェーダを作りました。nn-hokuson.hatenablog.comこのように、カリングをオフにすることで、両面ともテクスチャを表示することが…

7日間でマスターするUnityシェーダ入門

この記事は、これまでにおもちゃラボで紹介してきたUnityのシェーダ入門記事40本のまとめです。1日に5記事読めば7日間で読み切れるはず...今のところ(笑)シェーダって時々聞くけど難しそう・・・というイメージをお持ちの方も多いと思います。でも、Unity…

【Unity】四角形のポリゴンを作ってテクスチャを貼る

UnityにはPlaneなど、板ポリ用のポリゴンが用意されています。大概の場合はこれらのポリゴンを利用すれば十分ですが、ゲーム実行時に動的にポリゴンを作りたい場合にはスクリプトから作ることもできます。ここではスクリプトを使って四角形のポリゴンを作成…

【Unityシェーダ入門】デプスバッファの内容を表示する

デプスバッファ(深度バッファ、Zバッファ)とはカメラからオブジェクトまでの距離(深度値、Z値)を格納したバッファになります。このデプスバッファは被写界深度のエフェクトや影の計算など、さまざまな場面で使われています。Unityを使っていると影やエフ…