タグ

ブックマーク / loumo.jp (47)

  • Unity の PlayerPrefs をチェックサム付きで保存する

    Unityゲームの設定などを保存するのには PlayserPrefs を利用するのが一般的だと思うが、これは特に暗号化などせず保存されているようだ。 例えばスタンドアロン版 Mac であれば, ~/Library/Preferences/unity.会社名.プロジェクト名.plist に保存されており、Xcode をインストールしていればダブルクリックすればすぐ中身がわかってしまう。 こんな感じ。 編集されても良いデータであればそのままでも良いが、いじられたくないデータの場合は暗号化やハッシュ値によるチェックなどしたくなるだろう。という事で Unity の forum にあった PlayerPrefs Encryption を試しに使ってみた。 PlayerPrefs Encryption 最初に注意点だが、Encryption と名前にあるが暗号化をするわけではなく、チェックサムを利

    Unity の PlayerPrefs をチェックサム付きで保存する
    monyurin
    monyurin 2014/02/09
    チート対策?
  • Unity で自動でスリープに入らないようにする設定

    通常 Android や iOS 端末は一定時間何も操作をしないでいると画面が暗くなり、スリープ状態に入る。 Unity でこの設定を変更するには Screen.sleepTimeout の値を変更すると良い。秒単位での指定もできるが, SleepTimeout.NeverSleep を利用すれば自動スリープが無効になる。 Unity Script Reference: Screen.sleepTimeout // 自動スリープを無効にする場合 Screen.sleepTimeout = SleepTimeout.NeverSleep; // デフォルトの設定にする場合 Screen.sleepTimeout = SleepTimeout.SystemSetting;

    Unity で自動でスリープに入らないようにする設定
  • Unity でトゥーンシェーダーを利用してみる

    トゥーンシェーダーを利用する方法 単純な形で良いならわりと簡単に扱えます。 Assets -> Import Package -> Toon Shading を選択し、Toon Shading を取り込みます。 すると、Inspector の Shader に Toon が追加されるので、それを選択するだけです。 トゥーンシェーダーを設定してみる 何通りか試してみた。 Toon/Basic Toon/Basic Out Line Toon/Basic Out Line Toon Cubemap Toon/Lighted Out Line Toon Ramp 線の太さと色は変更できます。良い感じですね。

    Unity でトゥーンシェーダーを利用してみる
  • Mac で Android エミュレータの Genymotion を使ってみた

    先日 BlueStacks をインストールしたは良いが目的となるアプリが動かなかったので代わりになるものをということで Genymotion を試す事にした。こっちは Virtualbox で動く Android エミュレーターのようです。 丁度 Android Advent Calendar 2013 に記事があったのでそれの通りにやったら動くようになります。 Android - Genymotionで開発作業効率化d(๑╹ω╹๑ ) - Qiita インストール OS X Mavericks を使用しています。Mac 版では以下の2つをダウンロードする必要があります。 Genymotion 体 Virtualbox Windows 版では Genymotion だけで良い、のかな。 インストール手順 大体以下のように進めていくと Genymotion を起動できます。 Genymot

    Mac で Android エミュレータの Genymotion を使ってみた
  • Unity でオブジェクトの回転軸を変更する

    Unity でオブジェクトを回転させるには transform.rotate などを使用しますが、通常はそのオブジェクトの重心(何もしてなければ中央)を中心に回転します。 ある点を中心に回転させる ある物体の周囲を回るといったふうな動作を行うにはどうするか。 ただ回すだけで良いなら transform.RotateAround メソッドを利用するのが便利です。 transform.RotateAround(new Vector3 (1, 0, 1), transform.up, 45*Time.deltaTime); } 上記のように記述すると Vector3 (1, 0, 1) を基点にして Y 軸を回転します。 Rigidbody 付きのオブジェクトを回転させるには RotateAround ではオブジェクトをすり抜けたりして障害物として使えないなど不便な点があります。 そして、Rig

    Unity でオブジェクトの回転軸を変更する
  • Unity で簡単な引力を追加してみた

    通常 Unity 内では Physics.gravity を使用して重力の向きと強さを設定できます。普通のゲームであればこれ一つで事足りると思いますが重力の発生源を二つ以上にしたい場合や、小惑星など特殊な環境を舞台にしたゲームを作る場合に不便です。 というわけで簡単にそれっぽいものを作って見ました。 Test Gravity Physics.gravity の代わりに AddForce を使用して重力を再現しています。Cube が惑星より遠ければスイングバイで加速してどこかへ飛んでいきますが近いと惑星に衝突します。 引力の強さを求める式は Wikipedia 読んでもなんだかよくわかりませんが、F:引力の大きさ, G:万有引力定数, M,m:物体の質量, r:距離 とすると以下の式になるようです。 F = GMm / r^2 今回は試しにやるので質量とかは適当な値(A)を入れて、単純に距離

    Unity で簡単な引力を追加してみた
  • Unity での JavaScript と C# の違い

    最近 Unity では C# でスクリプトを書いてますが、開発途中で突然思い立って言語を変えてしまったのでプロジェクト内に JavaScript(UnityScript) と C# が混在してしまう事に。それでも動いちゃうのが便利なところでもあるのだけど。 ただ後々の事を考えると全て C# で統一したいのでスクリプトを変換する事にした。 UnityScript と C# の主な違い 変換するにあたりどのような違いがあるのかを調べてみた。 文法的には簡単なものしか使ってなかったので細かいところはおいといて、どのように書き換えたら動くかをメモしておきます。 class 宣言を省略できない UnityScript 内では class 宣言を行わないと暗黙的にそのファイル名の class として振る舞うが C# では省略できないので書く。ついでに using を追加するのを忘れないように。もっとも

    Unity での JavaScript と C# の違い