Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2016.01.18今回はUnityでゲームを作る前に、Unityでキャラクターを動かすのが結構簡単に出来てしまうという事を見ていきましょう。キャラクターを操作する為には、3Dのキャラクターモデル3Dのキャラクターにボーンが設定されている3Dのキャラクターのアニメーションキーボードを押した時に移動する為のプログラムが必要になりますが、もうこれを考えるだけで疲れちゃいますね・・・。!Unityではこれが5分とかからず出来てしまいます。わたくし一人だったら一生かかっても最初から出来ません、作れません・・・・。スポンサーリンクUnityでのキャラクター操作に5分かからない理由とは?キャラクターを動かすまでに5分とかからない理由はそれらがすでに用意されているからです。それがアセット(資産)という仕組みです。アセットは3Dキャラクターや音声、スクリプト等があり、有料or無料で使用出来ます。Asset)で用意されているのでそれをインポートするだけです。キャラクターのインポートと操作をやってみる下の画像を見てください。Package→Charactersを選択します。すると下の画面がポップアップで表示されるので「Import」をクリックします。最終的に上のようにProjectウインドウのAssetsの表示エリアにインポートしたCharactersを含むStandardAssetsのフォルダが表示されます。これでキャラクター操作に関してのAssetがインポート出来ました。asset」等で検索して出てきたアセットをダウンロード&インポートするという方法もあります。それではキャラクターをシーンに設置して操作してみましょう。シーンとは場面でありここにキャラクター等を設置しゲームの世界を作っていきます。プロジェクトはゲーム全体、シーンは個々の場面という感じです。プロジェクトの中にいくつものシーンを組み合わせて作成していく事でひとつのゲームが出来上がります。タイトルのシーン、ゲームのシーン、ゲームオーバーのシーンを組み合わせて1つのプロジェクトになります。インポートしたキャラクターをシーンに設置してみます。フォルダを次のように辿っていきます。Assets→StandardAssets→Characters→ThirdPersonCharacter→Prefabsその中のThirdPersonController.prefabが3Dキャラクターにアニメーションやスクリプトを設定済みであるプレハブ(オブジェクトみたいなもの)になります。正しくはプリファブ?(^_^;)上画面のようにThirdPersonController.prefabをシーンにドラッグ&ドロップして配置をします。シーンに配置をする事でそのプレハブがインスタンス(実体化したもの)となります。設置したインスタンスの名前を「takasi」と変更しておきます。オブジェクト指向言語を勉強した方はオブジェクトやインスタンスという用語はよく見聞きしていると思いますが、オブジェクトがひな形でインスタンスは実体となります。オブジェクトはひな形なので同じものを大量生産する時に便利です。人間というプレハブ(オブジェクト)があってそれをシーンに設置して「たかし」という名前を設定するとたかしはインスタンス(実体)となります。その為、人間プレハブをもうひとつシーンに配置すると「たかし」とは別のインスタンスになります。上の画面のようにUnityの再生ボタン(プレイボタン?)を押してみましょう。ゲームのテストプレイが出来ます。・・・・、キャラクターが表示されたと同時にグングン下に落ちていきます・・・底なし沼へ・・・・。これはThirdPersonController.prefabに重力が設定されているからです。普通の人間であれば重力がかかるのは当たり前なので、問題があるのは地面がないことです。いうわけで地面を作ります。Object→Cubeを選択し床を作成します。すると上画面のようにキャラクターに重なるように四角形の箱が表示されます。Cubeという名前で表示されているので、名前を「yuka」と変更します。名前の変更の方法は変更するアイテムを選択し→右クリック→Rename変更するアイテムを選択し→F2キーを押すの二通りの方法があります。お好みの方法で名前を変更してください。「yuka」は地面として設置したいので人間より大きく、そして下に表示するように変更します。その為に「yuka」を選択しそのインスペクタを見て値を変更します。インスペクタで数値を指定する方法の他にSceneタブのゲームオブジェクトを選択している状態でオブジェクトをドラッグで全方向に移動させたり、表示されている色つきの矢印をドラッグする事でその軸の方向にだけ移動する事も出来ます。オブジェクトの移動方法に関してはUnityを起動後の画面を細かく見てみるUnityを起動後の画面とメニューを細かく見ていき、それぞれのメニューでどんなことが出来るのかを学んでいきます。gametukurikata.com2016.06.19も参照してください。上の画面と同じようにPositionのYを-2ScaleのXを10、Zを10に変更します。これでSceneの画面を見ればわかるとおり「yuka」の上にキャラクター「takasi」が表示されます。Z:0となっています。Xは横軸、Yは縦軸、Zは奥行きを表しています。Unityでの前方はZ軸の正の向きになります。値は現実世界のメートル、つまり1であれば1メートルという事になります。これでキャラクターと地面の設置と設定が終了しました。プレイボタンを押して試してみましょう。Wで移動、Spaceキーでジャンプの操作が出来ます。(設定をいじっていない場合)上画面のように(宙に浮いていて画面上は動いてないけれど・・・)床の上をキャラクターが動き回る事が出来ます。床を外れると底なし沼に落ちるのは床がない時と同じです。Unityを使ってみて思う事わたくしがUnityで初めてこれらを試した時は「すご!」と思いました。3Dゲームを作ること自体がものすごくハードルが高くて自分には無理と思っていましたから・・・。無料でここまでの事が簡単に出来てしまうんですねぇ・・・(^^)/。ここまでのプロジェクトとシーンを保存しておきましょう。Project」を実行で保存出来ます。シーンはAssetsフォルダに保存されます。ゲームを作っていくといろいろなファイルが増えてくるので、ファイル管理もフォルダを作って、しっかりとやっていったほうがいいです。フォルダの作り方は上画面のようにProjectタブのAssetsフォルダで右クリック→Create→Folderを選択します。作ったフォルダの名前を「scene」に変更して、先ほど保存したシーンを「test1」として保存し、ドラッグしてsceneフォルダ内に移動させておきます。次回は当たり判定に関して何か書くかもしれません。操作Unityエディタ起動後の画面が常に2D表示になってしまう対処法Unityのエディタ起動後の画面が常に2D表示になってしまう人はいませんか?2Dゲームを作っているならいいけど、3Dゲーム作っているのに2D表示になって、毎回3D表示に切り替えるのは面倒くさいのでその対処をします。操作UnityのEditor操作で使うと便利な事Unityのゲーム開発をする時にEditorの操作で使うと便利な事をいくつか挙げてみました。ゲーム開発をする時に必ず必要ではないですが、使うと効率良く開発が出来るようになると思います。操作Unityで木が風になびく機能を追加するUnityに設置した木が風で揺れるようにします操作Unityを起動して、画面を大まかに見てみるUnityを起動して表示される画面についての説明。どこで何をするかを覚えていきます。Matrixでレイヤーそれぞれの接触判定の設定をしていきます。Unityを起動して、画面を大まかに見てみるUnityのアセットストアから無料の3Dキャラをインポートするホーム操作スポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。