Unityで背景を単色に変更する方法

solidcolor

手っ取り早いのは、CameraのClear Flagsを Solid Color にしてBackgroundで色を指定する方法です。他には[Window]->[Lighting]でLightingタブから環境を変更する方法もあります。

クリアと聞くと、消しゴムで消したり、黒板で消すイメージがありますが、Clear Flagsで指定されている状態にすることをクリアと言っています。初期設定では、Skyboxが指定されているので、何もオブジェクトがないプロジェクトの最初の状態がクリア状態になります。元々OpenGLやDirectXからきている用語なので、クリアなのに、空が表示されるという違和感がある状態になってます。

 

Unityで何もないところから、スクリプトでオブジェクトを生成する方法

unity01

敵や弾を好きな時に生成したい

シューティングゲームの敵の出現や、弾や、迷路の自動生成など、スクリプトからゲームオブジェクトが生成できると幅が広がります。比較的短い説明で分かりやすい解説である実行時のプレハブのインスタンス化がマニュアルに載っていました。

この解説はページ内の文字数が多いように感じますが、実際は、3つのよくありそうなシナリオでのUnityの設定の仕方とソースコードが書かれています。初めての人は、一番初めのレンガを自動生成する方法を見ればよいだけなので、読むドキュメントとソースコードは少ないです。

シナリオ1.ひとつの “レンガ” から壁を作成するために、複数回異なる場所に作成する
シナリオ2.ロケットランチャーが発射時に空飛ぶロケットプレハブをインスタンス化します。プレハブはメッシュ、Rigidbody、Collider、および子ゲームオブジェクトと軌跡に Particle System を含みます。
シナリオ3.ロボットがバラバラにいくつもの部分に爆発します。

 

 

 

ゲーミフィケーションについて少しづつ調べてみる

ゲームを作る前にこういう記事を読み過ぎると良くないですが、クラッシーロードをどう考えて制作したかが書かれていました。

http://www.inside-games.jp/article/2015/03/04/85579.html

その中でリテンション、バイラル性、エンゲージメントループという聞きなれない言葉が出てきました。

リテンションはretentionで、保持、維持するの意味なので、いかにつなぎとめるかというやつですね。また、バイラル性は、Viralでウィルスのように、いわゆる「口コミ」で広がることなので、YoutubeやTwitterで拡散されていくように作り上げるのは素晴らしいことです。これら2つの用語は何となくわかりますがエンゲージメントループはいまいちわかりませんでした。

エンゲージメントループとは何か調べる

wikipediaで載るほどの用語定義はされていないようですが、ゲームというよりマーケティング分野で使われてきた言葉なのかもしれません。

 エンゲージメントを得る事の必要性

今回のSMWSFの様々なセミナーを通して最も良く耳にしたフレーズ、それは「Engagement(エンゲージメント)」である。直訳すると少しニュアンスが違ってしまうので,ここでは、提供したコンテンツに対してファンが自らの時間をコミットして何かしらの行動(シェアやコメントなど)を起こしてくれる、というような意味合いで理解していただきたい。実際,コンテンツを投稿してクリック数を得る事は比較的容易であり、そこから頭を一捻りさせればいけないのは、聴衆から何らかの反応を得る事であるということがプレゼンターの皆が口を揃えて言っていた事であった。

http://blog.btrax.com/jp/2012/02/19/social_media_week_san_francisco/

なぜ「Turntable.fm」はユーザーを夢中にさせるのか

上記で、「エンゲージメントループ」について書かれています。ゲーム分野で数々の著書を持つAmy Jo Kim氏が提唱した言葉

気になるマーケ用語 【エンゲージメント】【エッジランク】

エンゲージメントを”約束”、”契約”のように訳してしまうと理解が難しくなるようで、絆や繋ぎとめるなどの訳し方のほうがよさそうです。以下はTwitterについてですが、こちらも参考になります。

『Twitterのエンゲージメント率』とは?Facebookのエンゲージメント率との違いを徹底解説。

かなり用語に揺れがありそうなので、なぜ「Turntable.fm」はユーザーを夢中にさせるのか を読んでみます。

ゲーミフィケーションの基礎を理解したほうが良い

エンゲージだけで、Google検索で調べるのではなく、なぜ「Turntable.fm」はユーザーを夢中にさせるのか を読んで全体を把握したほうが理解が深まりました。Amy Jo Kim氏は、「エンゲージメントループ」を、いろいろな仕組みや用語定義をしたうえで、それを繰り返しすることで、ユーザーをつなぎとめる方法として「エンゲージメントループ」を提唱していました。

ゲームを作る際、例えば少し前の2Dプラットフォーマーだと、作成してそれがファミ通などの情報誌で知れ渡って、友達通しで面白いねで終わりました。しかし現在は、ユーザーがSNSやYoutubeでコミュニケーションできる時代なので、ゲーミフィケーションで概念や用語、問題の整理を行い、それをゲームに組み込むことで人気のあるゲームに仕上げられる可能性があるので「ゲーミフィケーション」を取り込んでいきましょうという感じなのかもしれません。

確かに「ユーザーのフィードバックを受けてより面白くする」と言葉を書くことができますが、「それじゃ、フィードバックを受けるとはどういう行為があって、またそれを繰り返してもらうにはどうすればよいか。」などはゲームプログラミングやゲームアルゴリズムとは全然別で、自分でやみくもに考えるよりも、一度「ゲーミフィケーション」を土台として取り組むことで効率よくマーケティングのとっかかりになりそうです。

 

 

インディーゲーム「イニシエダンジョン」

inishie01

インディーゲームが分からないのでいろいろ調べていたら「あなたが選ぶ今年のベストフリーゲーム」で、イニシエダンジョンを見つけました。Flashベースなのですぐにプレイ出来て、ローグライク系のハック&スラッシュでかなりはまります。

仲間を30人引き連れて、相手をボコボコにする爽快感があります。また死んだ場合に他のプレイヤーが、ゾンビ状態を撃破することで救済する仕組みがありゲームの魅力の一つとなっています。操作性もストレスがなく、無料で遊べるのはおどろくばかりです。

 

「Dungeon Souls」が面白そう

 

派手なアビリティと高難度のアクション、ローグライク要素ありのフリーゲーム『Dungeon Souls』

ゲームを作っていきたいですが、いろいろインディーゲームの情報源も調べていきたいです。automaton.amで少し前の記事ですが、「Dungeon Souls」が面白そうなので調べてみたら、いくつか賞をとっている有名なゲームのようです。

現在は、デモをindiedb.comで配布して、Steamなどで販売しているようです。 Nuclear Throne, Risk of Rain, Overtureに影響を受けているようです。確かにアイテムの表示がRisk of Rainのようです。

 

Unity5.3で始めて作ったRoll-a-Ballを配布してみます。

Unity5.3ではじめて作った記念に配布

Unity公式球転がしチュートリアル をUnity5.3で作成しました。チュートリアルには配布の仕方などがなかったので、勉強もかねて記念にロリポップで配布してみます。この球転がしゲームはzip圧縮したら44MBぐらいでした。最近はSteamなどや基本無料のオンラインゲームもたくさんあるので、ダウンロード時間に関してはこの程度の容量なら問題なく配布できそうです。

http://hajimete-program.com/games/RollABall.zip

exeファイルを作成して配布したり、WindowsStoreやAndroidへの配布は問題なさそうですがWebGLに関しては問題がありそうなので、ちょっと書いてみます。

WebGL版で3Dゲーム配布する際の問題点

普段いろんなブログやSNSなどを使うためにブラウザを使っていて、リンクをクリックすると数秒以内にそのサイトが閲覧でき、Youtube動画もすぐ再生できます。そしてこれが当たり前となっているので、WebGLのゲームをクリックして起動するまでに数十秒待たされるとすごくストレスになります。

さらに最悪な場合は、海外のサイトでぐるぐるダウンロードアイコンが回るだけでどの程度でダウンロードが完了するか分からない場合です。これはUnityの問題ではなくWebGLの仕組みの問題で、いろいろ対策はあるのかもしれませんが、分かっていてもものすごいストレスなので、現時点ではSteamやWindows StoreやGoogle Playストアのように、ユーザーにアプリをダウンロードしてもらい、それを実行することでゲームが開始されるという独立した2段階ステップで配布するほうが良いのかもしれません。

itch.ioではUnityで作った2Dゲームがブラウザーベースで配布されている

  • https://kevin-pauly.itch.io/space-eater
  • https://itch.io/games/tag-3d

海外で有名なフリーソフトサイトitch.ioで、Unityで作った2Dゲームをいくつかブラウザーでやってみました。2Dの場合は比較的容量が少ないためブラウザーでできるものが多かったです。3Dになるとダウンロード形式が多いようです。

 

Unityでoutput_log.txtを出力しない方法

unity21

メニュー->[Edit]->[Project Settings]->[Player]で、PlayerSettingsインスペクターが表示されます。ここで、User Player Logのチェックを外すとoutput_log.txtログファイルは出力されなくなります。

Unityで配布用のexeファイルを作るときに、Build and Runや自分で試しに動かすとexeファイルと同じ場所に、output_log.txtを出力します。Windows10のデフォルトだと、”C:\Users\Public\Documents\Unity Projects\プロジェクト名\ビルド先フォルダー”に出力されますが、出力先を変更した場合は、そのディレクトリー情報が、このファイルに出力される場合があります。開発者の環境のディレクトリー情報などが表示される場合があります。またビデオカード情報やディスプレイ解像度も表示されます。なるべく情報を公開したくない場合はOffにしてしまうのが良いでしょう。

 

Unityでデフォルトをフルスクリーンにしない方法

メニューから[Edit]→[Project Settings]→[Player]でインスペクターに、PlayerSettingsが表示されるので、”Default Is Full Screen”のチェックを外すと、デフォルトでWindowモードになります。また解像度指定も可能になります。

unity11

ここで、製作者の名称やログ出力の設定なども可能なようです。マニュアルも日本語であるので細かい設定が気になる人は確認してみるとよいでしょう。

http://docs.unity3d.com/jp/current/Manual/class-PlayerSettingsStandalone.html

いくつかすぐ使いそうな項目としては以下などでしょう

  • User Player Log ユーザーログ出力
  • Display Resolution Dialog 解像度変更ダイアログの非表示
  • Allow Fullscreen Switch フルスクリーンの無効化

ロリポップでWordPressのGoogle AdSenseをインストールする方法と、WAFの設定で「サイトに変更を適用できない」エラーコード「403」を回避する方法

最近のWordPressは、管理画面からGoogleアドセンスのプラグインがインストールできます。またロリポップの場合は、WAFの設定を無効化して”「サイトに変更を適用できない」エラーコード「403」”というエラーを回避する設定が必要なので後半でその説明もします。

Google AdSenseプラグインのメリット

  • マウスクリックでインストールと設定完了できる
  • PHPを修正する必要なし
  • AdSenseのサイトで広告のカスタマイズをする必要なし

上記が大まかなメリットです。Google AdSenseのアカウントさえとっていれば手軽に導入して細かな設定はすべて不要になります。まずはGoogle AdSenseを導入したいという場合に最高のプラグインです。特にPHPの設定やAdSenseのサイトで広告のカスタマイズをする必要ないのが便利です。

インストール方法

マウスクリックだけで簡単にインストールできます。まずは、管理画面のプラグインメニューから「新規追加」をクリック。

wordpress01

上部で検索入力ができるので、adsenseと入力して、エンターキー。

wordpress02

作者がGoogleのGoogle AdSenseのプラグインが表示されるので、「今すぐインストール」をクリックしてインストール完了です。

wordpress03

普通のホームページでGoogle AdSenseを使う場合は広告の細かな設定が必要ですが、このWordPressのプラグインは、広告のサイズなどはすべて自動でやってくれます。

広告の管理方法

どこに広告を配置するかの設定は、マウスクリックだけでできます。インストールすると、設定に「AdSense」が表示されるのでクリックします。

wordpress04

AdSense プラグイン画面が表示されるんので、「広告の管理」から、広告のレイアウトや細かな配置を設定できます。

wordpress05

以下の画面のように、緑の部分が初期設定で広告を表示する部分です。また緑の四角形の右上に「×」ボタンがあり、ここをクリックすることで、広告を消すことができます。また、追加したい場合は、赤いプラスボタンをクリックすれば、追加できます。

広告の配置が決まったら、上部メニューの「プレビュー」をクリックすると実際の広告が表示されます。また「保存して適用」ボタンで、設定を反映できます。ただし、ロリポップで使っている場合は、「サイトに変更を適用できない」エラーが発生する場合があります。

wordpress06

「サイトに変更を適用できない」エラーを回避する方法

ロリポップには、セキュリティを強化するWAF(ウェブ・アプリケーション・ファイアウォール)という機能が標準であります。このWAFが有効化されていると以下のように「サイトに変更を適用できない」エラーになってしまいます。

wordpress07

回避するには、ロリポップの管理画面から、

メニューの「WEBツール」->「WAF設定」をクリックして、

wordpress08

「無効にする」ボタンをクリックすれば、この問題が回避できます。

wordpress09

設定が終わったらまた有効化しておいて問題ないはずです。

これで、無事にロリポップ上で、WordPressのGoogle AdSenseプラグインでアドセンス広告が使えるようになりました。

 

 

Google Adsense Managerでエラーが出た時の対処法 エラー コード「403」

「はじめてのUnity」をリリースしてみましょう。

公式サイトのチュートリアルではリリース方法が書かれていませんでしたが、WindowsまたはWebGL版を配布する方法は簡単です。メニュー->File->Build Settings…を選択すると以下ダイアログが表示されるので、”Add Open Scenes”ボタンで現在のシーンと追加し、”Build”ボタンでビルドします。

unity02

unity03

実際にWindows x86版とWebGL版をリリースしてみました。WebGL版はFlashゲームなどに比べるとちょっとダウンロードに時間がかかりそうです。