■プロフィール

Author:クリエイトウェーブスタッフ
開発における、諸々を書いていきたいなと思っています。

■最近の記事
■カテゴリー
■twitter

■QRコード

QR

■Amazon商品一覧【お勧めソフト】
■Amazon商品一覧【お勧め本】
■最近のコメント
■月別アーカイブ
■最近のトラックバック
■ブロとも申請フォーム
■twitter_follow

■ブログ内検索

■RSSフィード
■リンク
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

カテゴリー:スポンサー広告 |
Viewportを指定する
こんにちは。suraです。

iphone用HTMLのメモ。"φ(・ェ・o)

現在iphoneでhtmlを制作中ですが、
入力画面を用意する為textareaタグを記述。
その後実機確認すると「入力後拡大したまま、戻ってこない・・・」
模索していると素敵なサイトを発見。
そのサイトを参考に
「meta name="viewport" content="width=device-width user-scalable=no"」
と入れると画面がフィットしたまま出来ました!
ちなみにこれを入れるとピンチイン/アウト操作が
「user-scalable=no」で拡大縮小不可指定しているの為
出来なくなるので注意。


他にも上記以外の回避の仕方はあると思うのですが、
私は上記のやり方で出来たのでメモしておきます。


参考にさせていただいた素敵サイトさん。↓↓

http://ipn3g.com/web/study3.html


ではでは( ・∀・)ノ

カテゴリー:HTML/CSS | TM(0) | CM(0)
[Unity 3D]バイナリファイルの読み書き
Pです。

WWW.LoadFromCacheOrDownload()は、何かと使いにくい面があるのでこれに似たサンプルを作ってみました。
※WebPlayerでは使用できないので注意!

参考にしたページ
http://forum.unity3d.com/threads/76852-asset-bundle-downloading-and-saving-to-device


using UnityEngine;
using System.Collections;
using System.IO;

public class LoadFromCacheOrDownloadTest : MonoBehaviour {

 IEnumerator LoadHTTP() {
  string url = "http://xxxx/xx.unity3d";
  
  WWW www = new WWW(url);
  yield return www;
  
  if (www.error == null) {
   string path = Application.persistentDataPath + "/xx.unity3d";
   File.WriteAllBytes(path, www.bytes);
  }
 }
 
 IEnumerator LoadLocal() {
  string url = "file://" + Application.persistentDataPath + "/xx.unity3d";
  
  WWW www = new WWW(url);
  yield return www;
  
  if (www.error == null)
   AssetBundle ab = www.assetBundle;
 }
 
 void OnGUI() {
  if (GUI.Button(new Rect(20, 20, 200, 60), "Load from http"))
   StartCoroutine("LoadHTTP");
  
  if (GUI.Button(new Rect(20, 100, 200, 60), "Load from cache"))
   StartCoroutine("LoadLocal");
 }
}

File.WriteAllBytes()で書き込む時は「Application.persistentDataPath」
ローカルキャッシュから読み込む時は「"file://" + Application.persistentDataPath」
というstringでないと失敗します。


カテゴリー:Unity 3D | TM(0) | CM(0)
更新が。。。
こんにちは。お久しぶりのsuraです。

まったくこちら更新しておりませんでした。。。
最終更新が去年ですしね。
遅ればせながら、あけましておめでとうございます!

さてさて、現在弊社はunityを使用した大きなプロジェクトを進行中でございます。
それで、ここの更新が止まったりしていますがw

私の方は作業が落ち着いている(時期が来れば又忙しくなる。。。)ので、
HPをリニューアルしようと考えております。
あまりにも現在のが企業向きではないので;

総flashでかっこよく!とも考えたのですが、HTML5も出てきた事ですし
勉強しつつHTML5で制作しようかなと。

なんとか今年中(!?)にnewページを公開できるよう頑張らないと;;

ではでは( ・∀・)ノ

カテゴリー:雑記 | TM(0) | CM(0)
[Unity 3D]ローカルキャッシュのメモ
Pです。

iOSやAndroid端末は、アプリ自体の容量を減らすためにローカルキャッシュを行うことがよくあります。
これをUnity3Dで実現するにはどうするかの備忘録です。

[1]画像や3Dなどのリソースを一旦AssetBundle形式に変換する
http://unity3d.com/support/documentation/ScriptReference/BuildPipeline.BuildAssetBundle.html?from=AssetBundle
ここにあるScriptを適当なUnityプロジェクトのEditorフォルダに配置する

ちょっと不便なのがiOS、Android、PCブラウザなどそれぞれについてAssetBundleを作らなければならない。
先に[Switch Platform]で目的のPlatformに切り替えておく。
Projectパネル内の画像を右クリックして[Build AssetBundle From Selection - Track dependencies]をクリック。
適当な名前を付けて保存。(拡張子はそのまま.unity3d)

今作った.unity3d形式のファイルをサーバーにアップロードする。
これでリソースの準備は完了。

[2]WWW.LoadFromCacheOrDownload()を使用
名前の通り、ロードとキャッシュを自動で行ってくれる便利なメソッドです。
Loadが完了したら、用途に応じてキャストしてあげます。

IEnumerator LoadCorutin(string url) {
  WWW www = WWW.LoadFromCacheOrDownload(url, 0);
  yield return www;
  if (www.error != null) {
    print(www.error);
  } else {
    if (url.IndexOf("texture") > -1) {
      //画像
      Texture2D texture = www.assetBundle.mainAsset as Texture2D;
    } else if (url.IndexOf("3d") > -1) {
      //3Dデータ
      GameObject go = Instantiate(www.assetBundle.mainAsset) as GameObject;
    } else if (url.IndexOf("audio") > -1) {
      //サウンド
      AudioClip clip = www.assetBundle.mainAsset as AudioClip;
    }
  }
}

一点、気をつけなければいけないことがあります。
キャッシュされたAssetBundleの識別は、ドメインやディレクトリ構造を無視したファイル名だけで行われます。
どういうことかというと、
http://○○○○/img/org/img0.unity3d
http://○○○○/img/thumb/img0.unity3d
上記2つの異なるパスに配置されたAssetBundleは、「img0.unity3d」というファイル名が同じため、同一ファイルとして扱われます。
よってファイル名だけでユニークとなるようにする必要があります。

ちなみにPHPであっても問題なく動作します。
MIME Typeは「application/vnd.unity unity3d」です。
さらにサーバー上で「.unity3d」を使用できるように以下の記述をします。
AddType application/vnd.unity unity3d

ただし、POST送信が出来ない(??)ことと、識別がファイル名だけで行われるので若干使い勝手が悪いかもしれません。
/img/get_img.php?type=org&id=0
/img/get_img.php?type=thumb&id=0
などとしても「get_img.php」が同じため同一ファイルとして認識されてしまいます。
なのでもう一工夫してファイル名が被らないようにする必要があります。



カテゴリー:Unity 3D | TM(0) | CM(0)
FlashDevelopの自動補完!?
Pです。

FlashDevelpoを使っていて見つけた小ネタを書いてみたいと思います。

接頭辞として「mc」「txt」「btn」
接尾辞として「_mc」「_txt」「_btn」
を付与すると、型宣言することなく「MovieClip」「TextField」「SimpleButton」型として認識され
コードヒントを出すことが出来ます。

例:
mcCanvas, result_mc
txtInput, username_txt
btnStart, next_btn

fdAutoCodeHint.jpg
mcGameの上にマウスカーソルを持って行ったところ

主にFlashIDEプロジェクトで役立つと思います。
Flash上に配置されたムービークリップやテキストフィールドのインスタンス名を
「mcGame」「txtPassword」のようにしておくとFlashDevelop上で
「mcGame.」までタイプするとMovieClip型のプロパティとメソッドがコードヒントで出るようになります。
インスタンス名を付ける時は、上記の法則に従うと効率化を図れそうです。

fdAutoCodeHint2.jpg
MovieClip型のメソッドgoto系が確認できます。

上記3つ以外に無いものかと探してみたのですが見つけられませんでした。

カテゴリー:Flash | TM(0) | CM(0)
次のページ

FC2Ad

FC2ブログ