スマートフォンアプリで、綺麗な画像を軽くして組み込む方法

ウェブテクノロジ開発部の山崎です。こんにちは。

今回は、スマートフォンアプリ(アンドロイド(Android)アプリ)と、iOSアプリ(iPhoneアプリ/iPadアプリ)で綺麗な画像を軽く扱いたい開発者の方のために、解決策をご紹介いたします。

※ 本エントリーはブログ掲載時点の情報をまとめたものです。将来的に仕様が変更になる可能性もあるのであらかじめご了承ください。

ファイルサイズの制限

さて、スマートフォンアプリでは、アプリケーションのファイルサイズに制限があります。「Android Market」ではアップロード可能なアプリの上限サイズが「50MBまで」と制限されていますし、

Android Market では50MBまで

Android Market では50MBまで

「App Store」では3G回線経由にてダウンロード可能なアプリの上限サイズは「20MBまで」と制限されています。

AppStoreでは20MBまで

AppStoreでは20MBまで

ちなみに、iOSでは、WiFi経由でダウンロード可能なアプリの上限サイズは2GBとのことです。

また、それぞれの端末のメモリストレージの量も現段階では「PCのように豊富にある」「湯水のように使える」とは言えない状況です。「Android Market」や「App Store」の制限もさることながら、アプリケーションは少しでも軽いほうがユーザーに喜ばれるのは確かです。

画像をキレイなまま軽く!

努力してソースコードを短くしてもアプリケーションのサイズが劇的に小さくなることはほとんど無いと言えるでしょう。

アプリケーションの中で大きくサイズを使っているのは「画像データ」なのです。

スマートフォンの画面の解像度は、昔のPCに匹敵するほど大きく(広く)なっています。最近は、WVGA:800×480以上の端末が増えています。この大きさの画像データを複数枚持つだけでアプリの容量はどんどん増えていきます。

画像の数を減らすことなく、アプリの容量を抑えようとして画像データを必要以上に圧縮すると画像内にモスキートノイズが増えてしまい、スマートフォンのキレイで広い画面のメリットを損なう結果になってしまいます。

画像は写真なのか、図表やイラストなのかをチェック!!

写真の画像はJPEG形式が最適です。キレイに小さく圧縮できます。しかし、図表やイラストの画像はJPEG形式で圧縮(保存)するとモスキートノイズだらけのひどい結果になります。

図表の画像を使う場合はPNG形式で圧縮(保存)してください。圧縮には減色で対応するとキレイな画像のまま軽くすることができます。

雑誌やパンフレットのように写真と図表や文字が混在しているような画像はあるか?

写真と図表が混在している画像は、JPEG形式?PNG形式?どちらで保存すればキレイなまま軽くできるでしょうか。

手間を惜しまないのであれば、写真の画像と図表の画像を分離するとよいでしょう。

次の図のように、写真の部分を切り出してJPEG形式で保存し、図表や文字の部分はPNG形式で保存します。そして、表示するときに1つの画像に見えるようにくっつけるわけです。

特にモスキートノイズの入りやすい文字周りはPNG形式で保存するとJPEG形式と同じバイトサイズにまで圧縮しても表示がクッキリとキレイになります。

しかし、この作業。技術や理論が理解できても実際にやってみるととても大変です。

特に、画像の枚数が多かったり、何度も改修がかかるような画像に対してこの作業を手でやるのは・・・コスト的にも品質的にも問題があります。

この作業を確実に全自動で計算&分割&保存してしまうのが「ハイブリッドフォーマット」で画像を保存できる「OPTPiX imesta 7 for Mobile & Social」です。

詳しくは「電子書籍・雑誌やコミックをキレイに!軽く!ハイブリッド画像作成ツール – OPTPiX imesta 7 for Mobile & Social」のページをご覧ください。

サンプルソースコードの提供

「・・・で、そのハイブリッド画像をアプリで表示するには、どうしたらいいの?」

アプリとして動作実績のあるアンドロイド(Android)アプリのサンプルソースコードと、iOSアプリ(iPhoneアプリ/iPadアプリ)のサンプルソースコードともにご用意しています。

「サンプルソースコードを参考にしたい」開発者の方はお問い合わせフォームからお問い合わせください。

カテゴリー: スマートフォン開発 | タグ: , , , , , , , , , , , , | 2018/08/01 更新

Unity3Dで2D。「SpriteStudioPlayer for Unity3D」のご紹介

SpriteStudio担当の三輪です。
今回取り上げますのは、SpriteStudio本体の話題・・・ではなく、連携情報についてのお話しです。

SpriteStudio+Unity3D

現在弊社では、ゲームエンジンの「Unity3D」で「SpriteStudio」の2Dアニメーションデータを再生・制御する「SpriteStudioPlayer for Unity3D」という連携アセットを開発中です。

この連携アセットは、CEDEC2011ゲームツール&ミドルウェアセミナー in 福岡で紹介をさせていただきましたが、ここへきてようやく機能の詳細をご紹介できるようになってまいりました。

早速ですが、「SpriteStudioPlayer for Unity3D」を使うと、Unity3Dでどういったことが表現できるようになるのか、紹介をしている動画をご用意しました。

Unity3Dと言えば、2011年のゲーム業界の話題を総ざらいしていった感もあるゲームエンジン。なのですが、Unity3Dは3D表現が得意なゲームエンジンなので、2Dの複雑なキャラクタアニメーションやユーザーインターフェース演出といったものを作るのにはあまりお手軽とは言えません。

そこで、弊社のSpriteStudioのXML形式アニメーションデータをUnity3Dで取り込んで、アニメーションの再生・制御まで面倒を見てしまおうと開発されたのが「SpriteStudioPlayer for Unity3D」です

「SpriteStudioPlayer for Unity3D」でできること、其の壱  「アニメーション表現」

SpriteStudioの機能の大きな特徴に、キーフレームアニメーションが挙げられます。パタパタアニメのコマアニメーションでは、アニメーションパターンを作るには毎コマ違った絵を描き込んでいかなければいけませんでした。

キーフレームアニメーションでは、表示させたいパーツを作成し、それに動きを付けることによってアニメーションが表現できます。

SpriteStudioでのキーフレーム編集

▲SpriteStudioでのキーフレーム編集

また、SpriteStudioでは親子関係を設定してパーツ管理をすることができます。親パーツの動きを子パーツが継承して動作することができますので、多関節のアニメーションを表現することができます。

親子構造

▲SpriteStudioでの親子構造

これらを組み合わせてできたものが、動画中の女の子キャラクタになります。

キーフレームアニメーション例

▲キーフレームアニメーション例

この女の子キャラクタ、アニメーションはそれぞれ別に作られているのですが、パーツとして参照している画像素材は共通になっています。SpriteStudioでは、画像とアニメーションデータは別々で管理する構造になっていますので、こうした画像素材の使いまわし共通使用が可能になっています。この仕組みはSpriteStudioPlayer for Unity3Dでも取り入れられています。
同一素材からのアニメーション作成

 

SpriteStudioPlayer for Unity3D で表現できるのはキャラクタアニメーションだけではなく、ユーザーインターフェース(UI)やHUD表示の素材、エフェクトなどにも使用できます。

UIでの使用例

▲ボタン素材としての使用例

こうしたボタン絵の演出なども後述のゲームスクリプトと組み合わせることで、表現することができます。Unity3Dの3Dオブジェクトとの同時表示もちゃんと対応しています。

2Dと3D表示の同時使用

▲2Dアニメーションデータと3Dオブジェクトの同時表示

「SpriteStudioPlayer for Unity3D」でできること、其の弐 「Unity3D上での編集」

SpriteStudioPlayer for Unity3D を使ってUntiy3Dに取り込んだアニメーションデータは、ゲームシーン内ではゲームオブジェクトの一つとして管理をします。ゲームオブジェクト自体はUnity3Dの管理単位ですが、SpriteStudioPlayer for Unity3D の機能がアタッチされていると、独自のステータスを設定することができます。このステータスをUnity3DのInspectorを使って編集することができます。

Unity3D上での編集

▲Unity3DのInspector

特に値を設定しなくてもアニメーションの再生表示はできますが、細かな設定をすることで色々な演出をすることができます。

Inspectorには選択しているゲームオブジェクトの情報が表示され、

  • どのアニメーションを関連付けているか
  • 位置、回転、拡縮の値
  • 反転設定
  • 表示フレーム番号
  • 順方向、逆方向、往復などの再生方法と再生回数、速度

などの設定ができます。

「SpriteStudioPlayer for Unity3D」でできること、其の参 「ゲームスクリプトでの制御」

ゲーム中ではユーザーの入力やプログラムの処理に合わせてアニメーションの表示を制御する必要が出てきます。スライド操作でキャラクタを走らせたり、タッチ操作で攻撃を繰り出したり、ボタンを押したり・・・。

ゲーム画面イメージ

▲ゲーム画面のイメージ

Unity3DのゲームスクリプトからSpriteStudioのアニメーションデータの制御ができます。

操作できるのは主にInspectorに表示されている項目で、各ステータスの変更のほか、アニメーションデータの切り替えや再生停止などができます。

また、アニメーションデータ中にユーザーデータが埋め込まれている場合に、アニメーション再生中にそのデータが検出されたらトリガを発行するとか、ゲームオブジェクトのバウンディングボックスを当たり判定に使用するとか・・・。

紹介動画の中で女の子が棒を振るアニメーションがありますが、この振る動作の途中に「当たり判定開始」「当たり判定終了」というような情報を埋め込んでおり、判定をするタイミングをアニメーションデータから引用しています。

他にもゲーム内で使用するであろう色々な処理を機能として追加していく予定です。

「SpriteStudioPlayer for Unity3D」のもろもろについては、こちらでも紹介をしております。iPhoneやAndroid向けのパブリッシュでも使えますので、このアセットを使うことで2Dのゲームがたくさん出てくるといいなと思いながら、正式公開に向けて開発進行中でございます。逐次情報公開も進めてまいりますので、今後もぜひご注目ください。

カテゴリー: OPTPiX SpriteStudio | タグ: , , , , | 2018/06/22 更新

複数のMacでiPhone(iOS)アプリの開発を行うときの注意点

ウェブテクノロジ開発部の遠藤です。

先日、Unityを用いたiPhone(以下、iOS)アプリの開発環境を構築する機会がありまして、その過程でちょっとしたトラブルが起こりました。

1. 証明書をきちんと入れたのに認識されない!

その問題とは、1つのライセンスを用いて複数のMacでiOSアプリの開発環境を構築する際に発生するものです。
今回の記事では、この問題の解決方法についてご紹介したいと思います。

2. Xcode のインストール~証明書のインストール

iOSアプリのビルド環境を構築し、iOS実機上で動作検証するにはMacにXcodeをインストールしたあとに、証明書のインストールや認証などいくつかのステップが必要になります。

これらのステップに関する情報は既にネット上で簡単に見つけることができますのでここでは割愛します。

さて、一通りセットアップを終えたところで、いざビルドを試みると、

Xcode could not find a valid private key /
certificate pair for this profile in your keychain.

というエラーが発生しました。

オーガナイザで見たプロビジョニングのStatusには

Valid signing identity not found

とあります。

上記のエラーについて、ネット上でよく書かれているのが、デフォルトのキーチェーンが「ログイン」になっていないため、というものです。

この点については私の環境では問題ありませんでした。

3. 既存の証明書を2台目以降のMacにダウンロードして入れると…

あれこれ悩んでいたところ、問題は私が利用した証明書が、別のMac上で既に作成済みだったものであり、それをAppleの開発サイト経由でダウンロードして取り込んでいたために秘密鍵が含まれておらず、正しく認証することができなかった、ということのようです。

つまり1つのライセンス(Certificate)を用いて複数台のMacで開発を行う場合は、最初に認証したMac上にある秘密鍵が必要になる、ということでした。

このための手順は、“iPhone 証明書 複数台 Mac” といったキーワードで検索すれば先人の方々のお知恵を拝借できるので、ここも割愛させて頂きます。

そのお知恵を借りて早速「iPhone Developer: 名 姓 (HOGEHOGE)」という秘密鍵を一台目のMacから書き出し、2台目のMacに取り込んで見ましたが…

私の環境ではそれでも足りず…

4. 「iPhone Distribution: 会社名」も必要です

結果として、

iPhone Developer: 名 姓 (HOGEHOGE)
iPhone Distribution: 会社名

という2つの証明書ファイルを書き出して、取り込む必要がありました。

※「iPhone Distribution: 会社名」については個人で開発されている方には必要がないものかもしれません。

[ 正しく動作する証明書の例 ]

証明書に関する問題については以上です。

5. Unity からパブリッシュしたプロジェクトでのエラー

iOSアプリに関連してUnityプロジェクトに関しても少々触れたいと思います。

近年話題のマルチプラットフォームのゲームエンジンであるUnity 上でアプリを作成し、iOS 向けにパブリッシュする際にも、設定が正しくないと似たようなエラーが発生します。

「Player Settings…」の「Company Name, Product Name, Bundle Identifier」あたりの内容が、iOS の開発者ページで申請したものと合致していないと、Code Sign errorの類のエラーが発生します。

初めて環境を構築される方は、このあたりもチェックされるとよいと思います。

カテゴリー: 開発・プログラミング | タグ: , , , | 2018/06/22 更新

漫画作成ソフト「コミPo!」 新パッケージ発売!

漫画作成ソフト「コミPo!」は2010年12月15日に発売され、間もなく1周年を迎えます。

この間、「コミPo!」でもっと楽しんでもらいたいという思いから、ユーザーが作成した3Dデータを利用することができる「ユーザー3Dデータ読み込み」機能(Ver.1.50)や、「簡単にマンガを作成する機能」を大幅に強化した「スナップ」機能(Ver.1.60)などを無償アップデートでリリースしてきました。

そしてこの度、12月 2日に、基本ソフトに加えて追加データやインプレスジャパン社刊「できるコミPo! 公式ガイド」をセットにした「学園マンガセット・スターターパック」を、全国の家電量販店・パソコンショップなどで発売いたします。

コミPo! 学園マンガセット・スターターパック

新しいパッケージでは、「コミPo!」が最も得意とする学園マンガの制作に欠かせない追加データ(私服・夏制服・体操服)に加えて過去にリリースした無償の追加データ「コミPo! 応援隊専用アイテム」を追加データCD-ROM 1枚に収めました。

また、インプレスジャパン社刊のガイドブック「できるコミPo! 公式ガイド」も付属。大変お得なパッケージとなっております。

「コミPo!」ではこれまで、20回以上の無償アップデートとVol.5 までの有料追加データのリリース、さらに、季節感あふれる「コミPo! 応援隊専用アイテム」をVol.9 までリリースしてきました。

当初からのユーザー様にはその都度、追加データをご購入・ダウンロードしていただくことで、新しい楽しみを提供してまいりましたがこれから「コミPo!」を始めたい方にとっては、まとめて追加データを入手する方法がなく、ご不便をおかけしておりました。

今回、「コミPo! 学園マンガセット・スターターパック」では、これらのニーズにお応えし、一度に多くの追加データを利用できるよう、一つのパッケージとして提供をいたします。

このパッケージをご購入いただければ、初めて「コミPo!」をご利用になる方でも、すぐに豊富な公式の素材データを利用することができ、表現豊かな学園マンガを制作することが可能になります。

これからも、「コミPo!」では簡単に漫画作成ができるというコンセプトに更に磨きをかけると同時に、ユーザー様の使い勝手の向上にも挑戦し続けます。

2年目を迎える漫画作成ソフト「コミPo!」にどうぞご期待ください。

『コミPo! 学園マンガセット・スターターパック』概要

基本ソフト 組み立てるようにマンガをつくる、漫画作成ソフト
「コミPo!」通常版
追加CD-ROM収録データ ・コミPo! 応援隊専用アイテムVol.1 ~ Vol.9
・コミPo! データコレクションVol.1『私服』
・コミPo! データコレクションVol.2『夏制服』
・コミPo! データコレクションVol.5
『体操服&スポーツウェアセット』
付属ガイドブック できるコミPo! 公式ガイド(インプレスジャパン刊)
希望小売価格(税込) 12,800円
発売日 2011年12月 2日(金)

【プレスリリースページ】
https://www.comipo.com/pressrelease/pr20111115.html

カテゴリー: コミPo! | タグ: , , | 2018/06/22 更新

ブログ用の写真加工にはエンハンストフィルターがオススメ!

こんにちは。ウェブテクノロジ開発部の山崎です。

まずは下の画像をご覧ください。
「Before」と「After」の写真が3秒ごとに切り替わり表示されていますか?


以下の写真は OPTPiX WebFree のフィルター機能「エンハンストフィルター」の紹介用に、漫画作成ソフト「コミPo!」 のイベントでナビゲーターを担当して頂いている越谷先生のモデルの方にプライベート写真をご提供いただきました。ありがとうございました。



さて、「Before」が提供いただいたオリジナルの写真です。「After」がOPTPiX WebFree のエンハンストフィルターを通した写真です。

明るさやクッキリ具合が変わっているところがご覧いただけると思います。

ソーシャルネットワークの利用が増え、さらにスマートフォンなどで気軽に写真が撮れる状況も相まって、ブログやTwitterなどに写真を投稿する人もどんどん増えているようです。

気軽に公開できるのはよいのですが、撮った写真をそのままでは、ちょっと被写体が小さかったり、
横になって写っていたり、関係の無いところが写っていたり、暗くてよくわからなかったり、・・・あとすこし変えられれば公開できるのに・・・と、あと一歩のところでためらってしまった経験はありませんか?

そんな時に使ってほしいサービスがこちら
無料画像加工サービス「OPTPiX WebFree」

写真の中から必要な所だけを切り抜いたり(トリミング)90度回転させたり、縦横サイズを拡大したり、縮小したり。

そして、どんな写真でもおまかせの変換の「エンハンストフィルター」がオススメです。

料理の写真などを美味しく変換しますし、顔の写真もクッキリとお見せします。

特に、はじめの画像のような料理の写真で威力を発揮します。

「せっかく撮ったのに、ちょっと暗いんだよね」と感じたら、エンハンストフィルターを使ってみてください。

クッキリと明るく!そして美味しそうに写真を加工します。しかも無料でご利用いただけます。

ぜひ、お試しください。

無料画像加工サービス「OPTPiX WebFree」

カテゴリー: OPTPiX WebFree | タグ: , , , , , , , , , | 2018/06/22 更新