2014年7月PCブラウザで無料で遊べるゲームを公開しています!ここ数ヶ月、絶賛スランプ中でスマホアプリのリリースが滞っているのですが、肩ならし的にPCブラウザで遊べる無料ゲームを作って公開しています。こちらのサイトで公開させてもらってます。WebPlayerというプラグインのインストールが必要になりますが、画面に指示が出るはずなので難しいことは無いと思います。・ゾンビ・ヘッドショット「迫り来るゾンビを倒せ!ゾンビを倒せるのはヘッドショットだけだ!」ひたすらヘッド・ショットのみを狙ってゾンビを倒すゲームです。マウスボタン押下中はズームアップしていき、最大ズーム時にボタンを離すと射撃します。マウスで左右にドラッグで方向転換、上下で加速/減速します。映画版『ナウシカ』において庵野秀明氏が作画した巨神兵が王蟲にプロトンビームを発射するシーンに感銘を受けて作ってみました。クリックしたところに砲撃。ドラッグすると連続砲撃できます。4.5.2f1製作中のゲームで海面に大量のブイを並べて配置したいのですが、手作業ではとても無理なのでエディタ拡張を利用して、一定間隔でGameObjectを複製して配置する機能を作ってみました。エディタ拡張で間違ってる部分もありそうなので、ご意見など頂けたら幸いです。(@mokusan)先ず完成イメージは以下。このように必要なパラメータを設定して「Create」を押下すると、先に挙げたゲーム画面のようにブイが一定間隔で配置される。・エディタ拡張用のスクリプト「Editor」という名前のフォルダ配下に置く必要がある。Resourcesと同様で他のフォルダを掘って、その下に「Editor」フォルダを配置しても大丈夫。(スクリプト”CreateBuoys.cs”の内容全文はこの投稿の最後に掲載しておきます。通常のUnityEngine以外にUnityEditorを指定しておく。Other/”配下を指定することで、Hierarchyビューの「Create」のメニューにも追加される。Buoys」が選択された時に専用のウィンドウを表示する。必要なメンバ変数を定義し、OnGUI()内で記述する。{}}通常のOnGUI()でGUIを作るのと同じ要領だが、EditorGUILayoutのパーツが使える。詳細はリファレンスを参照。Selection.gameObjects[0];}ウィンドウ表示時に自動で呼ばれるメソッド。Selection.gameObjects[0];Repaint();}選択内容の変更時に自動で呼ばれるメソッド。intervalX;}}普通にInstantiate()すれば、Hierarchyに追加される。この際、Undoを設定しておくことにより、後で取り消しができる。(66行目)Editor拡張を利用したのは初めてだが、食わず嫌いだったと反省している。Unityで新規にGameObjectを作った時にHierarchyのトップに作成されてしまうというのは、良く聞く不満だが、Editor拡張を使えばその辺りも何とかできそうだと言うのが分かった。この方法で何らかの問題が発生しても当方では責任を負いかねますので、各自の責任の元に実行して頂きますようお願い致します。数日前からiPhoneのバックアップが出来ずに、以下のエラーが表示されるようになりました。バックアップはiTunesの「環境設定...」を開き、「デバイス」タブから削除できます。バックアップを一旦削除した後は、正常にバックアップを取れるようになりましたが、削除する前に念のため元のバックアップファイルの退避を行っておいた方が良いでしょう。moku[Unity]:スクリプトからシェーダの変数にアクセスする先ほどのエントリで、ノーマルマップのオフセットにアクセスする方法でつまづいたので追記。offset);}}マテリアルのInspectorの「Shader」右側にある「Edit...」を押下。↑組み込みシェーダの場合。それ意外の場合はエディタでシェーダのソースが表示される。Shader」を選択。Normalmap」の表記があり、ノーマルマップにアクセスするためには「_BumpMap」という変数名を使用すれば良いことが判る。Assetsに入っているWater(Basic)ではしっくり来なかったので、以下の無料アセットに含まれている水のテキスチャ(ノーマルマップ付き)を利用。GamesPlaneなりCubeなり、水面にしたいオブジェクトを用意して、それに上記アセットに含まれているマテリアル「proto_water」を適用。このままでは動きが無いので、テキスチャのオフセットをずらして動く水面を表現する。以下のスクリプトを作成して水面オブジェクトにアタッチする。offset);}}マテリアルのテキスチャのオフセットを取得して、x,yそれぞれずらして再セットする。ノーマルマップの方にも同じオフセットをそのままセット。xに関しては-0.01〜0.01の範囲を約3.14秒間で往復する。周期を変えたい場合はMathf.Sin()に与える引数を調整すると良い。揺れ幅を変えたい場合はMathf.Sin()に掛けている0.01fの値を調整すると良い。yに関しては毎フレーム0.001fずつ手前にずれるようにしてある。本来ならdeltaTimeを使って調整すべきかもしれない。必要無いかもしれないが、Mathf.Repeat()を使って、0.0f〜1.0fの間に収まるようにしている。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。