【ハルシオンブログ】SoftMaskScriptってやつをちょっと使ってみた。
こんにちは。
大坂です。
急に寒くなってきましたね。
皆様体調にはお気をつけを。
uGUI(TextやImage)を簡単にトランジション的なマスクをするのに使える「SoftMaskScript」ってやつの紹介。
以下のダウンロードページでダウンロードできる
「UnityUIExtensions.unitypackage」の中にある「SoftMaskScript」ってやつですね。
https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/downloads/
他にもいろいろはいっていますが。とりあえず「SoftMaskScript」使ってみました。
使い方は簡単。
TextとかImageにAddComponentして、
AlphaMaskにテクスチャを設定してCutOffの数字をいじるだけですね。


※クリックすると動くよ
ちなみにスクリプトからいじる場合はこんな感じ。

※クリックすると動くよ
なんか簡単なのに使えるかもしれませんね!
ではまたノシ
大坂です。
急に寒くなってきましたね。
皆様体調にはお気をつけを。
uGUI(TextやImage)を簡単にトランジション的なマスクをするのに使える「SoftMaskScript」ってやつの紹介。
以下のダウンロードページでダウンロードできる
「UnityUIExtensions.unitypackage」の中にある「SoftMaskScript」ってやつですね。
https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/downloads/
他にもいろいろはいっていますが。とりあえず「SoftMaskScript」使ってみました。
使い方は簡単。
TextとかImageにAddComponentして、
AlphaMaskにテクスチャを設定してCutOffの数字をいじるだけですね。


※クリックすると動くよ
ちなみにスクリプトからいじる場合はこんな感じ。
using UnityEngine;
using UnityEngine.UI.Extensions;
using DG.Tweening;
public class Test : MonoBehaviour {
public SoftMaskScript txtMask;
public SoftMaskScript imgMask;
// Use this for initialization
void Start() {
DOTween.To(() => txtMask.CutOff, (n) => txtMask.CutOff = n, 1, 2f).SetLoops(2, LoopType.Yoyo);
DOTween.To(() => imgMask.CutOff, (n) => imgMask.CutOff = n, 1, 2f).SetLoops(2, LoopType.Yoyo);
}

※クリックすると動くよ
なんか簡単なのに使えるかもしれませんね!
ではまたノシ
【ハルシオンブログ】タイルマップを使ってみた。意外と簡単にできるんすね。
こんにちは!坂内っす。
もう次の日曜日にはデジゲー2018っすね!
ブースの皆さん頑張って準備してくださいな!
さてさて、本日のUnityのお話はタイルマップについて。
Unity2017.2くらい?から導入されたタイルマップなんですが、今まで触ってもなかったので、ここで触ってみようかなと。
タイルマップとは?
タイル(英: tile)は、建設資材の一つで、壁や床の保護、あるいは装飾用に多数張りつける板状のもの。
+
地図、マップ
ってことで、ゲームの画面をタイルで並べるように作る機能のようです。
さてさて、アセットストアにもいろいろとタイルマップで使えるマップチップのアセットがあるようです。
今回はこれを使ってみました。

まずはタイルパレットを作成します。
あ、ちなみに使用しているUnityは2018.2.1です。バージョンによって多少コマンドの位置が変わるかも?

Tile Paletteを選択するとウインドウが出てきます。
出てきたウインドウの「Create New Palette」を押して、Nameにパレット名を入力し、「Create」を選択。

そうすると、今付けた名前のパレットプレハブができます。

次に使用するテクスチャを選択し、設定します。
今回はこれを使ってみましょう。

Bricksってファイルです。
Sprite Modeを「Multiple」に変更します。
Pixel Per Unitの数値をタイルのサイズにします。
チップが16x16だった場合は16を入力します。(今回は32x32だったので、32を入力)

そして「Sprite Editor」ボタンを押す!
SpriteEditorの画面で「Slice」ボタンを押し、出てきたウインドウでTypeを「Grid By Size」へ変更。
PixelSizeを32,32に設定し「Slice」ボタンを押す。

テクスチャが32x32で白い線で切られると思います。
これでウインドウの右上にあるxを押してApply。
これで、テクスチャの準備は完了です。
次に、今のBrickファイルをTilePaletteウインドウにドラッグ&ドロップします。

これで完成です。
次にタイルマップを画面に置いてみましょう。
「GameObject」⇒「2D Object」⇒「Tilemap」を選択します。

そうすると、Hierarchyに「Grid」というオブジェクトが作成されます。
このGridを選択すると、Sceneウインドウに白い線が出るようになります。

この状態で、TilePaletteで好きなチップを選択、クリックやドラッグでタイルを配置できます。

Shift+ドラッグ(クリック)で削除できます。
また、"「"ボタン、"」"ボタンを押すことでタイルを回転できます。
さて、このままだとこうなっちゃいます。

そうです。コライダーが付いていないのですり抜けちゃう!
コライダーの付け方は簡単です。
Hierarchyにある「Tilemap」に「TilemapCollider2D」を付けます。

これでキャラがちゃんとぶつかるようになります。

こんな感じ。
簡単にTilemapって使えるんですね!
今度何かにつかってみよう!
ということで、今日はこれであでゅ~ノシ
もう次の日曜日にはデジゲー2018っすね!
ブースの皆さん頑張って準備してくださいな!
さてさて、本日のUnityのお話はタイルマップについて。
Unity2017.2くらい?から導入されたタイルマップなんですが、今まで触ってもなかったので、ここで触ってみようかなと。
タイルマップとは?
タイル(英: tile)は、建設資材の一つで、壁や床の保護、あるいは装飾用に多数張りつける板状のもの。
+
地図、マップ
ってことで、ゲームの画面をタイルで並べるように作る機能のようです。
さてさて、アセットストアにもいろいろとタイルマップで使えるマップチップのアセットがあるようです。
今回はこれを使ってみました。

まずはタイルパレットを作成します。
あ、ちなみに使用しているUnityは2018.2.1です。バージョンによって多少コマンドの位置が変わるかも?

Tile Paletteを選択するとウインドウが出てきます。
出てきたウインドウの「Create New Palette」を押して、Nameにパレット名を入力し、「Create」を選択。

そうすると、今付けた名前のパレットプレハブができます。

次に使用するテクスチャを選択し、設定します。
今回はこれを使ってみましょう。

Bricksってファイルです。
Sprite Modeを「Multiple」に変更します。
Pixel Per Unitの数値をタイルのサイズにします。
チップが16x16だった場合は16を入力します。(今回は32x32だったので、32を入力)

そして「Sprite Editor」ボタンを押す!
SpriteEditorの画面で「Slice」ボタンを押し、出てきたウインドウでTypeを「Grid By Size」へ変更。
PixelSizeを32,32に設定し「Slice」ボタンを押す。

テクスチャが32x32で白い線で切られると思います。
これでウインドウの右上にあるxを押してApply。
これで、テクスチャの準備は完了です。
次に、今のBrickファイルをTilePaletteウインドウにドラッグ&ドロップします。

これで完成です。
次にタイルマップを画面に置いてみましょう。
「GameObject」⇒「2D Object」⇒「Tilemap」を選択します。

そうすると、Hierarchyに「Grid」というオブジェクトが作成されます。
このGridを選択すると、Sceneウインドウに白い線が出るようになります。

この状態で、TilePaletteで好きなチップを選択、クリックやドラッグでタイルを配置できます。

Shift+ドラッグ(クリック)で削除できます。
また、"「"ボタン、"」"ボタンを押すことでタイルを回転できます。
さて、このままだとこうなっちゃいます。

そうです。コライダーが付いていないのですり抜けちゃう!
コライダーの付け方は簡単です。
Hierarchyにある「Tilemap」に「TilemapCollider2D」を付けます。

これでキャラがちゃんとぶつかるようになります。

こんな感じ。
簡単にTilemapって使えるんですね!
今度何かにつかってみよう!
ということで、今日はこれであでゅ~ノシ
【Unity】Unity&Orthelloによる2Dゲーム作成⑦
はい、こんにちわ坂内でっす。
Unity難しいでっす。
土曜出社してAndroidゲーム【モンスラ】バージョンアップしたでっす。
今回の目玉は必殺技の追加、クリティカルヒット追加、フェアリー追加でしたが、実は軽くなってるんです!
Drawcallが劇的に減ってるんですよ!
Ver1.1まではフルメンバー(村人200人+ユニット199人x6クラス)の場合、Drawcallが200ほど。
重いです!これ重いんですよ!
Ver1.1までは各クラスごとにAtlasを用意し、合計7Atlasを使用していました。
Ver2では少しでも軽くしようと、GUIまわりのAtlasを一つにしたり、ユニットのAtlasを1つにまとめたりしたところ、なんとDrawCall30!!!
この劇的変化!! DrawCall 200 ⇒ 30!!
ただし、スマホだとさすがにSpriteの多さが問題か、重いんです!
DrawCallの問題だけじゃあぁないっすね!!
今後軽くする方法を検討してみますが、ちょっとこれ以上はきついかな?
タップ時の攻撃エフェクトを他のAtlasと1つにしてみようという案は考えてますが・・
あと、Unity4.3によって2Dゲームまわりにどのような変化がくるか楽しみですね!!
と、いうことで今後もモンスラよろしくお願いします!
Unity難しいでっす。
土曜出社してAndroidゲーム【モンスラ】バージョンアップしたでっす。
今回の目玉は必殺技の追加、クリティカルヒット追加、フェアリー追加でしたが、実は軽くなってるんです!
Drawcallが劇的に減ってるんですよ!
Ver1.1まではフルメンバー(村人200人+ユニット199人x6クラス)の場合、Drawcallが200ほど。
重いです!これ重いんですよ!
Ver1.1までは各クラスごとにAtlasを用意し、合計7Atlasを使用していました。
Ver2では少しでも軽くしようと、GUIまわりのAtlasを一つにしたり、ユニットのAtlasを1つにまとめたりしたところ、なんとDrawCall30!!!
この劇的変化!! DrawCall 200 ⇒ 30!!
ただし、スマホだとさすがにSpriteの多さが問題か、重いんです!
DrawCallの問題だけじゃあぁないっすね!!
今後軽くする方法を検討してみますが、ちょっとこれ以上はきついかな?
タップ時の攻撃エフェクトを他のAtlasと1つにしてみようという案は考えてますが・・
あと、Unity4.3によって2Dゲームまわりにどのような変化がくるか楽しみですね!!
と、いうことで今後もモンスラよろしくお願いします!
今までとはちょっと違いファンタジー風ゲーム作成はじめました その弐
月曜の坂内っす。
先週月曜に話をしていたファンタジーっぽいゲームなんですが、21日リリースします!いや、したいです!
なんとなーく できてきました。
これちょっと面白いんじゃないかなーというか、面白いです!
写真はリリースまでおあずけです!
①簡単操作
②仲間を増やす
③敵を倒してお金を稼ぐ
④装備アイテムも盛りだくさん!(アイテムは全部で50種以上!?)
⑤アチーブは全100個!!!!!!!
どっすか?興味でません?
あれ?開発者ブログじゃない?って声聞こえそうなので1つ。
Unityでゲームを開発している時、画面に表示する文字列は専ら「3DText」を使用しています。
この話以前しましたっけ?ただ問題がありまして、3DTextを多量に使うと文字が欠けてしまったり、
上手く表示できなくなってしまいます。
原因はわかりません!
そのため、固定の文字列等は画像にして張り付けたりしてます。
なにか解決方法わかる方ご教授くださいませ!
以上!
先週月曜に話をしていたファンタジーっぽいゲームなんですが、21日リリースします!いや、したいです!
なんとなーく できてきました。
これちょっと面白いんじゃないかなーというか、面白いです!
写真はリリースまでおあずけです!
①簡単操作
②仲間を増やす
③敵を倒してお金を稼ぐ
④装備アイテムも盛りだくさん!(アイテムは全部で50種以上!?)
⑤アチーブは全100個!!!!!!!
どっすか?興味でません?
あれ?開発者ブログじゃない?って声聞こえそうなので1つ。
Unityでゲームを開発している時、画面に表示する文字列は専ら「3DText」を使用しています。
この話以前しましたっけ?ただ問題がありまして、3DTextを多量に使うと文字が欠けてしまったり、
上手く表示できなくなってしまいます。
原因はわかりません!
そのため、固定の文字列等は画像にして張り付けたりしてます。
なにか解決方法わかる方ご教授くださいませ!
以上!
【Unity】Unity&Orthelloによる2Dゲーム作成③
はい、こんにちわ。坂内です。
本日の題は「Unity&Orthelloによる2Dゲーム作成其の3」です。
アニメーションについて、ちょちょっと書いてみます。
Orthelloには、AnimatingSpriteというものがあります。
これ、アニメーション用のSpriteっぽいっす。
オブジェクトとしては、コレ使います。
では順番に説明をば。(間違えていたら指摘プリーズ!
①「Orthello」⇒「Sprite」⇒「Animation」をHierarchyに追加します。
このAnimationはSpriteのアニメーション自体を管理するもののようです!

②今回はこんな感じの適当な絵を用意しました!

立ち絵・パンチ・キックの3種類のアニメーションです。(適当でスイマセン
これをまずは前々回の通りSpriteAtlasに読み込みます。
SpriteAtlasについては前々回の「Unity&Orthelloによる2Dゲーム作成①」を参照。
③次に、①で追加したAnimationのInspectorのFramesetsをアニメーションの数設定します。
今回は「立ち」「パンチ」「キック」の3種類のため、FramesetsにSizeに「3」を設定。
Sizeに3をセットすることにより、その下にElementsが3個追加されます。
それぞれのElementsのNameにアニメーション名を設定します。今回は「stand」「punch」「kick」に
してみます。

④各種アニメーションに、どの絵を使うかを指定します。
③で作成したElementsのContainerに②で指定したAtlasを指定します。
それと、スタートフレーム、エンドフレーム(アニメーションのフレームを指定)
立ちポーズはSpriteAtlasでは、8,9,10,11,12の絵になるので、Start Frameに「8」を、
End Frameに「12」を指定します。
⑤で、アニメーションの指定はスクリプトで「OT.AnimatingSprite("オブジェクト名").Play("アニメーション名");」とすることで動かすことができます。
⑥では、スペースボタンを押すとキックをするようにしてみましょう。
なんかそれっぽくなりましたね!
これ、キックのアニメのあと、止まってしまうけど、もとのStandアニメーションにするのはどうするんだろうか!
キックのアニメーションが終わったタイミングでうまくスタンドのアニメーションに戻す方法なにかいい方法をお持ちの方教えて下さい!
ってことで、本日のブログは終了です!
本日の題は「Unity&Orthelloによる2Dゲーム作成其の3」です。
アニメーションについて、ちょちょっと書いてみます。
Orthelloには、AnimatingSpriteというものがあります。
これ、アニメーション用のSpriteっぽいっす。
オブジェクトとしては、コレ使います。
では順番に説明をば。(間違えていたら指摘プリーズ!
①「Orthello」⇒「Sprite」⇒「Animation」をHierarchyに追加します。
このAnimationはSpriteのアニメーション自体を管理するもののようです!

②今回はこんな感じの適当な絵を用意しました!

立ち絵・パンチ・キックの3種類のアニメーションです。(適当でスイマセン
これをまずは前々回の通りSpriteAtlasに読み込みます。
SpriteAtlasについては前々回の「Unity&Orthelloによる2Dゲーム作成①」を参照。
③次に、①で追加したAnimationのInspectorのFramesetsをアニメーションの数設定します。
今回は「立ち」「パンチ」「キック」の3種類のため、FramesetsにSizeに「3」を設定。
Sizeに3をセットすることにより、その下にElementsが3個追加されます。
それぞれのElementsのNameにアニメーション名を設定します。今回は「stand」「punch」「kick」に
してみます。

④各種アニメーションに、どの絵を使うかを指定します。
③で作成したElementsのContainerに②で指定したAtlasを指定します。
それと、スタートフレーム、エンドフレーム(アニメーションのフレームを指定)
立ちポーズはSpriteAtlasでは、8,9,10,11,12の絵になるので、Start Frameに「8」を、
End Frameに「12」を指定します。
⑤で、アニメーションの指定はスクリプトで「OT.AnimatingSprite("オブジェクト名").Play("アニメーション名");」とすることで動かすことができます。
using UnityEngine; |
⑥では、スペースボタンを押すとキックをするようにしてみましょう。
|
なんかそれっぽくなりましたね!
これ、キックのアニメのあと、止まってしまうけど、もとのStandアニメーションにするのはどうするんだろうか!
キックのアニメーションが終わったタイミングでうまくスタンドのアニメーションに戻す方法なにかいい方法をお持ちの方教えて下さい!
ってことで、本日のブログは終了です!