インディーゲームクリエイター目指すやつのブログ

インディーゲームクリエイター目指す、20歳の学生ですのブログです。開発環境はUnity、ドット調の2dゲームを主に作っています。

Unity Texutre(Sprite)のImportSettingsを自分なりに解析

Unityのバージョンは2017.2.0b5

 

・SpriteMode

スプライトの利用方法

-Single

ただ表示するだけならこれ

-Multiple

アニメーションであったり、一つの画像のなかに複数の画像を利用する場合これを使う。

-Polygon

画像を複雑な形で切り抜いて表示するときなど

 

・PackingTag

リファレンスそのままだけど、このテクスチャーをまとめるスプライトアトラスの名前を指定する。これはスプライトパッカーというものを利用して行う。正直、いままで一回も使ったことない。ただ、これを利用するとドローコール(SetPathCall)が減って軽くなる。パフォーマンスを上げるときに頭の片隅に置いておこう。

 

・PixelPerUnit

1Unit単位のピクセル数。ドット(ピクセルパーフェクト)なゲームを作るときは1にするとよい。

 

・MeshType

メッシュの構造

-FullRect

四角いメッシュで構成される。

32×32以下は勝手にFullRectになる。

-Tight

画像内のピクセルごとのα値によってメッシュが自動生成される。

 

 

・ExtrudeEdges

これに関して、いろいろ調べたけど正直よくわからん。すんません

 

・Pivot

画像の中心点となる場所。スケールや回転などはこの点を軸にして行われる。

 

Advancedパラメーターのところ

・sRGB(Color Texture) 

テクスチャーを表示目的で使う場合はこれにチェックを入れる。

テクスチャーになにか意味のある情報を持たせる場合などは外すと正確な値がシェーダーに渡せる。

 

・AlphaSource

アルファチャンネルの生成方法

-None

インポートしたスプライトのアルファチャンネルがなくなる。ただ、入力テクスチャーにはアルファチャンネルがある。入力テクスチャーというのはおそらく▶マークみたいのを押したときにでてくるもう一つの画像だと思う。

-InputTextureAlpha

デフォルトで入力テクスチャーのアルファを利用する。ただ、インポートしてきたテクスチャーにアルファチャンネルがない場合はこの項目自体ない。

-FromGrayScale

入力テクスチャーのRGBの値の平均値でアルファが生成される。

全体的に薄くなる印象。

 

・AlphaIsTransparency

α値を透明にするかどうか?これにチェックをいれると透明なところとそうでないところの境目をきれいにする効果があるって書いてあったようなないような。これもちょっとよくわからん。

 

・Read/WriteEnabled

これにチェックを入れると、スクリプトからこのテクスチャーに対して読み書きができるようになる。しかし、テクスチャーデータがコピーされるため本当に使うときだけチェックを入れる。非圧縮とDXT圧縮テクスチャーのみできる。

 

・Generated Mip Maps

縮小した画像のリスト(MipMaps)を作成するかしないか。

MipMapはカメラからの距離によって、適切な画像の大きさを描画してくれるらしい。

容量は食うけど、パフォーマンスがあがる。

ただ、2Dの場合はカメラの距離なんてのはあまり関係ないので基本チェックを外してよい。

 

・WrapMode

タイル描画のときのテクスチャーの表示方法。

-Repeat

繰り返して描画

uvScrollとかするときはこれにする

-Clamp

端が引き延ばされる。

デフォルトでこれなんだけど、なんでだろ。使い道がわからん。

-Mirror

繰り返されるとき反転して表示される。

-MirrorOnce

上下斜めの箇所だけ反転し、そのあとはClamp同様引き延ばされる。

Mirrorを使えば、円のような画像を、4分の1の容量で表示することができたり

容量削減のためのテクニックとして使える。

ただし、spriteやimageなどには使えない。

-Per-axis

x軸、y軸それぞれに好きなWrapmodeを決めることができる。

 

・FilterMode

テクスチャーが3D変換で引き延ばされたときのフィルター方式。

-Point(no Filter)

なんもかけない。ドットのゲームなんかだとこれが推奨される。

-Bilinear

ぼやけて表示する。

-Triinear

mipmapのぼかしとブレンドしてぼやける

 

 

 

 

 

ゲームの作り方を改めて見た。

最近、何をやってもうまくかない生の高橋です。

学業や将来について不安になり、焦ってゲーム作らきゃという思いが強くなって来ました。そんな時こそ、考えは慎重になり、なかなか面白いアイデアが思いつきません。

どうやら、自分はそういったストレスの中だと著しく能力が下がるタイプのようですね。

学校入ったばかりの頃はモチベーションが高く、時間があり余裕があったせいか尖がったアイデアを出すことができました。人間の脳って不思議ですね。

 

それはさておき、最近新たに自分について知ったことがあります。

今までの作った企画書やゲームの中でテーマが決められているものとそうでないものだとテーマが決められていたものの方が面白いものが多いと気づきました。

悪い意味で制限がある方が作りやすいということがわかりました。

ドット絵もそうですよね、低解像度という制限の中で表現するのもそれに似ています。

自由すぎると多くのアイデアが出たはいいものの自分の中のGOサインのハードルが上がってしまって作り出せないんですよね。

しかし、テーマなどが決まっていると自由な時よりも制限があるせいかGOサインのハードルが下がるような気がします。

ですので、それに伴い自分はテーマが決められたゲームジャムやその他のイベントに参加して、その時に作ったゲームをリリースするような形を取りたいと思います。

イベントに参加するので、優秀な成績をもらえればそれだけで記事などに載せてもらったり、それ自体がプロモーションになります。しかも、短期間でやるイベントが多いので、クソつまらなくてもすぐに捨てられる。遊んでもらえる可能性も高いのですぐにフィードバックももらえます。それで評価が高ければリリースに持ってくという形にしようと思います。

じゃ、そのイベントまで何をするのかといえば、プログラムや絵、サウンドやりたいことをやろうかなと思います。あれ、なんか知らないけどワクワクしてきた。気持ちが楽になってきました。この方法いけるんじゃないか?となんかわけわからん考えになってきました。まだ実行してないんですけど、果たして、これでやっていけるかわからないですけどやっていきます。頑張るぞい!!

 

チーム制作での反省点

現在、個人でゲームを作っている僕が久々のチームでの制作をしています。

役職はリーダー兼プランナーです。

意思決定の立場にいるんですが、正直意思決定がぶれっぶれです。はい。

ではいろいろ反省点を記そうと思います。

 

●ターゲットを意識しないと意思決定がぶれる。(個人の価値観だけで決めない)

リーダーなのにすみません。現在、ゲームをあまりやらない人対象に対戦ゲームを作っているのですが、僕の意思決定が完全にコアゲーム向けになっています。

なんとかチームの人に止めてもらっています。いやぁ本当助かる。

ターゲットを意識するのはどうやら苦手のようです。反省。

 

●仕事がない人いる問題

これについては、その人の仕事の遅さであったり、

一人でなんでもやっちゃうプログラマーがいたりしたというのもあります。

それでも、どうにかタスクを回せるような何かが欲しいです。

ここはむずいなぁ。

 

●現在作っているゲームが自分的に面白くないと思ってる問題

これについてはターゲットが自分じゃないのでしょうがないですね。

そうすると、モチベーションやパフォーマンスがめっちゃさがりますね。

その保ちかたとかなにかないのかね。エフェクトやって自己満かな?

 

●優先順位適当問題

もうなんか適当にタスク回してますね。はい。

ただ、個々のスキルが高いので回ってるんですけどうんまぁ、それでもいいのかな。

途中で言われた改善案などもちゃんと優先順位をつけていこうかなと思いやす。

 

とまぁ、今思いつくのはこんな感じかな。

ほんとはくさるほどあるけどね。

とりあえず、完成まで頑張りやす。

 

 

 

 

 

 

将来についての決意

結論からいうと、私は学校卒業後フリーランスでゲーム作る人になります。

理由はいくつかあるんですが、主に2つを記そうと思います。

 

一つ目の理由は自分が楽しいと思えるゲームを作りたい!!

僕はインディーゲームが大好きで、会社で作っているゲームが好きではありません。

好きではないゲームを作り続けていくのは僕のパフォーマンスやモチベーションが下がり、ただただ地獄であると最近チーム制作をやっているときに感じました。

嫌いなことをして生きていくなら、好きなことして生きていきたいです。

たとえそれで生活が苦しくても好きだから我慢できます。

好きこそものの上手なれといいますし...

 

二つ目の理由はチーム制作がめちゃめちゃ向いてないです。

チームには役割があります。

とりあえず、僕はプランナーという立場でやっています。

でも、プログラムも打ちたいし絵もかきたいんです。

ゲーム制作とは直接関わるところをいじりたいんです。

仕様書やプレゼン、企画書なんかやりたくないんです。

それがなくてもゲームは作れるので。てか、作ったので。

そして、会社のプランナーはずっとそれをやり続けます。

僕にはそれは無理です。死にます。

 

以上が理由です。

ですが、もちろんこの道はアブノーマルで茨の道です。

学業や生活費や奨学金などの金銭面が現在問題としてあります。

学業については、正直学校をやめたいと思っていて悩み中です。たぶんやめないと思います。さぼりながらゲームを制作するつもりです。

金銭面についてはとりあえず、バイトしまくろうかなと思ってます。

え、じゃあ就職して金銭面に余裕がでればやればいいじゃんとか思いますよね。

就活の勉強をする時間、就職して金銭面に余裕が出るまでの時間が僕の人生においてもったいないと思ってます。

いますぐ、ゲームをつくりたいんです。

本当僕はわがままだと自分で思います。

ただ、自分の人生にわがままなのは悪いことじゃなくないですか?

人生は一度きり、やりたいことをたくさんやり続けて死にたいです。

正直なんも考えてないばかな決意だと思ってます。

でも、実はこれが僕の幸せであり夢なんです。

 

 

 

 

 

 

 

 

 

UnityでShockWaveShaderを実装してみる。

 

といっても、ゼロからではなくshaderToyあるのをそのままUnityにもっていきます。

 shaderToyにあったshockWaveのコードです。

gist25a6e7773bdc3fed81f9a4495dda7d65

 

1.iTimeをunityの_Timeに変更。

 _Timeはfloat4型で(t/20, t, t*2, t*3)が入っている。ここではtをそのまま使うので

 _Time.yを使う。

2.vec2,3型をfloat2,3型に変更

 UnityのshaderではVec3の型は使えないらしい。 

3.texcoordをi.uvに変更する。

 unityはtexcoord(uv)を変数として用意されている。

4.Colorのところをunity用のfloat4 colに変更する。

5. Texture関数を、sample2D関数に変更する。

 

んでこれがUnity用に変更したコード

gist9775af23d9dd7fb5e0d9842f9e9ccfaa

 

最終的にこんな感じになりました

f:id:Takahashi5531:20171018003258g:plain

 

ソシャゲ嫌いな俺がコロプラ最新作「PaniPani」を4時間ぐらいやってしまったので、考察してみた。

なぜ四時間ぐらいやってしまったのかをいくつか挙げてみる。

1、片手で横スクロールアクションができる

コロプラが作るゲームの特徴として、片手でできるのはかなり大事らしいね。

でも、たしかに寝っ転がりながらできるからついやってしまう。

 

2、ガチャはなく、カプセルシステムがやめられない大きな要因

敵を倒しまくれば、カプセルを開くことができるシステム。

しかし、先にカプセルを取った順でしか開くことができないので、レアなカプセルがでたとしても、たくさんカプセルを持っていたら、それらをまず開くためにたくさん敵を倒しまくらなければならない。さらに、カプセルには制限時間がついているため、やめると損な気分になる。あとちょっとで、レアカプセルが開ける状態ならば、絶対にやめられないだろう。

 

3、ポチポチやれば勝手に成長する快感、それに加えて熟練度システムがマッチ。

特定の行動をすると、その行動が成長する熟練度システムがこのゲームの特徴の一つ。

HPを上げるために、ダメージを食らったり、ガード力をあげるためには敵の攻撃をガードしなければならない。逆に言うと、敵を倒す以外に成長する要素があるわけだ。

成長はうれしいが、ときたまめんどくさい熟練度もある。時間をかけなければならない要素だ。

 

たぶん、一番やめまれない要因は2だろう。

このシステムはいい意味でやめられない。

ただプレイしてみて、面白かったとはならなかった。

 

応用

やはり、敵と戦う以外になにか成長できるなにかがあるといいと思った。3の熟練度システムてきな。ただ、あまり成長を感じにくいと意味がないと思った。

たとえば、Downwellのポイントなんかもやめられない要因の一つだと思う。

モチベーション維持かな。死んでも、ポイントは残る。ポイントがたまれば、新しいスタイルをゲットできるみたいな。

そうすると、死んでも大丈夫みたいになるしね。

あと、スタイルによって戦略とかも生まれるしね。

 

ソシャゲ嫌いな俺がコロプラ最新作「PaniPani」を4時間ぐらいやってしまったので、考察してみた。

なぜ四時間ぐらいやってしまったのかをいくつか挙げてみる。

1、片手で横スクロールアクションができる

コロプラが作るゲームの特徴として、片手でできるのはかなり大事らしいね。

でも、たしかに寝っ転がりながらできるからついやってしまう。

 

2、ガチャはなく、カプセルシステムがやめられない大きな要因

敵を倒しまくれば、カプセルを開くことができるシステム。

しかし、先にカプセルを取った順でしか開くことができないので、レアなカプセルがでたとしても、たくさんカプセルを持っていたら、それらをまず開くためにたくさん敵を倒しまくらなければならない。さらに、カプセルには制限時間がついているため、やめると損な気分になる。あとちょっとで、レアカプセルが開ける状態ならば、絶対にやめられないだろう。

 

3、ポチポチやれば勝手に成長する快感、それに加えて熟練度システムがマッチ。

特定の行動をすると、その行動が成長する熟練度システムがこのゲームの特徴の一つ。

HPを上げるために、ダメージを食らったり、ガード力をあげるためには敵の攻撃をガードしなければならない。逆に言うと、敵を倒す以外に成長する要素があるわけだ。

成長はうれしいが、ときたまめんどくさい熟練度もある。時間をかけなければならない要素だ。

 

たぶん、一番やめまれない要因は2だろう。

このシステムはいい意味でやめられない。

ただプレイしてみて、面白かったとはならなかった。