Visual Studio CodeでRe:View執筆をするプラグイン

====
Re:Vivewの基本的な使い方は下記を参照ください。

magicbullet.hatenablog.jp


====

@dy_karous さんより、エディタとしてAtom以外にVisual Studio Codeでのプラグインが公開されていることを教えていただきました。


インストール方法はVSCodeを開いて、下記の①②③のようにします。

f:id:Takyu:20170715170831p:plain

Unibook8の執筆向けに試してみましたが、問題なく使うことができました。(Macだとスペック不足か、時々動作が遅くなる時がありました)

詳細は下記作者さまのブログをご参考ください。

atsushieno.hatenablog.com


ここで宣伝を。

2017年の夏コミでUnibook8に共著で執筆させていただきます。

Unibookについては以前こちらで書いたので、よろしければご参考ください。

magicbullet.hatenablog.jp

Visual Studioで "The OutputPath property is not set for project 'Assembly-CSharp.proj' "が出た時の対処方法

HoloLensアプリ開発をUnityで行う場合、Visual Studioが必須です。

しかし、実際に開発されている方はよくご存知と思いますが、Visual Studioはどういうわけか不定期にエラーを出します。

今回はエラー内容の一例と対応策を簡単にまとめました。

現象

UnityでビルドしたVisual Studio向けプロジェクトをVisual Studioで開くと、不定期にこのようなエラーが出ます。

f:id:Takyu:20170706075210p:plain

プロジェクトのエクスプローラに「読み込み失敗」とあります。これが出ると、HoloLens向けにアプリの転送をしようとしても、

"The OutputPath property is not set for project 'Assembly-CSharp.proj' "

というエラーが出てしまいます。

f:id:Takyu:20170706075224p:plain

解決方法

「読み込み失敗」と書いてあるところで右クリックして「プロジェクトの再読み込み」を実行します。

f:id:Takyu:20170706075241p:plain


これで「読み込み失敗」が消えてビルドできるようになります。

注意点

この方法により、「読み込み失敗」は消えるのですが、それでもHoloLens向けにアプリの転送ができないときがありました。

できないときは、結局最初からやり直しになりますが、

Visual Studioを終了

・今回のプロジェクトファイルを全削除

・再度Unityのビルドから始める

によってうまくいきます。

githubで任意のバージョンのファイルを取得する方法

小ネタですが、備忘録として残しておきます。


技術情報を求めて色々な方のブログを見ていると、「githubからverX.XXのunitypackageを取得してUnityにインポートしてください」のような記述を見ることがあると思います。

例えば、Google VRのunity SDKですが、2017/7/1現在はver1.60が最新です。

f:id:Takyu:20170703095040j:plain

過去バージョンであるver1.50が取得したい、となったときの方法を紹介します。


まず、relesesをクリックします。上の画像だと、「26 releases」です。すると、このようにリリースされたバージョン一覧が表示されます。

f:id:Takyu:20170703095307j:plain

ここで、ほしいバージョンの「しおり?」マークをクリックします。画像の赤枠部分です。

すると、このように最初と同じ画面が表示されますが、バージョンがver1.50になっています。

f:id:Takyu:20170703095538j:plain

あとは、上記で「GoogleVRForUnity.unitypackage」をクリックすると画面が変わるので、"Download"をクリックすればunitypackageを取得できます。

【Unity】機能と性能面でLineRendererとGLを比較しました

最近、このツイートでお知らせした空間OS的なものを開発しています。


まだ詳細は秘密ですが、その中では線の表現も入れていこうと思っています。

ただ、HoloLensアプリ開発は表現に気をつけないとすぐにカクついてしまうため、線を描画するとしてもなるべく負荷を少なくする必要があります。

そこでOpenGLの記述ベースで線や図形を描画できるGLと、LineRendererを調べて、どんなことができるのか、同じ表現をしたときの負荷の違いを調べることにしました。

機能について (1, 2, 3章)

大雑把ですが、線を描くときに変わるパラメータは、

・太さ、細さ

・色

・見た目

と思います。そこで、LineRendererとGLで描画する方法を整理しました。

性能について (4, 5章)

LineRendererとGLでなるべく同じ条件になるように線をたくさん描いて、パフォーマンスを比較しました。

また、HoloLensで実際に見て、カクツキがあるかを調べました。



======

目次

0. 基本的な考え方

1. 線の太さを調整

2. 線の色を変更

3. 線の見た目を変更

4. パフォーマンスの比較 (Unity Editor)

5. 実行時の負荷比較(HoloLens)

6. Tips

7. 終わりに

======

続きを読む

UnityのGLを使って、HoloLensで線を描画してみる

Unityで線を引くにはいくつか方法があります。

(1) Line Rendererを使う

(2) Vectrosityアセットを使う

(3) GLを使う


(1)は「Unity LineRenderer」のようなキーワードで調べると色々な方が方法を書いてくださっています。

(2)は以前書いたこちらを参照ください。

magicbullet.hatenablog.jp

(Unity5.6.1p01でも使えました)


今回は(3)の方法を調べました。また、HoloLensで使えることも確認したので方法を記載します。

=====

目次

1. GLとは?

2. 線を引くまでの手順

3.HoloLensでの動作確認

4.終わりに

=====

続きを読む

@Muro_CGさんの講演を元に、Unityアセットの表現力を高める勉強をしました

今月、Unityのカンファレンス「Unite 2017 Tokyo」が開催され、Unityのライティング、Post Processing Stack、Shaderに関する技術的な講演がいくつかありました。

XVI社の講演では前半は@GoromanさんによるVRのプレゼンスを高める方法(P.19-59)、後半は@Muro_CGさんによるUnityで表現力を高める方法(P.60-P.81)が解説されました。

www.slideshare.net

講演の概要はこちらで解説されています。

panora.tokyo


今回は、XVI社講演の後半を元に整理したものです。


まず、今回試した背景です。スライドの引用ですが、Unityのモデルを使うときは、まさにこういう風に思っていました。

f:id:Takyu:20170521104728j:plain

f:id:Takyu:20170521104735j:plain

f:id:Takyu:20170521104742j:plain


しかし、同じアセットでも調整次第でこのように変わるそうです。

f:id:Takyu:20170521180944j:plain


前からこういうことがしたかったので、講演内容を見直したり、@Muro_CGさんに直接伺ったりしてやり方を学びました。

(お時間いただき、改めてありがとうございます。>@Muro_CG さん)


以下、アセットの表現力を高める方法を、私なりに解釈して整理しました。


なお、下記の環境で検証しました。

Mac OS (10.12.4)
・Unity 5.6.0p1


==============================
注意:以下の解説は私の解釈を元にしていますので、@Muro_CGさんのやり方と異なる場合もあります。ご了承ください。
==============================


=================

目次

1. 検証用のアセットを購入

2. Unityプロジェクトの下準備

3. イメージを固める

4. ライティングの調整

5. Post Processing Stackの調整

6. Tips

7. 終わりに

=================

続きを読む

UnityでBotが作れるアセット「Chatbot」を試してみました

最近、色々なところでコンピュータと人が自然言語で対話する仕組みを採用しました、のようなニュースを見ます。

japan.cnet.com

www.nri.com

こうやって、技術が進歩してくると、ゲームの世界でもキャラクターと自然に話ができるようになるのかな、と夢が膨らみます。

例えば、ゲームやアニメでは主人公にくっついているキャラがいて、そのキャラと話しかけるシーンがよくあります。

すでに連載終了してますが、ブリーチの斬魄刀とか、リボーンのボックスとか、もっと古いところだと、フルメタルパニックのアーバレストとか、、(知らない人にはわかりづらくてすいません、)

ゲーム面だと、AIはこういう方向に使えるような気がしています。AIのパートナーと一緒に会話しながらミッションをクリアするようなVRゲーム、こういうものがそのうち出るかもしれないですね。自分でも作ってみたいですし。


ということで、そういう対話ができる機能を作るにはどうするか、と思ってUnityのアセットで探してみたところ、このようなアセットを見つけました。

f:id:Takyu:20170304220448j:plain


これは、会話のパターンを多数組み込み、質問に合致する回答を返したり、質問の中に含まれるキーワードから、それっぽい回答を類推して返すという機能を実現できるアセットです。


以下、Chatbotの概要や、botを構成するAIMLの概要などを整理してみました。

=========

目次

1. Chatbotの概要

2. AIMLについて

3. AIML構文の代表的なタグ

4. AIMLの読み込み優先順位について

5. その他Tips

6. 終わりに

=========

続きを読む