最近は水の表現を作って遊んでいました。

水面はUnityのStandard Assetsにとても優れたものがあって
追加してシーンに持ってくるだけ。

WaterBasicは反射や屈折無しのシンプルな水面。
Water4は海のど真ん中にいるような荒々しい波。
WaterPro~は反射と屈折を表示できます。

反射ありと反射なし


水面に当たり判定を付けて当たってる場所に
水しぶきや波紋のパーティクルを表示、効果音が鳴るようにしました。



また、浜辺のステージも作りたくて
打ち寄せる波を作れたら良いなと思い、調べました。

海岸線は英語でshorelineというみたい。

Unityの中の方がフォーラムで上げているコードがとても良かったです。
water foam/shoreline shader? - Unity Forums

sea_wave.gif

自分のシーンに持ってくる時の注意点は、影が表示される設定になっていること
Edit - Project Settings - Quality - Shadows(Unity 5.5.2で確認)

それと、カメラのRendering PathをDeferredにしないと表示されにくいところです。
Deferredは対応されていない環境の場合、自動でForwardになってしまうそうです。
モバイルだと表示できない可能性があります。


モバイルでも波を表示する場合はUVスクロールで波を表現するもの良さそう。
こちらの記事が参考になりました。
Unityでライティングのかからないシェーダ作り - SuiTechLog


※ 2017/4/5追記
Standard Assetsの水面に波を追加する時の注意事項に追加です。
SimpleFoam.pngとFoamGradient.pngをコピーしてくると
Texture TypeがSpriteになりますがDefaultに、
Wrap ModeをRepeatに変更する必要があります。

テーマ:Unityゲーム制作 - ジャンル:コンピュータ

先月からの進捗。
引き続きモンスターの動きを作っていっています。
状態異常を作ったのでエフェクトも。
あと水中のステージを作ったのでキャラの移動スクリプトいじってました。


アニメーションはUnityで作ってます。
最初はファイルサイズ比較的大きいなとか
ネガティブなイメージを持ってましたが
結構便利な機能があるので積極的に使ってます。


異なるアニメーションのブレンドも便利ですし、
アニメーションの指定フレームで
スクリプト内の関数を呼び出したり変数の値を変更したりできます。


Animatorを追加したGameObjectで、
publicの変数を持ったスクリプトをインスペクターの一番上に持ってきます。
プロパティからスクリプトの変数を選択してパラメータを変更できます。

Unityアニメーションでスクリプトの変数を操作
(画像をクリックすると大きな画像を表示します)


指定のフレームで弾を出したい等の場合、
スクリプトでpublicの関数を用意しておいて
アニメーション時間軸の下の部分を右クリック、
イベント追加で関数を選択すると実行時に呼び出せます。
※ staticな変数や関数などはAnimationからは呼び出せません。

Unityアニメーションでスクリプトの関数を呼び出し


他のゲームエンジンで困ってる方を見かけると
Unityをおすすめしたくなるけど
慣れるまでにやっぱりそれなりに時間がかかると思うのです。
でもUnity良いですよ。

テーマ:Unityゲーム制作 - ジャンル:コンピュータ

最近はステージ作りを進めております。
どんな表現ができるのか調べて思考錯誤です。


Unityで地形を作るならTerrainが比較的作りやすそう。
地面を盛り上げたり凹ませたり、
テクスチャをペイントしたり、草木を植えたりできます。

Asset Storeに公開されているデモでは、地面はTerrainを使っていて
岩や凝った地形は3Dモデルを使っているものが多い印象でした。

ただし工夫して作らないとモバイルでは重い、
正方形サイズが基本で横長にするとブラシが荒くなる、
後から空きスペースを広げることができない等、、、
結局のところ使い方次第になってくると思われます。



今回のステージ制作では、現在のところBlenderで制作した3Dモデルを使っています。
グリッド状の板を盛ったり凹ませたりしただけの簡単なものです。

Terrainのようなテクスチャペイントを3Dモデルでもやりたいと思い
調べていたらKarasuさんの記事にやりたかったことが記述されておりました。

【Maya Tips】 Mayaでの頂点カラーを使ったシェーダー調査 - Karasuのアプリ奮闘記
http://hideapp.cocolog-nifty.com/blog/2015/04/maya-tips-maya-.html


Unityなら頂点ペイントのアセットを使った方が楽そうですが、
5ドルのアセットはUnity5に対応していないようでした。
50ドルのアセットもありましたがそっちは試していません。


Shaderに手を加えたいので自前でなんとかやりたいけど、
Mayaは手を出せそうにないかも。ということで
Blenderで頂点カラーの色成分によってテクスチャを貼り分ける方法を調べました。

Can Vertex Paint Normalize Color Channels? - Blender Stack Exchange
http://blender.stackexchange.com/questions/18972/can-vertex-paint-normalize-color-channels

ノードエディタという機能初めて使いました。
使いこなすのは難しそうですが、見よう見まねでなんとかできました。

Blender頂点カラーによるテクスチャ塗り分け



Unityで同じようにやるにはShaderを用意する必要がありそうです。
Shader ForgeというAssetを使って専用のShaderを作りました。

Texture Splatting - Shader Forge Wiki
http://acegikmo.com/shaderforge/wiki/index.php?title=Texture_Splatting


Shaderの簡単な変更をちょこちょこするようになってきたのですが
小回り効かせたくても自分で一からShader作るのは難しいですし、
今後も活躍してくれそうだなと判断しまして、ついに購入。

Unity頂点カラーによるテクスチャ塗り分け

こちらも見よう見まねでやってみました。(さりげなくテクスチャ変わってます)


できることが増えてくるとやりたいことも増えてくるぞ(@_@;)

テーマ:Unityゲーム制作 - ジャンル:コンピュータ

ざぼいどさんの記事を参考にして風のギミックを試作しました。

[Unity] Rigidbodyが風を受けるようにする - ftvlog
http://ftvoid.com/blog/post/752

物陰に隠れた時に風を凌げるようにしたいという贅沢な悩みもでてきて
もう一つ、パーティクルの当たり判定を使う方法も考えました。
ただ風っぽくするには最高精度の当たり判定で
たくさんパーティクルだす必要があるので置き過ぎるとパフォーマンスの心配も、、、

他に良い方法あるかなあ、、、
どういうステージにするかによるかも。
試作したもので遊んでみてどんな活用ができるか模索していました。




操作キャラがダメージを受けた時に画面全体の
エフェクトをかけていましたが、
敵キャラ等がダメージを受けた時にも
キャラが真っ白になるエフェクトを付けました。

アクションに応じて気持ちの良いリアクションがあると楽しそうです。




植物系モンスターのラクガキ。
植物系モンスターのラクガキ

テーマ:ゲーム開発 - ジャンル:コンピュータ

Unityで制作中のゲーム、現在は本編の作り込みをしています。


先日、フルスクリーンで実行した時に
GUIのボタンが期待通りの位置に表示されているものの
判定領域だけがずれてしまっていました。
バージョンは4.6.7です。

ボタンの判定領域

ゲーム画面のサイズ設定がPCの解像度と同じアスペクト比の場合は
大丈夫なのですが違っていた場合にずれてしまっているよう。
スクリプトからScreen.SetResolusion関数を実行して
直接解像度を指定しても回避できるようです。

解像度設定

試しに他のアスペクト比の画面でも確認してみましたが大丈夫でした。
確認用に使用したパソコンはWindowsXPが入った10年前のものです。

このPCの性能ではUnityエディタでの制作は無理がありますが、ゲームは動作しました。

性能の低い動作環境では解像度やFPS(画面の更新頻度)を
下げていないと厳しいかもしれません。


今回は30fpsで動作するようスクリプトで固定にして解像度は640×480にしました。
重い処理のところはCPU100%になりましたが処理落ちはありませんでした。

昔のパソコンではノロノロで遊べる状態ではないという先入観を持っていましたが、
チューニング次第で動かすことができるのが分かって良かった。


フレームレートの固定方法はこちら
フレームレートの調整 - nocchi* ゲーム制作メモ


ヌエコさんが主人公ちゃんをラクガキしてくださったのでご紹介します。
手練習+リアナ落書き - らくがきちょう

テーマ:ゲーム開発 - ジャンル:コンピュータ

Powered By FC2ブログ. copyright © 2017 nocchi* ゲーム制作メモ all rights reserved.
プロフィール

nocchi*

Author:nocchi*
ゲーム制作してます。楽しみながら制作していきたいと思います。
Home Page
Twitter
Pixiv
SoundCloud

最新記事
カテゴリ
月別アーカイブ
検索フォーム

リンク
ブロとも一覧
RSSリンクの表示
QRコード

QR

ブロとも申請フォーム
メールフォーム

名前:
メール:
件名:
本文: