Author Archives: yamada

YouTubeの動画を開くUnityアセット

0
Filed under Unity
Tagged as ,

Unityでつくるアプリ内でYouTube動画を開くためのアセットです。

サンプルも多く、問題なく使えました!

Unityでメールを送信するアプリがiOSで動かない問題

0
Filed under Unity
Tagged as ,

Unityで作ったアプリでメールを送信するコードを書き、Unity Editor上では動いているのだが、iOSでは送信されない、という問題が発生しました。
(検証バージョン Unity 5.6.4p1)

前エントリではAndroidの不具合でしたが、iOSではまた色々と対応が必要でしたので、下記にまとめます。

.NET 2.0にする

これはAndroidでの対応と同じですが、Player Settings内にある、Configurationの、Api Compatibility Levelを「.NET 2.0 subset」となっている場合「.NET 2.0」にします。

Unity Player Settings Configuration .net 2.0 subset

link.xml

Assets/以下にあるlink.xmlを修正します。使用しているライブラリと一緒に作成されているケースもありますが、無ければ作成します。
※参考ページ

<linker>
<assembly fullname="System">
<type fullname="System.Net.Configuration.MailSettingsSectionGroup" preserve="all"/>
<type fullname="System.Net.Configuration.SmtpSection" preserve="all"/>
<type fullname="System.Net.Configuration.SmtpNetworkElement" preserve="all"/>
</assembly>
</linker>

既にある場合は、同様のノードに追加します。

追加Frameworkの指定手順

XcodeでビルドするときにFrameworkの追加設定が必要なことがあります。
Assets/Editor/PostBuildProcess.cs というファイルを作ります(ファイル名は任意ですが、パスはEditor以下である必要があります)。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
 
public class PostBuildProcess {
 
	[PostProcessBuild(100)]
	public static void OnPostProcessBuild(BuildTarget target, string path)
	{
		if (target == BuildTarget.iOS)
		{
			PostProcessBuild_iOS (path);
		}
	}
 
	private static void PostProcessBuild_iOS( string path ){
		string projectPath = PBXProject.GetPBXProjectPath(path);
		PBXProject pbxProject = new PBXProject();
 
		pbxProject.ReadFromString(File.ReadAllText(projectPath));
		string target = pbxProject.TargetGuidByName("Unity-iPhone");
 
		pbxProject.AddFrameworkToProject(target, "AssetsLibrary.framework", false);
		pbxProject.AddFrameworkToProject(target, "MessageUI.framework", false);
		pbxProject.AddFrameworkToProject(target, "Accounts.framework", false);
		pbxProject.AddFrameworkToProject(target, "Social.framework", false);
		pbxProject.AddFrameworkToProject(target, "AddressBook.framework", false);
		pbxProject.AddFrameworkToProject(target, "AddressBookUI.framework", false);
 
		File.WriteAllText(projectPath, pbxProject.WriteToString());
	}
}

別の用途にも使えるので、覚え書きです。

Unityでメールを送信するアプリがAndroidで動かない問題

0
Filed under Unity
Tagged as ,

Unityで作ったアプリでメールを送信するコードを書き、Unity Editor上では動いているのだが、Androidでは送信されない、という問題が発生しました。
(検証バージョン Unity 5.6.1p3)

.NET 2.0にする

Unityからメールを送る仕組みは、SmtpClient, MailMessage 周りのクラスを使うと実装できます。
これらのクラスを使ってUnity Editor上では送信できるようにはなったのですが、Androidにいれてみるとメールを送信できない、という問題にハマりました。
結論から書くと、下記ページを参考に、Player Settings内にある、Configurationの、Api Compatibility Levelをいじると直るようです。

■参考URL:Sending email on android device | Unity Community
https://forum.unity.com/threads/sending-email-on-android-device.198795/

Unity Player Settings Configuration .net 2.0 subset
こちらを参考に「.NET 2.0 subset」となっている場合「.NET 2.0」にすると、あっさりと動くようになりました!

Mac/PC用のTHETAアプリメモ

0
Filed under Mac
Tagged as , ,

先日、THETA Vを見せていただく機会がありました!

撮影した動画ファイルをもらい、MacのTHETAアプリで変換しようとしたら、変換してくれない問題が発生しました。
「新しいアプリが必要なんだろうな」と想像はついたのでアプリでチェックしてみても、2.3.3で「これが最新のバージョン」と言われます。
RICOH THETA 2.3.3 ver check
それでもうまくいかない。。

2017年10月末時点での最新は3.1.2!

念のために、と思ってリコーのTHETAアプリサイトを見てみたところ、3.0系のバージョンが出ていました!
リリース履歴を見ると、2017年8月31日に3.0.0となっていて、これまでAIRで作られていたのですが、Electronで作り直されていました!
ここでバージョンチェックの断絶が起きていたようです。
このサイトから直接ダウンロードして、最新バージョンでTHETA Vの動画を変換してみたところ、無事できました!
そして、THETA Vの動画のクリアさに驚愕!

一瞬記憶が消えた後、、気がついたときにはポチッてました。 🙂

G360, insta360 one

ちなみに先日、360度カメラ用のジンバル「Feiyutech G360」も購入済みで、この組合せが現時点での最強コンビだろう、と思っています。

insta360 oneもかなり欲しいのですが、マイクのことを考えると、THETA Vかな、と。まだ踏み切れず、未購入です。

ちなみに、次に欲しいのは、LiveShell X。。360度配信をいろいろなところでしてみたい!