サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.cho-design-lab.com
当たり判定を行っていると、衝突を検出する組み合わせを意識することがあります。これをPhysicsを利用した判定ではスクリプトではなくUnityのエディタ上で設定することができます。 はじめに ゲームを制作していると、例えば「ステージが背景と前景にわかれていて、背景の敵にダメージを与える弾と、前景の敵にダメージを与える弾を別にしたい」や「障害物にプレイヤーが接触すと進めないが、弾は通常どおり進む」などと当たり判定でも様々な条件がでてきます。これらはスクリプトですべて制御することもできますが、Unityが用意している仕組みを使ったほうが変更も容易です。 これらを実現するには「レイヤー」という仕組みを利用します。ペイントソフトなどで頻繁に用いるレイヤーと同じ概念ですが、Unityのレイヤーでは、レイヤーの分け方が柔軟で利用者に委ねられているところが大きいです。 公式のリファレンス・マニュアルの方
このように、最初の”/”はHierarchyの一番上の階層を示し、「親/子」で親子関係を表します。 深さ コンピュータでこのような構造(ツリー構造)を表すとき、根(root)が最も浅く、子 は深さと表現します。孫、ひ孫となるとどんどん深くなります。上図ではrootオブジェクトにはParent、その下にChildと子供が連なっています。rootオブジェクトが最も浅く、Childオブジェクトが最も深いオブジェクトとなります。 名前からオブジェクトを取得 Unityでオブジェクトを検索し、取得する一番簡単な方法は、GameObjectクラスにメソッドとしてまとめられています。 http://docs-jp.unity3d.com/Documentation/ScriptReference/GameObject.html GameObjectクラスの以下のメソッドを利用します。 GameObjec
UnitySteerとはGameObjectに対して状況にあわせた振る舞いをさせるためのAssetです。日本語ドキュメントはおろか、ドキュメントが公式にも存在していないようです。今回は、Youtubeで唯一と言っても良い導入動画に沿って導入の説明をします。さらにこの動画ではあまり効果が確認できませんので、若干の変更を加えて少し動きを複雑にしてみます。 UnitySteerはCraig Reynolds氏が開発している「Open Steer」をUnityのAssetと作成したものです。詳しくはこちらのサイトで解説しています。 ゲームは初心者にやさしく: Unity AIの実現にUnitySteerを活用する~その1 http://gamesonytablet.blogspot.jp/2012/10/unity-aiunitysteer_15.html UnitySteerはArgres sy
ユニティちゃんはAssetStoreからダウンロードしてください。 ちなみに、MacOSXで作業していますがWindowsでも同じ工程が再現できるはずです。若干UIが違いますがその辺りは自分でなんとかしてください。 あると便利なもの 今回ダミーのモデルとして「MakeHuman」という人体モデル生成ソフトを利用しました。必要であればご利用ください。 Makehuman | Open source tool for making 3D characters http://www.makehuman.org/ BlenderでRigのセットアップ Unityでキャラクターモーションを割り当てるMecanimという便利なシステムがあります。このMecanimで利用できるようにCGソフトウェア側である程度、キャラクターの変形に利用するボーンの構造を定義しなければなりません。そこで今回はBlende
Unityでよく使う素材は、パッケージにしておき、必要なプロジェクトで読み込むことで再利用することができます。また、便利なパッケージを作成しておけばインターネットで公開して共有することができます。またインターネット上には便利なパッケージが公開されているので、それらを利用するのも良いでしょう。そのための「パッケージの作成」と「パッケージの読み込み」を紹介します。 様々なプロジェクトで共有したい部品が一つ以上集まったら、パッケージを作成できます。今回は例としてハンマーをパッケージにしてみます。 Projectウインドウで右クリック 「Export Package…」をクリック 書きだす素材にチェックを入れる 保存場所を指定し、パッケージ名を指定して保存 以上の工程でパッケージを作成することができます。作成したパッケージの拡張子は「.package」となり、一目瞭然です。このパッケージファイルを
Unityでスクリプトを使って、ゲームを制作する第一歩として必ず知っておかねばならない”リファレンスの読み方”を簡単に説明します。残念ながらスクリプト言語のお話はしませんので、あしからず。 C#を知らない人へ C#を解説するのは本ページの趣旨から離れますので割愛します。が、やはりそれでは不親切なので、以下のスライドが非常によくできていますので、参考までにどうぞ。ただし、プログラミング経験者である必要があります。 生成されたスクリプトを理解する UnityのAssetにスクリプトファイルを生成すると、すでに雛型が用意されています。この雛型が何をしているのかがスクリプティングの第一歩です。以下が生成したスクリプトです。今回は「ExampleScript」というスクリプトファイルを生成した結果です。 using UnityEngine; using System.Collections; pub
PHPはインストールされていること。 今回はMacOSX上で環境構築を行いましたが、CentOSを利用し、まったく同じ構成で実際にサービスを走らせています。Windows上ではcronに準ずるような、定期的にコマンドを実行するようなソフトウェアを利用できれば、同じような処理が可能になります。少し探したら、以下のサイトがみつかったので、これを参考にすれば出来るような気がします(確かめてません) 準備 FuelPHPのインストール 以下のページからFuelPHPをダンロードします。執筆時の最新は1.7.1でしたのでこれを利用しています。 FuelPHP » A simple, flexible, community driven PHP5.3 framework. http://fuelphp.com/ ダウンロードが終了したら、zipファイルを解凍し、任意の位置に配置します。フォルダ名を「t
整数の場合 整数型の場合、引数は2つになります。指定桁数より、実際の数値の方が大きい場合、数値の桁数が優先されます。 int i = 10; // 整数を宣言・初期化 int [] iarray = {10,20,30}; // 整数配列を3つの値で宣言・生成・初期化 println(nf(i,5)); // 数値の桁が指定桁より小さい場合 ptintln(nf(i,1)); // 数値の桁より指定桁が小さい場合 println(nf(iarray,5)); // 配列の場合 00010 10 [0] "00010" [1] "00020" [2] "00030" 実数の場合 整数型の場合、引数は3つになります。整数部分指定桁数より、整数部分の数値の方が大きい場合、数値の桁数が優先されます。小数部分の桁数が数値の小数部分より、精度が劣るときは四捨五入されます。 float f = 10.5
UnityのAsset Storeウインドウを開き、「itween visual editor」で検索すると、候補に上がりますので、該当ページを開きインポートしてください。この時、ログインを求められる事がありますが、Unityを初回起動した時のアカウントでログインしてください。以下はwebブラウザ用のページを参考までに挙げておきます。 Asset Store https://www.assetstore.unity3d.com/#/content/180 インポート画面がでたら、すべてインポートしてください。 インポートが終了したら、メニューの「Component」->「Script」->「iTween」、「iTween Event」、「iTween Path」が追加されていれば導入成功です。 使い方 iTweenの使い方は素晴らしい解説ページがありましたので、そちらを参照してください。ま
スクリプトから、他のスクリプトを参照したくなることがよくあります。今回はそのような場合にどのように参照するかを簡単に説明します。 スクリプトとは そもそも制御用のスクリプトはどのような位置づけなのか。とても簡単で、「MonoBehaviour」を継承したクラスであるということです。詳しくは以下のページを参照してください。 [Unity]スクリプティングを始めるにあたって-継承- 上記のページの解説にあるとおり、MonoBehaviourはComponentクラスを継承した、コンポーネントであり、MonoBehaviourを継承した自作クラスもまたコンポーネントであるということです。つまり、オブジェクトに付加された指定したコンポーネント(スクリプト)を取得すれば自在にスクリプトを参照できるというわけです。 コンポーネントの取得方法 コンポーネントを取得するためには、Componentクラスに
Webサーバに対して、Processingで画像を送信し、保存しなければならなくなり、今回はやっつけで作ったProcessing側の処理をまとめてみます。 概要 今回は、クライアント・サーバ型のプログラミングをします。サーバはwebサーバで、クライアントはProcessingです。Processingは画像をwebサーバに送信し、webサーバは何らかの応答(レスポンス)を返します。 今回は、webサーバ側ではPOST処理で送られてきた画像を保存する機能が既に用意されているものとします。検索すると数多くのサイトがヒットするのですが、シンプルに以下のサイトが参考になるのではないでしょうか。 ファイルのアップロード | PHP Labo http://www.php-labo.net/tutorial/php/upload.html 本題に戻りまして、Processing側では、以下の様な手順で
JSONのデータの読み込みをMiniJSONを利用して行います。 JSONとは 以前説明しましたので、下記のページの同名の章を参照してください。 [Processing] JSONの読み込み書き込み MiniJSON利用準備 今回はMiniJSONというC#で書かれた、軽量なJSONパーサを利用します。MITライセンスです。 インストール MiniJSONを以下のページからダウンロードします。 https://gist.github.com/darktable/1411710 上記のページの「Download Gist」ボタンを押し、圧縮ファイルをダウンロードします。ファイルを解凍し、ディレクトリ中の「MiniJSON.cs」を取り出します。 ProjectウインドウのAsset内に「Plugins」というディレクトリを作成し、このディレクトリにMiniJSON.csをコピーする 以上で利
Processing2.0が正式されました。ベータ7以降のいつかわかりませんが、JSONの読み込み書き込みがサポートされたので早速利用してみました。手軽にファイル入出力をするのに便利です。 JSONとは 人にもコンピュータも読みやすい軽量のフォーマットです。詳しくはオフィシャルのページをどうぞ JSONの紹介 http://www.json.org/json-ja.html このフォーマットの特徴は、 名前/値のペアで表記される、連想配列のような構造 カンマで区切られたリスト(配列)のような構造 この2つで表現できるところです。 オブジェクト オブジェクトは中括弧({ , })で囲み、中の要素は文字列/値で表現します。複数の要素を利用する場合は、カンマで区切り、続けて記述します。 { 文字列:値, 文字列:値, . . 文字列:値 } 配列 配列は大括弧([ , ])で囲み、中の要素を値の
KinectはMicrosoftがゲーム機XBox360用に販売している、身体情報でゲームを操作するシステムです。その他のコンピュータ用のKinectも発売され、SDKも提供されています。ですが、今回はxbox360用Kinectから身体の情報を取得し、Unityでその情報を利用するために、Zigfuを導入しました。今回はMacを利用していたので、Mac版の導入方法をまとめます。 Zigfuとは Zigfuは簡単にKinectのセンサーを利用したアプリケーションが構築できるようにされたライブラリ群です。特徴は、Unityだけでなくhtmlとjavascriptでブラウザのみの環境でも実行できる点です。Flushにも対応予定のようです。 Zigfu – Kinect Development in HTML, Unity3D and Flash http://zigfu.com/ ドライバの導
このページを最初にブックマークしてみませんか?
『www.cho-design-lab.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く