FC2ブログ
    05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】今年もEXPO行ってきまーす!あ、ポップアップをシュッっと出してみたよ。あ、iTween使っとります。 

    こんにちは。坂内です。
    夏近い!いや、すでに熱い!

    そういえば、クリエーターEXPO今年も行ってきます。
    http://www.creator-expo.jp/
    去年行ったときに写真隠し撮りされてました。
    あけるさんのツイートで知りました。テヘ


    特にいっても、商談とかしないんですけどね。
    遊びにいくだけなんす。

    んではUnityのお話。

    今回はこんな感じで、ポップアップの表示非表示を作ってみたので、やり方をば。
    動画:20150629_v1

    まずは、ボタンだけおいておきます。



    次に、ポップアップを作成。
    今回はTestWindowって空のGameObjectにfilter(Image)とポップアップのバックグラウンド、閉じるボタンを用意し、TestWindowをごっそりPrefabにしちゃいます。



    で、TestWindowには以下のスクリプトをつけておきます。

    TestWindow.cs
    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;

    public class TestWindow : MonoBehaviour {

    public GameObject windowSet;
    public Image filter;

    void Awake() {
    name = "TestWindow";
    transform.SetParent(GameObject.Find("Canvas").transform, false);
    }

    void Start() {
    Hashtable startSetHasah = new Hashtable();
    startSetHasah.Add("x", 0f);
    startSetHasah.Add("y", 0f);
    startSetHasah.Add("time", 0.2f);
    iTween.ScaleFrom(windowSet, startSetHasah);

    Hashtable startFilterHash = new Hashtable();
    startFilterHash.Add("from", 0f);
    startFilterHash.Add("to", 0.8f);
    startFilterHash.Add("time", 0.2f);
    startFilterHash.Add("onupdate","FadeFilter");
    iTween.ValueTo(gameObject, startFilterHash);
    }

    public void SelectClose() {
    Hashtable closeSetHash = new Hashtable();
    closeSetHash.Add("x", 0f);
    closeSetHash.Add("y", 0f);
    closeSetHash.Add("time", 0.2f);
    closeSetHash.Add("oncompletetarget", gameObject);
    closeSetHash.Add("oncomplete", "CloseWindow");
    iTween.ScaleTo(windowSet, closeSetHash);

    Hashtable endFilterHash = new Hashtable();
    endFilterHash.Add("from", 0.8f);
    endFilterHash.Add("to", 0f);
    endFilterHash.Add("time", 0.2f);
    endFilterHash.Add("onupdate", "FadeFilter");
    iTween.ValueTo(gameObject, endFilterHash);
    }

    private void FadeFilter(float value) {
    filter.color = new Color(0f,0f,0f,value);
    }

    public void CloseWindow() {
    Destroy(gameObject);
    }

    }




    こんな感じ。

    どうでしょ?使う方いますかね?

    ってことで、あんまり役に立たない本日のブログ終わり!

    アデュ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】iOSの画像圧縮2 

    こんにちは。
    大坂です。

    暑いです。出かけてる人は干からびないように気を付けてください(ぇ

    さて以前
    【Unity】iOSの画像圧縮・・・orz
    といった記事、iOSの画像サイズ圧縮するためにディザリングでやるといいよって書いたのですが、
    さらにサイズ小さくしたい場合もあるのかなとちょっと調べました。

    Unityのファイルサイズの削減のページに画像の圧縮形式についても書いてありますね。
    Androidで使ってるのがこの辺
    RGB Compressed DXT1 0.5 bpp (bytes/pixel)
    RGBA Compressed DXT5 1 bpp
    【Unity】画像サイズがでかくて困ったよ~ ふぇぇぇん って俺はこうしちゃいました。 の記事で紹介してますね。

    でiOSの表を見ると上の圧縮形式ないですが、
    RGB Compressed PVRTC 2 bits 0.25 bpp (bytes/pixel)
    RGBA Compressed PVRTC 2 bits 0.25 bpp
    RGB Compressed PVRTC 4 bits 0.5 bpp
    RGBA Compressed PVRTC 4 bits 0.5 bpp
    この辺使えば同等の圧縮率が実現できそう。
    が、Androidで絵の縦・横サイズを4の倍数にした画像の形式をそのまま「RGBA Compressed PVRTC 4 bits」に変更しても
    そのフォーマットに圧縮できないよって言われますね。

    2015-06-25 _1
    真ん中やや下に中警告出てますね。サイズ見ても圧縮はされてません。
    でちょっと調べてみたら2の乗数じゃないといけないよ!ということなので、
    横512、縦1024にして再度確認。

    2015-06-25 _2
    警告文が変わりましたね…。
    なになに、非正方形はダメだよって言われてるみたいです。
    ・・・。
    横1024、縦1024にしてみましょう。

    2015-06-25 _3
    あ、警告消えましたね。圧縮もちゃんとされているようです。
    アスペクト比率を気にせずサイズ変えてるので画像が横に伸びてますけど・・・w

    一応以前紹介したディザリングのも含めてiPodで表示したときの比較です。
    2015-06-25 _62015-06-25 _72015-06-25 _8

    ぱっと見はまぁわからないですかね。
    拡大すると結構汚かったですけど、興味ある人は試してみてください。

    正方形かつ縦横を2の乗数にしないといけなので、微妙な気はしますが、
    2の乗数に近い画像はそうしたほうが圧縮できるので、少しでもアプリサイズを落としたい場合は、
    検討してみるといいかもしれませんね。

    では今週もこの辺でノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】シーンロードを快適に!シーンロード時にデッカイデータロードしたりする場合は非同期シーン移動がいいってさ? 

    おはようございます!坂内です。

    本日もハルシオンブログのお時間がやってまいりました。

    シーン移動について、Unity5になってフリー版でも非同期ロードができるようになりましたね!

    以前ロードが長い画面とか、次の画面を非同期ロードとかできないかなーって思ってはいたんですが、ついにできるように!!!

    調べてみたら、こちらのブログでやり方ちょっと書いてました。

    【masayuki 5160's diary】様
    http://masayuki5160.hatenablog.com/entry/2014/01/21/235641

    で、1点思ったのですが。

    そんなロードに時間かかるようなものをHierarchyに入れたら、メモリとかどうなんの!?

    現在ポケガでは起動時の初回ロードはちょっと長めだと思ってますが、あれくらいでも結構メモリ食ってるんですよね。
    ソシャゲとかどんくらいメモリ食ってるの?

    あ、だから機種は新しいのを推奨とかにしてんのかな。


    あれ?人のブログの宣伝して終わっちゃった・・・

    最近開発してないのバレバレやん・・・

    では、アデュ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【iOS】証明書の有効期限が切れたハマるの巻 

    こんにちは。
    大坂です。

    いつのまにかiOSの証明書がきれていていろいろハマりましたorz
    始めて更新しましたが、よくわからず適当にやるとハマりますね(当たり前か

    あーだこーだやって実機転送とArchiveが出てよかったと思ってValidateも試したらここで詰まりました…orz

    2015-06-17

    とかって出てきてうまくいきません。
    警告マークですが、Codesign failedの文字に気を取られて、
    プロビジョニングとか証明書がいけないのかなーっと思ったのがハマる原因でした…。
    いろいろやった結果全然解決しなくて、プロジェクトを全部見直してたら、「SocialConnector.bundle」ってファイルが入っていて、
    こいつを消してビルドしなおしてValidateしたら成功しました…。
    こういうのはなかなか気づきにくい気がしますが、1日くらいハマってましたorz

    いやはや、基本iOS版のリリースとかアップデートの時にしかMac使わないので、証明書とか切れてると焦りますね…。
    また来年になったら、忘れてる気がします。
    ということでブログに書いておけば何とか思い出せるかな…?

    では今週もこれにて。
    また来週ノシ

    Category: その他日記

    tb 0 : cm 0   

    なんだかんだ言って、ポケガネタしかないんですよね。ホント最近開発していなくて・・・もうちょっとポケガに頑張ってもらおうか!って話し 

    こんばんは。坂内です。
    1日打ち合わせしてたら、ブログのことをすっかり忘れていました。

    ということで、ネタもないので現状のポケガと今後のポケガ2について!

    ただ今(2015年6月15日 18:40現在)ポケガ1のアクティブユーザ。

    Android:24名
    iOS:21名

    うーん 少ないけど、いるだけましか?
    もっと増やしたいなー 動画とかで宣伝するかなー 
    知り合いいないからな~ |д゚)チラッ

    現在韓国語版の制作を行っております。
    他にも、英語版・中国語版ってやりたいんだけど、翻訳してくれる方募集!
    特に中国語版!翻訳&パブリッシングしてくれると嬉しいですが、お金ないのでその辺要相談!
    どなたか、お知り合いの方でその辺やってる方いましたら、紹介して頂けたらちょー嬉しいんじゃないかなと!|д゚)チラッ

    それと、ポケガ1ですが、楽天アプリ市場用に制作開始!
    ちょっとGo●●eさんより、アダルトとかおkらしいので、楽天アプリ用にちょっとあれな着せ替えを2着追加予定!

    ポケガ2ですが、ちょースローペースで進み始めました!
    1よりストーリー、イベント寄りな感じで、より楽しめるアプリを目指して制作します!

    どちらもお楽しみに!!

    Category: Androidアプリ紹介

    tb 0 : cm 0   

    【Unity】Unityのドキュメントページとか見てなかったので見てみた。 

    こんにちは。
    大坂です。

    九州の方は雨がひどいみたいですね…。
    関東も夜には降るみたいです。
    明日は朝出かけるんですが、その頃は降ってないといいんですが・・・。

    さてはて、いやー何もネタないっすわ。
    いろいろWeb見ててUnityのドキュメントとかちゃんと見てなかったので、
    なんとなく見てました。
    正直やりたいことやるだけならだれかがわかりやすくまとめてくれてるので見なくても作れるんですけどね(ぇ

    イベント関数の実行順とか作ってればなんとなく覚えるんですが改めてみるとこうなってるんだとか思いますね。
    知らないイベント関数なんかもありますし。
    このタイミングで処理できたらな!なんてことがあると見直すと役に立ちそうです。

    Unityマニュアルを見てみると新しい発見なんかもあるかもしれませんね。
    何かで行き詰ったりしたら見てみると解決策なんかもあるかもしれないので、何か気になった人は見てみるといいかもです。

    ほんと最近自分で何かをした結果の記事がない!
    どうしたものか。
    ではまた来週ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】使うか知らないけどさ、UnityでDBつなげてみたんだよ。一応動いたよ?さてどうやってつかおうかなぁ 

    初めましてこんにちは、坂内です。
    初めてじゃない人もこんにちは。

    今日はDBつなげてみましたよ。Unityでね。

    使うかどうかは別ですけどね。
    行く行くはポケガで端末変更した時のデータ転送なんかに使えたらなーと思ってます。

    基本は、こちらのQiitaを見れば大体できます。
    http://qiita.com/oishihiroaki/items/6eb9732efb44d4986428

    あ、今回は無料で使えるMySQLを使用しました。

    ってか、サーバ借りたら始めから入ってたんすよね。なので、そのまま使ってみました。

    とりあえず、こーんなデータを適当に用意して、Unityでボタンおしたら、Textに表示するって感じ。





    全然つながらなくて困りましたよ・・・原因は、サーバの方で3306ポート開けてない(LBからポートつながってない)ってことが原因でしたが、色々試して時間くってしまった!

    コードの方は、Qiitaに書いてる通りなんですが、ちょっと手いれてみた。

        public Text outputText;

    string SERVER = "xxx.xxx.xxx.xxx"; // DBのIPアドレス
    string DATABASE = "XXX"; // DB名
    string USERID = "XXX"; // DBアクセスユーザ
    string PORT = "3306";
    string PASSWORD = "XXX"; // DBアクセスパスワード

    void Start () {

    }

    public void SelectButton() {
    GetDBData();
    }

    void GetDBData() {

    MySqlConnection con = null;

    string conCmd =
    "server="+SERVER+";" +
    "database="+DATABASE+";" +
    "userid="+USERID+";" +
    "port="+PORT+";" +
    "password="+PASSWORD;

    try {

    con = new MySqlConnection( conCmd );
    con.Open ();

    } catch (MySqlException ex){
    Debug.Log ( ex.ToString() );
    }

    string selCmd = "SELECT * FROM TEST1;";

    MySqlCommand cmd = new MySqlCommand( selCmd, con );

    MySqlDataReader reader = cmd.ExecuteReader();

    string outString = "";

    while (reader.HasRows) {
    outString += reader.GetName(0) + ":" + reader.GetName(1) + "\r\n";
    while(reader.Read()){
    outString += reader.GetString(0) + ":" + reader.GetString(1) + "\r\n";
    }
    reader.NextResult();
    }

    outputText.text = outString;

    reader.Close();
    reader.Dispose();
    con.Close ();
    con.Dispose ();
    }


    で、押すとこうなる。

    どうよ?

    できたんじゃね?

    ほんと、何年ぶりかにDB触ったよ。Select文1個だけどw

    こんな感じでやれば、色々幅は広がるが、めんどくささも増えますね!

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】iOSビルド時のXcode設定の自動化について、ちょっとだけ調べた。 

    こんにちは。
    大坂です。

    あ、うちの会社今日でちょうど設立から2年ですね。よく生きてこられました(ぇ

    さて先週「iOSビルドでAppendできないときありませんか? 」なんて記事を書きましたが、
    皆さん諦めて上書きしてるみたいでした。

    まぁやっぱりビルド時にある程度自動設定できるようにしておくのがいいんでしょうね。
    Unityビルド時にXcode側の設定を自動設定できることは知っていましたが、あんまり深く使っていなかったので、
    ちょっとずつ調べてみることに。

    やり方としては以下の2種類なんですかね。
    ①シェルスクリプトで「PostprocessBuildPlayer」を使用する
     RubyやPythonを使用する方法
    ②C#の「PostProcessBuild」を使用する。

    ①の方法しか知らなかったのですが、C#で書く方法なんてあったんですね。

    他の人の記事ですが
    Unity から Export した iOS なアプリの Bundle Display Name を自動設定してみる
    とかを参考(というかそのまま)に試したらUnity5、Xcode6.1でも動きました。

    環境面の話もあるので、とりあえず②の方法をもっと勉強してみたいと思います。
    他の人のMacでビルドすることがなければいいんですが。
    Xcodeprojのバージョンとかずれると動かないこともあるみたいなので。
    環境合わせろ言われればそれまでですが。

    とりあえずアプリ名のローカライズは上の記事で実機でも確認できました。
    他のやりたいことも記事はあったのでちょくちょく試していきたいと思います!

    では自分では何もやってない記事ですがこれにて!
    また来週ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】Unity5の機能を1個使ってみたんですよ。なんか簡単ですごいんじゃないかって。効果は分からないんですよ? 

    はい、こんにちは。
    金髪の方です。

    もう6月ですね。ちょー怖いですね。1年の半分が終わったとか終わってないとか。

    そういえば、Unity5になって使えるようになった、SpritePackerなるものを触ってみた。

    例えば、こんな感じでイカくんの絵を5個Spriteとして出します。


    SetPassCallが「5」ですね。

    そこで、それぞれのイカくんの絵をSpritePackerでまとめてみます。


    対象のテクスチャを全て選んで、InspectorのところからPackingTagをつけてあげます。
    これで、パッキング終わり。

    それぞれのAtlasはWindow>SpritePackerで確認できます。


    あぁぁぁぁ 血が変な事になってるw
    まぁ いいか。

    これで、実行すると・・・・・


    ほら!SetPassCallが「1」になりました!

    すごいね!

    これで、軽くなるって噂です。

    簡単なのでお試しあれ!

    アデュ~ノシ



    Category: 開発日記(Unity)

    tb 0 : cm 0