以前ScriptableObjectの作成方法や、使い方を紹介しました。【ハルシオンブログ】UnityでScriptableObjectを作成して、使う方法の紹介。】マスタデータ的な感じで使うことが多いかと思いますが、使う上で気を付けないといけない点があるので、紹介。こんなデータを作成します。}}これで、敵のデータ作成完了。次に画面にボタンを置き、クリックすることで、敵に攻撃をする感じのを作ります。}}ボタンをクリックしたときにOnClickAttackを呼ぶようにします。調べてみると、こうなっているのが分かります。えー!マスタの値がかわってるうううううう!!!これじゃマスタとしての意味なくなってしまいます。これ、値渡しじゃなくて参照渡しだから起きちゃうんですよね。ScriptableObjectのオブジェクトを使う場合にはディープコピーにて使ってあげるといいと思います。なんかいい方法あるのかもしれませんが、今のところこんな感じでやってます。}}コピーメソッドを付けてあげます。}こんな感じでやれば、ちゃんと動くようになります。気を付けないと、マスタデータが書き換わってしまいます。いう感じで、今日はScriptableObjectを使う上での注意点でした。【ハルシオンブログ】タイルマップを使ってみた。意外と簡単にできるんすね。こんにちは!坂内っす。次の日曜日にはデジゲー2018っすね!ブースの皆さん頑張って準備してくださいな!さてさて、本日のUnityのお話はタイルマップについて。Unity2017.2くらい?から導入されたタイルマップなんですが、今まで触ってもなかったので、ここで触ってみようかなと。tile)は、建設資材の一つで、壁や床の保護、あるいは装飾用に多数張りつける板状のもの。+地図、マップってことで、ゲームの画面をタイルで並べるように作る機能のようです。アセットストアにもいろいろとタイルマップで使えるマップチップのアセットがあるようです。今回はこれを使ってみました。タイルパレットを作成します。あ、ちなみに使用しているUnityは2018.2.1です。Paletteを選択するとウインドウが出てきます。Palette」を押して、Nameにパレット名を入力し、「Create」を選択。すると、今付けた名前のパレットプレハブができます。次に使用するテクスチャを選択し、設定します。今回はこれを使ってみましょう。Bricksってファイルです。Modeを「Multiple」に変更します。Unitの数値をタイルのサイズにします。チップが16x16だった場合は16を入力します。PixelSizeを32,32に設定し「Slice」ボタンを押す。テクスチャが32x32で白い線で切られると思います。これでウインドウの右上にあるxを押してApply。これで、テクスチャの準備は完了です。次に、今のBrickファイルをTilePaletteウインドウにドラッグ&ドロップします。次にタイルマップを画面に置いてみましょう。Object」⇒「Tilemap」を選択します。すると、Hierarchyに「Grid」というオブジェクトが作成されます。このGridを選択すると、Sceneウインドウに白い線が出るようになります。この状態で、TilePaletteで好きなチップを選択、クリックやドラッグでタイルを配置できます。Shift+ドラッグ(クリック)で削除できます。"「"ボタン、"」"ボタンを押すことでタイルを回転できます。このままだとこうなっちゃいます。コライダーが付いていないのですり抜けちゃう!コライダーの付け方は簡単です。Hierarchyにある「Tilemap」に「TilemapCollider2D」を付けます。これでキャラがちゃんとぶつかるようになります。【Unity】Unity&Orthelloによる2Dゲーム作成7はい、こんにちわ坂内でっす。Unity難しいでっす。土曜出社してAndroidゲーム【モンスラ】バージョンアップしたでっす。今回の目玉は必殺技の追加、クリティカルヒット追加、フェアリー追加でしたが、実は軽くなってるんです!Drawcallが劇的に減ってるんですよ!Ver1.1まではフルメンバー(村人200人+ユニット199人x6クラス)の場合、Drawcallが200ほど。重いです!これ重いんですよ!Ver1.1までは各クラスごとにAtlasを用意し、合計7Atlasを使用していました。したOrthelloを使用した時のコツを。普通のオブジェクトの場合、iTweenを使用することで簡単に透明度を変更できます。透明度を1⇒0⇒1と繰り返すことで、オブジェクトの点滅を実装することができます。cubeというオブジェクトを作成し、マテリアルを張ります。透過が可能なShaderを指定します。以下のコード書くことでcubeオブジェクトの点滅が可能になります。(アルファは透過度)を2秒かけて0にする。0になったら今度は2秒かけて1にする(pingpongによって動作を繰り返す)」となります。これで簡単に点滅が可能です。!BUT!!!OrthelloのSpriteは上記と同じことを行うとエラーがでてしまいます。Assets/iTween/Plugins/iTween.cs:6567)ナゼカ?エラーをみると、Colorプロパティが無いといわれます。Blended」になるため、Colorプロパティが存在しないからです。見るとOTSpriteの中に「Alpha」というプロパティが存在します。これを0⇒1⇒0とすることで、点滅を実装することが可能です。どのようにこれをいじるのか?iTweenのメソッドには「ValueTo」というものが用意されています。これは、値をaからbにするというもので、使い方は以下のように使います(たぶん)。(value);}0から1まで2秒かけて変わる。}}こんな感じで、OrthelloのSpriteを点滅することができます。以上!なにかのお役に立てたらこれ幸い。