unityの最近のブログ記事

スマホ用Unityアプリで映像再生するプラグインは、
Mobile Movie Texture」と「Easy Movie Texture」の2種類ありますが
両方試した結果Easy Movie Textureのほうが良い感じでした。
Mobile Movie Textureは少し重く、一部端末で再生不具合がありました。

Windows10にUnity5.3.5をインストールしようとしたところ
"Installing Playback Engines"の状態でインストールが終わらない現象がありました。

タスクマネージャーで「Windows モジュール インストーラ」というタスクを終了させると
正常に進むようになりました。

http://answers.unity3d.com/questions/1095497/unity-522-installation-gets-stuck.html

Unity5.2はペン(デジタイザー、スタイラス)による操作に対応していないようです。

AssetStoreに対応プラグインが一つあったがUnity5で動かない模様。

Panasonic ToughPadやMicrosoft Surface Proなどペンを使った端末で動かしたい場合、

ワコムのWintabというタブレット用APIを使うプラグインを用意する必要があります。

以下、簡単に手順を書いておきます。

 

1)ワコムのドライバーに含まれるWintab32.dllを入手。

下記をインストールすると /Windows/Systems32 と /Windows/SysWOW64 内に入ります。

http://us.wacom.com/en/feeldriver/

 

2)Wintab32.dllを使うための .NET ラッパー「WintabDN」のソースを入手。

http://www.wacomeng.com/windows/code/WintabDN.zip

 

3)Visual Studio Expressをインストールして、WintabDNプロジェクトをビルド。

※Visual Studio Express 2015は巨大なので2013で充分。

※プロジェクトのプロパティで対象フレームワークを「.NET Framework 3.5」、出力の種類を「クラスライブラリ」に。

※.NET4用のコードでエラーが出る個所は、.NET3.5用に修正する。

 

4)ビルドしてできたWintabDN.dllをUnityプロジェクトの/Assets/Plugins/に入れる。

 

5)下記のコードをほぼそのまま使わせていただく。

http://forum.unity3d.com/threads/wacom-tablet-input-script-in-c.317154/

※一部、コメントアウトやアンコメントする必要あり。

※MyWTPacketEventHandlerにペン座標と筆圧が届きます。

※アプリ終了時のハング対策としてmonoスレッドを閉じるコードの追記が必要。

 

6)ペン座標をUGUIのEventSystemに渡すためにStandaloneInputModule.csを参考にして

StylusInputModule.csを作る。

https://bitbucket.org/Unity-Technologies/ui/src/0155c39e05ca5d7dcc97d9974256ef83bc122586/UnityEngine.UI/EventSystem/InputModules/?at=5.2

http://tips.hecomi.com/entry/2014/09/25/233823


追記:

アプリを起動して初めてタッチするときに30%くらいの確率でエラーダイアログが出る現象が起きた。

ログを見るとDllNotFoundExceptionが起きてる。

回避策としては、下記のような感じでcontextをopenした直後にGetDataPacket()を実行すること。

m_logContext = OpenTestSystemContext(ctxWidth_I, ctxHeight_I, ctrlSysCursor_I);

WintabPacket pkt = m_wtData.GetDataPacket((uint)m_logContext.HCtx, 1);

理由はわからないけどこれでエラーが起きなくなった。


Q-BLOCKのスマホアプリから3Dプリントできるようになりました。
かんたんに投稿作品をDMM.makeの3Dプリントサービスで注文でき、
立体フィギュアとして手元に届きます!

加えて、自分でイチから作った作品はVRML形式の3Dデータファイルとして
書き出せるようになりました。
※他人の作品や、他人の作品を改変して作ったものはファイル書き出し不可です。

Q-BLOCK | ちょゲつく オフィシャルサイト
ヘッドフォンで聞いて初めて気づいたんですが、
ゲーム内のBGMをステレオで鳴らしているはずなのに
モノラルのように聞こえてしまう現象について。

音ファイルのInsperctorを見るとデフォルトで「3D Sound」にチェックが入っています。
そして3D空間内で音を鳴らす場合は、
音を出す位置のオブジェクトにAudio Sourceをつけて
聞き取る位置のオブジェクトにAudio Listenerをつけるという使いかたをするみたいです。

今回、3Dサウンドの必要がないのに3D Soundになっており
しかもAudio SourceとAudio Listenerを同じオブジェクトにつけていたので
結果としてモノラルのような中心で鳴っている状態になりました。

3Dサウンドではなく普通のステレオとして鳴らしたい時は、
音ファイルのImport Settingsで「3D Sound」のチェックを外すことを忘れないようにということです。

UnityでKamcord

| コメント(0) | トラックバック(0)
プレイ動画共有プラグインKamcordについて、
7月22日時点でExample Integrationsでダウンロードできるサンプルプロジェクト「Penelope-Kamcord-Example.unitypackage」は古いようで、XCodeでビルドエラーがでます。


Unity Quick Start Guideでダウンロードできる「Kamcord.unitypackage」なら大丈夫。
Web版Q-BLOCKの公開から5年を経て、ついにスマホアプリになりました。
iPhoneでもAndroidでも好きなだけ3Dドット作品を作れます。
みんなの作品を眺めるだけでも楽しいのでぜひダウンロードしてください!

NGUIを使って表示しているものを
クリッピングマスクで動的に切り抜く方法についてのメモ。

例えば、画面全体を黒いUISpriteで覆っていて
その一部を丸くくり抜いて奥が見えるようにする場合。

まず黒いUISpriteは普通に配置。Transformは Z = 0 にする。
次にマスク用GameObjectを配置してTransformは Z = -1 にする。
マスク用GameObjectにUITextureコンポーネントをアタッチする。
UITextureのShaderとして"Unlit/Depth Cutout"を設定する。
UITextureのTextureとしてアルファチャンネル付きの画像を設定するとその形でマスクできる。

Z値でマスク対象が決まるので
Z=0以上のNGUI表示物はすべてマスク対象になる。
Z=-2に設定したNGUI表示物はマスクされない。
NGUIで作った画面を10秒ほど放置すると表示が消えたりぐちゃぐちゃになる現象が
Galaxy S3など特定の端末で起きる。

Player Settingsで「Multithreaded Rendering」と「GPU Skinning」のチェックボックスをオフにすると治るらしいです。


参考ページ:

Xcode5.1にアップデートしたところ、
Unityで'Build And Run' をしてもXcodeプロジェクトが立ち上がらなくなり下記のエラーが出た。

"UnityException: Launching iOS project via Xcode4 failed. Check editor log for details"

解決策は下記の手順。

1)下記のファイルをテキストエディタで開く
Unity.app/Contents/BuildTargetTools/iPhonePlayer/Unity4XC.xcplugin/Contents/Info.plist

2)下記の行を見つける
<key>DVTPlugInCompatibilityUUIDs</key>
<array>
<string>63FC1C47-140D-42B0-BB4D-A10B2D225574</string>
<string>37B30044-3B14-46BA-ABAA-F01000C27B63</string>
</array>

3)<array></array>内に下記を追記する
<string>A2E4D43F-41F4-4FB9-BB94-7177011C9AED</string>

4)保存して、Xcode再起動



参考ページ:
1 2