「次のアドベンチャーゲームは画面の向こうだ」 "ソードアート・オンライン" プロデューサーら豪華スタッフキャストが集結。 360度の広がりを持つ空間で紡がれる、未体験のVRミステリーアドベンチャーゲーム。 目の…
マテリアルを作成し、メッシュへ適用した状態です。メッシュ全体に画像が貼り付いています。 UVの値を変更すると、画像の任意の場所を貼り付けることができます。 ※ Unity3D:メッシュの頂点とUVとポリゴン(1) の続きです UV値を変更するために、以下のスクリプトを作成しました。 using UnityEngine; using System.Collections; public class ChangeUV : MonoBehaviour { void Start() { MeshFilter meshFilter = gameObject.GetComponent<MeshFilter>(); Vector2[] newUV = new Vector2[4]; newUV[0] = new Vector2(0.5f, 1.0f); newUV[1] = new Vector2(0.
スプライトアニメーションを行おうと思ったら、概ね2つの方法が考えられる。 一つは「テクスチャを差し替えてしまう」方法、もう一つは「テクスチャのUVを変化させる」方法だ。 ぶっちゃけ簡単なのは「テクスチャを差し替える」方法で、実際殆どの人はこの方法で問題ないと思う。が、もっとガチで作りたい場合は後者となる。 で、スプライトのUV座標を変化させる方法でよく紹介されているのはマテリアルの値を変化させる方法だ。これなら簡単にUVアニメーションを行ったり背景スクロールを行う事ができるが、一つ問題がある。 というのも、Unityはマテリアルの値を変更するとマテリアルインスタンスを新規で作り、それを変更する。つまり、オブジェクト毎にアニメーションを行う場合はマテリアルインスタンスがオブジェクト毎に生成され、ドローコール=オブジェクトの数となる。 【Unity】ゲームエフェクトで必須テクニック1 UVアニ
闇金業者の悩みといものはとても深刻なものですが、お金が関係することだからこそ、誰にも相談することができないまま余計に苦しい思いをしているという人もたくさんいるですよね。 また、他の人に相談するにしても、闇金業者に対する厳しい世間の目があり、またそういった所から借金をする人へも、自己責任という目で見られてしまいがちなだけに、よけいに人に相談が出来ずに苦しい思いをしている方は数多くいます。 闇金業者とは、1度でもそこからお金を借りてしまえば、とてつもなく高い利子のため、返済が厳しくなり、1度でも滞ってしまうと元金が減るどころか、利息でさらに借入金が膨れ上がってしまうのです。 こんな状況になってしまうと、借金を返すことは不可能になってしまい、どうすることも出来ずヤミ金業者の督促に怯える日々を送ることになってしまうでしょう。 そこで、そのような状態に陥ってしまい、誰にも助けを求められなくなった時に
「ゲームを作れるようになりたいのですが、どうすれば良いですか?」と以前聞かれたので、 「ゲームを作りたい人向け」に思ってることをまとめてみようと思う。 また、下の記事が非常に良い内容だと思う。まだ読んだことのない人は是非に。 25 歳くらいのゲームプログラマの人がやるAdobe AIR を使った比較的真っ当なゲーム開発 特に「1. 覚悟を決める」と「2. 知ることは簡単ではないことを知る」と「10. 人に見せる」の項目は是非読んで欲しい。【Unity】素人が7日間クソゲーを作り続けてわかったこと 7日間クソゲーを作った話。 センスが半端ない なお、今回はUnityで話を進める。 Unity以外の場合はHSP3やenchant.jsをお勧め。 とにかくセットアップが簡単で成果物が即見れるものが良い。 逆に導入手順が必要なものやウィンドウを出すのに色々と手間が必要な物は 最初は止めておいた方が
UnityでRPGを開発する上で、最初に当たる問題が「移動」に関する問題だ。キャラクターを動かす事は(Transformを直接変更したり、CharacterControlを使ったりRigidbodyに色々したりして)難しくはないが、「障害物に突っ込まない」とか「崖の下に落ちないようにする」といった挙動を実現する場合は厄介だ。 特に「落ちないようにする」を実現するのは若干面倒で、方法こそ色々とあるがどれも地味に面倒くさかった。見えない壁を配置する地面に(例えば6本の)Rayを常に飛ばすそもそも落下地点に移動出来ないようにする(ブロック単位の移動) が、気づいたら(4.2より)NavmeshがUnity無料版でも使えるようになったので、それをつかって実現してみようと思う。 Navmeshについて ナビゲーションメッシュ(または Navmesh と呼ばれる)はゲーム世界の物体の簡素化された表現で
Unity3.5の新機能、「NavMesh」に挑戦するヨ! その2 前回まででマップとキャラクターの下準備が出来たので、Navmeshの機能を使っていくヨ! ■キャラクターの移動範囲を設定(NavmeshをBake) キャラクターの移動範囲を設定。 この範囲で設定した範囲内をキャラクターは移動することになる。 今までは、この作業を手作業で行なっていたらしい。 (もしくはAIが判断?マップチップで探索?どちらにしても資産がなきゃ大変) さて、どうやってやるのか。 Windowを選択し、Navigationをクリック。 するとInspectorの隣にNavigationタブが表示されるので、Bakeをクリック。 ちなみにObjectの隣にあるBakeは、マップの詳細設定が出来るらしい。 ジャンプ距離だったり、落下可能かどうかだったり、あと登れる傾斜角度の設定だったり。 まあ実行されると、マップ
Unityでは複数のカメラを設定できる。 複数のカメラを使えれば色々と便利。 ■カメラの描画順 カメラの描画順は、基本的にはCameraコンポーネントの[Depth]で設定する。 この設定が大きい順に描画されるので、優先度の高いカメラは大きくする。 カメラの背景色は[Clear Flags]で設定する。 ここに[solid color]や[sky box]を設定すると、次のカメラが描画されない。 逆に[depth only]を設定すると、オブジェクトがある部分だけ表示される。 ちなみに、[normalized view port rect]で、画面に対するカメラの大きさを設定できる。 大きさは1が100%。つまり、Wとhを0.3みたいにすれば、サブモニターみたいな扱いをすることもできる。 厄介なのは、大きさが[%指定]って所。 例えばウィンドウの中身をサブカメラで撮影・表示しているとき、
Gizmo とはモデルの位置や向きを示すアイコンの事です。 Unity の Scene ビューの右上に表示されるこの様な3Dアイコンやオブジェクトを選択した時に赤と青と緑の矢印で構成されている3Dアイコンなどが Gizmo です。 この様なアイコンはモデルの位置や向き、サイズの変更をするのに便利で有るため、 Unity 拡張でツールを作成した時などに必要に応じて Gizmo も一緒に準備して置くと操作性が向上します。 例えばレースゲーム用に車道を生成するツールを生成した時にそのルートを指定する時などに Gizmo を準備しておくと簡単にルートの微調整が可能になります。 Unity では以下の様な Gizmo が使用可能です。 【DrawRay】 【DrawLine】 【DrawWireSphere】 【DrawSphere】 【DrawWireCube】 【DrawCube】 【DrawI
今回のサンプルではマウスカーソルの位置に存在するオブジェクトをチェックし、オブジェクトが存在する場合はそのオブジェクトをちょっと大きくするサンプルとなります。 マウスカーソルでオブジェクトを選択には以下の様に Physics.Raycast() を使って行います。 【SelectedWithMouseScript.js】 static var selectedGameObject : GameObject; function Update () { var ray : Ray; var hit : RaycastHit; ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, hit, 100)) { selectedGameObject = hit.collider.gameObj
連休中、ゲームで遊んでばかりでほぼ進んでいませんでした。反省。今日からまた頑張ります。 前回の記事のまとめです。シーンをまたぐ変数はprefabに変数を登録させるようにし、その呼び出しはResources.Loadを使うというものです。 Resources.LoadAssetAtPathでも同様なのですが… 公式:Resources.LoadAssetAtPath 試してみたところ、webPlayerに対応していませんでした。UnityAnswersに 公式:Resources.Load Resources.Load使えばwebでもいけるよ、と載っていたので試したところ、上手くいきましたのでこちらがおすすめ。違いはResources.Loadは文字通りResourcesフォルダに入れなければならないってことです。(Resourcesからの相対パス) まず、座標xyzを保存しておく単純なスク
ちょっとハマったので備忘メモ。 ■ エラー1 Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually! ↓ Plane にrigidBodyを適用したときに出る。 原因は、Mesh Collider がPlaneに使われているから。 Mesh Collider を外して、他のColliderに入替えれればOK。 ※Planeに限らず、MeshColliderを適用しているオブジェクトはチェック ■ エラー2 BCE0018: The name '[LoadImage]' does not denote a valid type ('not
前回のおさらい&今回の目標 おはようございます。深キョンが好きなのか、はたまたミンカが好きなのか…どちらかを決めきれない罪な漢(おとこ)、智史之介です。 今日も元気にUnityに関する勉強を行おうと思います。 前回は「Android向けのビルド」を試してみました。 迂闊なAndroidSDKのバージョンアップで痛い目を見たのはいい思い出です。 (どうやらUnityのアップデート(ver4.1.4)が入り、この問題は解消されたみたいですね!) 今日は「シーンの切り替え」に関してちょっと試してみようかななんて思っています。 シーンの切り替えとは? 例えば、そうですね、ドラクエで言えば「街から出てフィールドに入る」とか「フィールドで敵に遭遇する」とかでしょうか? 画面が、バーッってまったく別の描画系統で表示されるやつです。 そうそう。こんな感じの切り替えに関してです。 こういったシーンの切り替え
Unityでシーンを作るのに手っ取り早く建物が欲しい。そういう時はGoogleのSketchUpを使うのが多分一番簡単。 Googleの3DギャラリーでSketchUpで作ったモデルが大量に公開されていて簡単に取り込める。 SketchUpにはフリー版とプロ版があって前者でエクスポートできる形式はCollada(.dae)のみ。 困ったことに.daeで出力してUnityでインポートしても何も表示されない。 いろいろ調べると他の人も同様の症状のようだ。 http://answers.unity3d.com/questions/165513/importing-sketchup-colladadae-into-unity.html http://forum.unity3d.com/threads/38643-a-plea-for-SketchUp-Collada-support-(again)
.NETのC#で乱数を表示させようとする場合、Randomクラスを使うのが一番カンタンそうだけど、 (それでもシード値を変えなきゃいけなかったりとか、厳密さを求めだしたら面倒だ。。。) UnityではRandomクラスは当然.NET FrameworkのSystemではなく、UnityEngineの中にあるため、 .NET用のサンプルコードをコピペしても、「"Next"なんて知らないわよ!!」等と怒られてしまう。 じゃあUnityではいったいどうすればいいのかとリファレンスを読んだら、 あまりにも簡単過ぎて腰を抜かしそうになったので、メモとばかりに残しておきます。 Random.value …これだけ。 これだけで0から1.0までのfloat型の数値が返却されます。 配列の中身をランダムに取り出す…とか、ランダムな数値の範囲を絞りたい場合は Random.Range (x, y) と書けば
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く