//tips
//unity/webview理解
Webviewオブジェクトを立体的に表示させる方法を考える。canvasを斜めに設定してもwebviewobjectの表示領域のベースがscreen上であるように設定されているためか常に最前面に表示されてしまう。pluginの内部にその機能が格納されていないことを祈る。
まずは、どこに対してのマージンを設定しているのかを探っていく。UIはworld spaceに立体的に表示できているので、そのUIのワールド座標を取得して、そこに反映できれば良い。
Webviewオブジェクトの下記setmarginsメソッドを編集していく。
#elif UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX
int width = (int)(Screen.width - (ml + mr));
int height = (int)(Screen.height - (mb + mt));
_CWebViewPlugin_SetRect(webView, width, height);
rect = new Rect(left, bottom, width, height);
ml = left;、mt = top;、mr = right;、mb = bottom;
そもそも渡しているmarginの情報が座標ではなく数値なので、新たなメソッドをwebviewオブジェクト内に作成しなければならないのではないかということに気づく。
それであれば別途スクリプトを作成して、完成後のwebview表示を移動させる仕組みを作ってしまった方が早そうなのでまずは表示中のwebviewを移動させることができるのかを確認する。
Webviewオブジェクトのtransformを変更したが表示の形、大きさ、位置、角度には干渉することはできなかった。
表示はtexture2Dが担っているよう。URLを読み取り画像化する部分はブラックボックスなので一旦ここまでにしておく。3次元の空間情報をうまく渡せそうにない。
もし、本格的に作成する際には自分でブラックボックス部分も作成していくことになる。
private void OpenWeb()
{
var uri = new System.Uri("https://www.google.com/");
Application.OpenURL(uri.AbsoluteUri);
}
で開いたページをtexture化していくことになりそうだが、なかなかその方法が見つからない。別マシンに表示したものをレンダリングするとボタンなどのクリックはできなくなる。スクリーン前面のみに表示可能として保留し、自分なりに情報収集していく。
次はunityから連動させたい独自のECサイトの方を作成していく。phpも使用するのでphpの入門書「気づけばプロ並みPHP 改訂版--ゼロから作れる人になる!」から始めることにする。
まずはフリーの仮想サーバソフトXAMPPを入手。
https://www.apachefriends.org/download.html
だが開けない。
https://blog.senseshare.jp/xampp-apache-trouble.html
https://dezanari.com/mac-xampp-apache/
色々探りながら異なるバージョンのダウンロードなどを試したら無事にインストールできた。
http://localhost
にアクセスするとXAMPPのタイトル画面が出る。
これでサーバの準備完了。
サイトを閲覧できるようにするためにはサイトのファイルデータをサーバの特別なフォルダにコピーする必要があり、xamppの場合はhtdocsというフォルダになる。
Open application folderをクリックすることでxamppのフォルダの中身を確認することができる。
そこでapplications/xampp/etcフォルダにあるmy.cnfの内容をmiで開いてUTF-8化していく。記載内容に下記を追加する。
[client]
character-set-server=utf8
[mysqld]
character-set-server=utf8
skip-character-set-client-handshake
[mysql]
character-set-server=utf8
これでwebサーバとデータベースをutf-8化することができたので,
データベースの設定に入っていく。
http://localhost/phpmyadmin/
こちらにshopというスタッフマスタのデータベースを作成する。
VARCHARは文字列を表し、primaryは、決して重複が発生しない項目で、一つのテーブルに一つのみ設定でき、インデックスでの検索が早くなる。
AI、AUTO_INCREMENTはレコードを追加するごとに自動で通し番号を入れてくれるもの。
ここからはSQL文も交えて作成していく。SQL文はデータベースエンジンに指令を出す言語で一文で簡潔に書かれるもの。
例えば、先のスタッフマスタテーぶつにレコード(行)を追加する際には、
INSERT INTO mst_staff(name,password)VALUES("らりる","12345678901234567890123456789012")
をSQLタブから入力する。ページ上で直接「”」を打たないと何故かエラーが出るので注意。
これでテーブルへの挿入ができた。valuesの左のカラムの右の値を入れるだけなので簡単な内容。