読者です 読者をやめる 読者になる 読者になる

WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

エラーにならなくなったLINQメソッド(Unity iOS)

クライアントエンジニアの加賀です。 昔は何も知らずにLINQのメソッドを使うと、iOS実機で動かした時に以下のようなエラーが出ることがありました。 System.ExecutionEngineException: Attempting to JIT compile method だいぶ前からですが、すこしずつ改善…

【Unity 5.3】コルーチン変更点

クライアントエンジニアの乾です、今回はUnity5.3でコルーチン周りでの変更点 について書きたいと思います。 1:コルーチン内からのコルーチン呼び出し 5.3以降はコルーチン内の呼び出しはStartCoroutine()が省略する事が可能に なりました。 これによりMonoB…

【Unity】AESでデータを暗号化

リニューアル後、2エントリー目、担当の大橋です。 リニューアルに伴った特別なネタを持っているわけでもないので、いつものピンポイントなネタでお送りします。 Unityでデータを暗号化 Unityでなんらかのデータを保存するとき、PlayerPrefsを利用したり、 …

Unity HOTween触ってみた

今回エンジニアブログを担当します乾です。 よろしくお願いします。 今回はUnityのTween系アセットHOTweenを紹介します。 実はこのアセット、既に改良版であるDOTweenが存在しますが今回はあえてHOTweenについて紹介します (個人的にこちらの方が好き... 仕…

【Unity】BestHTTPを使ってhttps通信をする

最近Unityの記事ばかり書いている大橋です。 今回はhttps通信です。 結論 この記事で言いたい事を先に言ってしまうと、 BestHTTPを使えばTLS1.2でhttps通信ができる!、、です。 UnityではWWWクラスがあるけれど Unityでサーバーとhttp/https通信したいとき…

Unity C# プロパティのキャッシュによる速度の違い

今回のエンジニアブログを担当する加賀です。 UnityのGameObjectで、よく読み書きするプロパティは「transform」だと思います。 また、Unityに限らずインスタンスを1つだけに限定する時にシングルトンをよく使います。 これらを、インスタンスにアクセスす…

UnityでVRっぽい見た目のシェーダを作る

こんにちは、エンジニアの成田です。今回もUnityのシェーダで遊んでみます。 今回はタイトルの通り「VRっぽい」シェーダを作ってみました。VRのシェーダと言っても最近流行りのヘッドマウントディスプレイOculus等の視差シェーダみたいなものではなく、あく…

動画広告UnityAdsをCocos2d-xに導入してみよう

今回のエンジニアブログを担当する大原です。 昨今、カジュアルゲームには動画広告を入れているパターンが多くなってきました。 動画広告の売上話題によくあがる某ク◯ッシー◯ードも使っているUnityAdsをCocos2d-xで使えるようにしてみようかと思います。 共…

AtomでUnity(C#)の開発環境を構築する

今回のエンジニアブログを担当する山下です。 最近はGitHub製テキストエディタのAtomを使っての開発が中心になっています。 Atomの特徴はなんといってもパッケージによる拡張で、 世界中のデベロッパが様々なパッケージをGitHub経由で公開しています。 カス…

Unity C# メソッド呼び出し方法による速度の違い

今回のエンジニアブログを担当する加賀です。 UnityでC#のLINQを使っているとき、 何度もメソッド呼び出しがされるので速度が遅くなるのではないか? という疑問が出来たので、計測してみました。 計測環境 Mac OS X 10.9.5 Intel Core i5 1.3GHz Unity 5.1.…

Photon Unity Networkingを使ってみた

こんにちわ。 エンジニアブログを担当します乾です。 よろしくお願いします。 最近触る機会があったPUN(Photon Unity Networking)について書きたいと思います。 PUNの特徴はインディー・プロのディベロッパー問わず、誰でも リアルタイムマルチプレイヤーゲ…

【Unity】Missingがあるアセットを検索する

今回担当させていただく大橋です。 Unityで、Missing状態のプロパティを検索するエディタ拡張を作ってみました。 よろしくお願いします。 記事の最後に全コードを載せてますので、 とにかくコードを!という方はそちらをどうぞ。 動作確認したUnityのバージ…

Unity 5 アセットバンドルTips (ビルド編)

こんにちは、エンジニアの成田です。 今回はUnity 5のアセットバンドルを業務で扱った時に気づいたいくつかのTipsを書くことにしました。 1.ビルドマップを使用したアセットバンドルビルド まず基本的なアセットバンドルのビルド手順について簡単に説明しま…

Unityのシェーダーを触ってみた

こんにちわ。 今回エンジニアブログを担当します乾です。 よろしくお願いします。 最近少しづつやっているのですが、シェーダー方面触ったことがなかった初心者なので苦戦中です。 今回は私みたいな初心者の方向けに簡単なモノクロフィルターを作っていこう…

Unityでベクトルを扱おう

今回の担当、大橋です。 Unityでのベクトル(Vector3)の扱い方をまとめてみました。 基礎的なことが中心になってます。 スクリプトはC#です。 ベクトルの作成 まずはベクトルの作成です。 引数にx、y、z各成分の値を指定して作成できます。 引数を省略する…

Unity 5でGI(グローバル・イルミネーション)を触ろう

こんにちは、エンジニアの成田です。 今回はUnity 5に新たに搭載されたEnlightenと呼ばれるGI(広域照明)を試してみようと思います。 1.Enlighten Enlightenは半導体の設計などで有名なARM社の傘下であるGeomericsが開発しているGIのミドルウェアです。内部的…

uGUIでTweenしたい!!

今回エンジニアブログを担当します乾です。 よろしくお願いします。 最近、uGUIを触っていてなにか足りないと思ったらTween機能がありませんでした。 何かないのかなと探していた所ありました。 こちらの方のが一番気に入ったので紹介させて頂きます。 ugui-…

ライフゲームを作ってみた

今回の記事ではライフゲームを紹介したいと思います。 担当は大橋です。よろしくおねがいします。 ライフゲームって? ライフゲームは、生命の誕生と死をモチーフにしたシミュレーションゲームです。 1970年にJohn Horton Conwayという人が考案しました…

C# LINQ ThenByを使わないソート

今回のエンジニアブログを担当する加賀です。 C# 3.5でのLINQのThenByを使わないソートを紹介したいと思います。 今回のコードはVisual Studio 2010 Pro SP1、C# 3.5で確認しています。 なぜ使わない必要があるのか Unity上での話にはなります。ThenByを使用…

Boidsシミュレーション

こんにちは、エンジニアの成田です。 以前のアリのフェロモントレイルに続き、今回も人工知能のシミュレーションを行ってみます。今回は人工生命のアルゴリズムとしてはメジャーであるBoidsを取り上げます。 1.Boids Boidsとは1987年のSIGGRAPHでCraig Reyno…

uGUIを使いScrollViewを作ってみた

今回エンジニアブログを担当します乾です。 よろしくお願いします!! 前回はNGUIを使用しScrollViewを制作しました。 今回Unityのバージョンを更新したのでuGUIを使ってScrollViewを作っていこうと思います。 1「スクロールビューの準備」 Canvasを作成します…

Unityの乱数が本当にランダムかどうか見てみた

今回のエンジニアブログの担当は大橋です。 好きな乱数生成法はXorshiftです。 よろしくおねがいします。 さて、今回はUnityの乱数に関してです。 Unityには乱数を得るたものクラス(UnityEngine.Random)が用意されていますが、 これで得られる乱数は果たし…

挫折しないUnity入門④ - Collider編

本日のエンジニアブログを担当する安藤です。 今回はColliderの使い方について触れたいと思います。 はじめに Colliderは形状が様々あるものの、 大きく非Trigger ColliderとTrigger Colliderの二つに分けられると思います。 (Character Controllerは別物と…

NGUI ScrollView活用術

エンジニアブログを担当します乾です。 よろしくお願いします!! 最近NGUIを使用する機会が多くその中でもお世話になっているScrollViewについて紹介していきたいと思います。 今回使用したバージョンは3.6.8です。 1「スクロールビューの準備」 先ずは2DUIを…

UnityでRagdoll物理

こんにちは、FPSゲーム大好きエンジニアの成田です。 皆さんはRagdollってご存じでしょうか? FPSゲームを遊んだことがある方は耳にしたことがあるかもしれません。 敵を倒した瞬間、体がぐにゃっと崩れ落ちるあの動き、そう、あれです。 Unityではキャラク…

Unityにおける簡単なジェスチャー取得

今回のエンジニアブログを担当します乾です。 よろしくお願いします。 今回はUnityを使用してスマートフォンアプリ開発を行っている人向けに、ジェスチャーの取得を簡単に行える「TouchScript」という無料のアセットを紹介したいと思います。 特徴 •Interact…

Unityのコルーチンの使い方をまとめてみた

今回のエンジニアブログは大橋が担当します。 初登場です。よろしくお願いします。 さて、Unityにはコルーチンの仕組みが標準搭載されています。 コルーチンを使うと、 「処理1」→「一定時間待つ」→「処理2」→「一定時間待つ」→「処理3」 のような一連の…

Unity(C#) 便利なEnumerable

今回のエンジニアブログを担当する加賀です。 Enumerableクラスを使用して、いくつかの場面を簡潔に記述していきます。 今回のコードはUnity 4.5.3f3、Mono / .NET 3.5で確認しています。 System.Linq.Enumerableクラスは、.NET Framework 3.5以降で使用でき…

Unityのスクリプトテンプレートを変更する

本日エンジニアブログを担当する、廣田です。 今回はunityでスクリプトを新規作成した際に、テンプレートを変更する方法を紹介しようと思います。 まずはテンプレートに使用しているテキストファイルを開きます。 MacとWindowsでフォルダの場所がいます。 Ma…

Unity iOSビルド時にinfo.plistに設定を自動で登録する

今回のエンジニアブログを担当する加賀です。 UnityでiOSビルドを行うとXcodeプロジェクトが生成されるのですが、 その際にiOSのコードで使用する設定を、自動で登録するようにしてみました。 今回のクラスはUnityのPostProcessBuildで使用するクラスです。 …

マテリアルIDマップを生成して、エッジを検出する

エンジニアブログを担当する廣田です。 今回はMaterialにIDを割り振り、 Material ID Mapを作成してエッジの検出をしてみようと思います。 エッジ検出には法線マップや深度マップを利用した物もありますが、 マテリアルの境界に線をつける事で綺麗に見えると…

Unityでディザリングシェーダを作ってみた

こんにちは、エンジニアの成田です。今回はUnityのシェーダを使ってちょっと遊んでみましょう! 先日、PCインディーズゲーム界隈でこのようなゲームが発表されていました。 作者の説明によればUnityで作られているらしいのですが、やはり目を引くのは"1bit風…

挫折しないUnity入門③

本日のエンジニアブログを担当する安藤です。 前回に引き続きUnity初心者第一の壁であるAngryBotsを紐解いていこうと思います。 今回はPlayerをよりシンプルな状態にしつつUnityのデバッグ方法や解析手法の説明が出来たらと思います。 一度シンプルな状態に…

SurfaceShaderを利用した発光シェーダ

今回のエンジニアブログを担当する、廣田です。 今回はUnityのSurfaceShaderを使用して、発光シェーダを作ってみたいと思います。 Unityのシェーダには、 ・Fixed Function Shaders(固定関数シェーダ) ・Surface Shaders(サーフェイスシェーダ) ・Vertex and…

Unity Standard Assetsの汎用スクリプトについて

今回のエンジニアブログを担当する、廣田です。 今回はUnityのStandard Assetsから汎用的なスクリプトの一部を紹介したいと思います。 まずは準備として、Standard Assetsのスクリプトをインポートします。 メニューから[Assets]→[Import Package]→[Scrpts]…

挫折しないUnity入門②

本日のエンジニアブログを担当する安藤です。 今回は前回に引き続きUnity初心者第一の壁であるAngryBotsを紐解いていこうと思います。 AngryBotsを実行して一番最初に目につくのは、はやり動くキャラクターだと思います。 主人公を少し解体してみましょう。 …

挫折しないUnity入門①

本日のエンジニアブログを担当する安藤です。 今回はUnityをダウンロードしたけどいまいち一歩踏み込めないかた向けに Unity入門について取り上げていきます。 さっそくUnity初心者第一の壁であるAngryBotsを紐解いていこうと思います。 はじめてUnityを立ち…