サイト内検索

用語検索や評価テストのお供 にどうぞ!
空の検索で57件の結果が見つかりました。
- 3Dアクションゲーム編 Lesson0「Unityをインストールしよう」 | Unity1gc2
3Dアクションゲーム編 Lesson0 Unityをインストールしよう 0-1 そもそもUnityって何? 0-1 そもそもUnityって何? ゲームプログラミングでも少し触れましたが、改めてUnityについて解説します。 Unity(ユニティ)とは、ユニティ・テクノロジーズ社が開発・運営をしている「ゲームエンジン 」です。スマートフォンゲームでよく使われています。世界的にもトップクラスのシェア率を誇る超有名なゲームエンジンです。 使用例:FGO、原神、ウマ娘 プリティーダービー、白猫プロジェクト、Fall Guys、Pokémon GO、Super Mario Run など Unityでは今までと違ってC#(シーシャープ) というプログラミング言語を用いて制作を行います。今まで使ってきたのはC++ですが、それを元にした別の言語と考えてください。違う言語と聞いて萎縮するかもしれませんが、変数の定義(intなど)やif文、for文などは今まで通り使えます ので心配しなくても大丈夫です。今までのC++の勉強もそのまま役に立ちますので、困ったときはC++の教科書も見返してみましょう。 この教材の前提知識についてまとめているページ もあります。「C++は自信ない…」という人は復習しておいてください。 制作を始める前に、一番優秀なUnityの先生をご紹介します。 Google先生です。 (他の検索エンジン派だったらごめんなさい) 今まではKBCのローカルなエンジンであるk2Engineを使用していたので、検索しても適切な答えが得られなかったことも多いと思います。ですが、Unityは世界中でよく使われているエンジンなので、インターネット上にたくさんの情報があります。 実装したい処理があったら「Unity (実装したい内容)」で検索すれば大抵出てきますし、エラーも「Unity (エラー文)」で検索すれば同じ質問をしている人が見つかります。 たまに英語の文も出てきますが、それも翻訳に突っ込めばOK!「Unityに関してわからないことがあったらまず検索!」 を覚えておきましょう! Unity Tips! 0-2 Unityをインストールしよう 0-2 Unityをインストールしよう まずはUnityをインストールして制作環境を準備しましょう。すでにUnityのインストールが終わっている方は飛ばしてください。 Unity Hubのインストールだけが既に終わっている方は、Unity Hubを開いてアカウント作成から開始してください。 「Unity ダウンロード」で検索、または以下のURLからUnityのダウンロードページを開きます。 URL→https://unity3d.com/jp/get-unity/download サイトを開いたら「Unity Hubをダウンロード」を選択してください。 Unity Hubをインストールできたら開いてみてください。 Unity Hubは複数バージョンのUnityやプロジェクトを管理するためのツールです。 セットアップでは特に設定することはありません。道なりに進んでください。 インストールが完了したらUnity Hubを開いてください。 Unityのアカウントがありませんので、まずはアカウントを作成します。 「Create account」を選択してください。 アカウント作成ページが開いたら、必要な情報を入力してアカウントを作成してください。 Email …アカウント作成に使用するメールアドレス Password …アカウント作成に使用するパスワード Username …Unity内でのニックネーム(英語) 他人と重複不可 公開されるので注意 FullName …フルネーム なんでもいいと思います 入力ができたら「Create Unity ID」を選択してください。 Emailに入力したアドレスへUnityからメールが届きます。 「Link to confrim email」を選択してアカウントを認証してください。 これでアカウントの準備は完了です。 Unity Hubに戻って、先ほど作成したアカウントを使ってサインインをしてください。 ※ サインインがうまくいかない場合「Remember me」のチェックを外すとうまくいくことがあります サインインができたらUnity Hubが開きます。 英語のままでは読みにくいので、言語設定を英語から日本語に変更しましょう。 左上の歯車をクリックしてください。 「Appearance」を選択して言語をEnglishから日本語に変更してください。Unity Hubが日本語化されます。 以降の説明は日本語化したUnity Hubを用いて行います。 Unityを使用するにはライセンスが必要です。次はUnityのライセンスを取得しましょう。 右上の「ライセンスを管理」を選択してください。 ライセンスを追加します。 Personal(個人向け)ライセンスを選択してください。 このライセンスはUnityの使用に関連して得た過去12ヶ月の収入、収益や調達した資金が10万米ドル(約1000万円)以下のユーザーが無料で使用できる ものです(「俺はUnityで超稼いでやるぜ!」という方以外はこのライセンスで十分だと思います) これでようやくUnity本体をインストールできるようになりました。 「エディターをインストール」を選択してください。 Unityには様々なバージョンがありますが、このサイトを進める分には推奨バージョンで問題ないはずです。画像とバージョンが違うかもしれませんが、気にせず最新バージョンを使ってください。 Unity本体以外にも色々モジュールを加えることができます。使いたいものがある場合はそちらも選択してから「次へ」を選択してください。 【使いそうなモジュール】 Android Build Support…Android上で制作したゲームをビルドしたい時に必要です OpenJDKとAndroid SDK&NDK Toolsも必要です Meta Questを用いてVRゲームを作る際にも必要です iOS Build Support …iOS上で制作したゲームをビルドしたい時に必要です WebGL Build Support …ブラウザ上で制作したゲームをビルドしたい時に必要です このサイト上で動作しているサンプルゲームも このモジュールを使用しています 日本語の言語パックを追加するとUnity本体を日本語にすることができますが、このサイトでは英語のまま行います。解説と言語設定が違うとボタンを選択するだけでも大変だと思いますので、英語のまま進むことを推奨 します。 Unityの公式マニュアルでも英語版を使用しています。インターネット上にあるUnityの解説も英語版を使用していることが多いです。 Unity Tips! 「インストール」を選択するとインストールが開始します。 回線の良い場所でインストールの終了を待ってください。 Unity Hubは頻繁に更新される上に、更新しないとゲームが起動しないなどの不具合が起きることが あります。Unity Hubの様子がおかしいと思ったら更新するようにしてみてください 。 インストールが完了したら早速3Dアクションゲームの制作を開始しましょう。 【評価テスト0】 https://forms.gle/oGiqt4w5p29nZgWc7 評価テスト Next Lesson1「プレイヤーを実装しよう」 ページ TOP 0-1 そもそもUnityって何? 0-2 Unityをインストールしよう 評価テスト
- 2Dシューティングゲーム編 | Unity1gc2
2Dシューティングゲーム編 スコアを競おう 3Dアクションゲーム編を終えた人向けのレッスンです。 敵を倒してスコアを稼ぎ、ボスを倒すことでクリアになる縦スクロールシューティングゲームを作りましょう。 このLessonはほとんどが穴埋めで、新しい要素以外の説明はしていません。長々とした説明はいらないからゲームを作りたいという人にオススメです。
- EX 物理マテリアル | Unity1gc2
LessonEX 物理マテリアル EX-1 物理マテリアル Unityには物理マテリアル(Physics Material) という機能があります。物理マテリアルとは、オブジェクト同士の物理挙動を制御するために使用されるマテリアルのことです。物理マテリアルでは摩擦や反発など、オブジェクト同士の物理挙動に関わるパラメータを設定することができます。 例えば反発を強くすることで、ボールが弾む挙動を実装することができます。 まずは空の3D プロジェクトを作成して、地面とボールを配置してください。 ボールにはRigidbodyをアタッチして、重力が適応されるようにしましょう。 次は 物理マテリアルを作成しましょう。 2Dと3Dで項目の場所が違う ので注意してください。 【2Dの場合】 「Create」→「2D」→「Physics Material 2D」を選択 【3Dの場合】 「Create」→「Physic Material」を選択 今回は3Dゲームなので Physic Materialを作成してください。 作成したPhysic MaterialのBouncinessを1に、Bounce CombineをMaximumに設定してください。 Bouncinessは反発係数 で、値が大きいほど落下したオブジェクトが大きく跳ねるようになります。 Bounce Combineはオブジェクトが衝突した時のパラメータの計算方法を指定できます。Averageは衝突したオブジェクト同士の反発係数を平均化し、Minimumでは小さい方の値を使用、Multiplyでは反発係数を乗算、Maximumでは大きい方の値を使用します。 例えばBouncinessを1、Bounce CombineをAverageに設定した状態でBouncinessが0に設定されたボールと衝突した場合、双方のBouncinessの値が平均化されて反発係数は0.5になります。今回は反発係数が1の時の挙動を確認したいのでBounce CombineをMaximumに設定しています。 また、Dynamic Frictionはオブジェクトが移動しているときの摩擦係数で、Static Frictionはオブジェクトが静止しているときの摩擦係数になります。 作成した物理マテリアルを地面のオブジェクトにドラッグ&ドロップしてください。 これで落下したオブジェクトが反発係数1で弾むトランポリンのような床が完成しました。 ゲームを実行して確認してみてください。 Physic Materialを使うことでブロック崩しの挙動も簡単に作ることができます。 メインカメラをX軸周りに90度回転させて下向きにして、カメラに収まるようにブロック崩しのステージを作ってみてください。 上記サンプルのオブジェクトのTransformは以下のようになっています。 ボールにはRigidbodyをアタッチしておきましょう。 新しいスクリプトBallを作成して、以下のように入力してください。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Ball : MonoBehaviour { void Start() { // ゲーム開始時に右上に力を加える GetComponent().AddForce(new Vector3(5.0f, 0.0f, 5.0f), ForceMode.Impulse); } } ゲームが開始した瞬間に右上に力を加えるだけのスクリプトです。 コードが書けたら保存して、ボールにアタッチしておいてください(Rigidbodyがアタッチされていないと実行時にエラーが出ます) 物理マテリアルを作成して、Dynamic FrictionとStatic Frictionを0にしてください。摩擦係数を0にすることで氷のようにボールが滑るようになります 。 Friction Combineは小さい方の値(今回は0)を使用したいのでMinimumに設定しましょう。 反発の設定は先ほどと同じで、Bouncinessは1、Bounce CombineはMaximumを設定してください。 作成した物理マテリアルをSphereに設定してください。Sphere ColliderのMaterialに設定できていればOKです。Ballコンポーネントがアタッチできているかも確認しておきましょう。 ゲームを実行して、ボールがブロック崩しの挙動をすることを確認してみてください。 ブロック崩しとして完成させたい方は、ブロックがボールに触れた時に消滅する処理や、移動できるバーの設置などに挑戦してみましょう。 【ヒント】ボールが衝突した時の判定は OnCollisionEnter 関数で取得可能!
- EX ポーズ画面 | Unity1gc2
LessonEX ポーズ画面 EX-1 ポーズ画面の実装 ポーズ画面と言うと実装が困難なイメージがあるかもしれませんが、Unityでは比較的簡単に実装することができます。 UnityにはTimeScale という「現実時間と比較したUnity内の時間の尺度」を表すパラメータがあります( 言葉にするとわかりにくいかもしれないですね…) TimeScaleが1.0の時は現実と同じ速度でUnity内の時間が流れます。ですが、TimeScaleを2.0にするとゲーム内の時間は現実の2倍の速度で流れるようになります。そして、TimeScaleを0.0にするとUnity内の時間の流れは停止します。このTimeScaleを用いることでゲームの一時停止や倍速、スロー演出などを簡単に実装することができるのです。 それでは簡単なポーズ機能を実装してみましょう。ここでは3Dアクションゲーム編の完成版に実装していきます。 新しいスクリプトGamePauseを追加して、以下のように入力してください。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class GamePause : MonoBehaviour { bool m_isPause = false; // ポーズ中かどうか void Update() { // キーボードのPキーが押されたら… if (Input.GetKeyDown(KeyCode.P)) { if (m_isPause) { // ポーズ解除 Time.timeScale = 1.0f; } else { // ポーズする Time.timeScale = 0.0f; } // フラグを切り替える m_isPause = !m_isPause; } } } コードが書けたら保存して、適当な空オブジェクトにアタッチしてみてください。 空中でPキーを押して、落下が一時停止することを確認してみてください。ポーズ中にPキーを押すと再び動き出します 。 TimeScaleを0.5にして減速したり、2.0にして倍速にしたりできます。試してみてください。 ただしTimeScaleで止まるものと止まらないものがあります。 まず、画像のようにRigidBodyなどの物理演算は止まります。重力やAdd Forceなど、全ての処理が停止します。停止中にAdd Forceが実行された場合、停止が解除された瞬間に移動が始まります。 アニメーションの処理も停止します。TimeScaleに影響を受けてほしくない場合、AnimatorのUpdate ModeをUnscaled Timeに変更すると停止しなくなります。 逆に止まらないのはUpdate関数です 。Update関数まで止まってしまうと、ポーズ画面を解除することができなくなってしまいます。ポーズ画面を解除する処理や、ポーズ中に実行したい処理はUpdate関数に書くようにしましょう 。 (同じようにLateUpdate関数も止まりません) FixedUpdate関数は止まります 。FixedUpdate関数内にポーズ中に実行したいプログラムを書いても動作しないので注意してください。 もしポーズ中にUpdate関数を止めたい場合は、シンプルにフラグで管理しましょう。 GamePauseスクリプトに赤い部分のコード を追加してください。 ~前略~ public class GamePause : MonoBehaviour { static public bool m_isPause = false; // ポーズ中かどうか void Update() { ~後略~ あとはポーズ中に処理を止めたいUpdate関数内に「ポーズ中なら処理を中断する」if文を書くだけで、ポーズ中でもUpdateを止めることができます。 ~前略~ void Update() { // ポーズ中ならこの先の処理をしない if (GamePause.m_isPause) { return; } // ここで移動の処理などを行う ~後略~ これでポーズ中にUpdate関数が実行されようとしてもすぐ中断されるようになりました。 staticに設定した変数はシーンが切り替わってもゲームが終了するまで残り続けます。その性質上、ゲーム内に同じ名前の変数は複数存在できないので注意してください。 せっかくなので、ポーズ中だとわかりやすいように装飾しましょう。 新しいCanvasを追加してください。 既存のUI用Canvasと区別できるように名前をつけてください。 Sort Orderを既存のUI用Canvasの値より大きくしてください。Sort Orderは描画の優先度で、値が大きい方が後(前面)に描画されることになります 。 UI Scale Modeは既存のUI用Canvasと同じようにしておきましょう。 PauseCanvas下にポーズ中に表示するUIを追加しましょう。 今回は適当に半透明の黒い背景と「Pause 」のテキストを追加しています。 ポーズ用Canvasを非アクティブにしましょう。名前の横のチェックを外すとオブジェクトが非アクティブになり、表示されなくなります。 非アクティブにしたオブジェクトは描画や更新は行われませんがシーン内には存在しており、アクティブにすることですぐに有効化することができます。 後はポーズの状況でポーズ用Canvasのアクティブと非アクティブを切り替えるだけです。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class GamePause : MonoBehaviour { static public bool m_isPause = false; // ポーズ中かどうか public GameObject PauseCanvasObject; // ポーズ用Canvas void Update() { // キーボードのPキーが押されたら… if (Input.GetKeyDown(KeyCode.P)) { if (m_isPause) { // ポーズ解除 Time.timeScale = 1.0f; PauseCanvasObject.SetActive(false); } else { // ポーズする Time.timeScale = 0.0f; PauseCanvasObject.SetActive(true); } // フラグを切り替える m_isPause = !m_isPause; } } } PauseCanvasObjectをpublicにしているので、先ほど作成したPauseCanvasをインスペクターに設定するのを忘れないようにしてください。 これでポーズ中だけポーズ用Canvasが表示されるようになりました。 アニメーションを追加したり、ステージを抜けるボタンを追加したりなど色々活用できると思います。ぜひゲームに実装してみてください。 TimeScaleの影響を受けずに1フレームごとの間隔を取得したい場合 Time.unscaledDeltaTime というパラメータを使用してください。 Unity Tips!
- EX よくあるエラー | Unity1gc2
LessonEX よくあるエラー EX-1 エラーまとめ Unityの授業内で頻出したエラーをまとめて解決法を書いておくことで、後輩の助けになるといいねって感じのページです。随時更新。
- UnityとVisualStudioの関連付けについて | Unity1gc2
3Dアクションゲーム編 UnityとVisual Studioの関連付けについて Visual Studioで一部の予測変換が出ない場合の措置です。措置1で直らなかった場合は措置2を行ってください。 【措置1】 ① Unityの「Edit」→「Preferences」を選択する ②「External Tools」→「External Script Editor」→Visual Studio 2019を選択 ③ Visual Studioを開きなおす この措置で予測変換が機能しない場合は措置2を行ってください。 【措置2】 ① Visual Studioのインストーラーを起動する (持っていない場合は「VisualStudio インストーラー」などで検索してダウンロードしてください) ② Visual Studio 2019の「変更」を選択 ③ 「Unityによるゲーム開発」にチェックを入れて「変更」を選択 インストールが完了したらVisual Studioを開きなおして、予測変換が機能するか確認してみてください。 これでも動作しない場合はUnityやVisual Studioの更新を試してみてください。 ※ 2021以降の対応も同じ手順で大丈夫かと思われます。
- 3Dアクションゲーム編 LessonEX「プレイヤーを変更しよう」 | Unity1gc2
3Dアクションゲーム編 LessonEX プレイヤーを変更しよう プレイヤーをMMDモデルから変換して置き換える方法です。好きなキャラクターを動かすことでモチベーションに繋がりますので、興味のある方は挑戦してみましょう。 1-EX 準備編 1-EX MMDモデルをプレイヤーにしよう(準備) サンプルではプレイヤーのモデルにユニティちゃんを使用していますが、 好きな3Dモデルに差し替えることが可能です。 ヒューマノイド型の3Dモデルを既に持っている場合、準備と変換パートは飛ばして実装パートから開始してください。 このページではMMDモデルを変換してプレイヤーとして扱う方法 を解説します。 (ほぼツール頼りですが…) 元となるMMDモデルの構造によってはうまくいかないので注意してください。 そういう時はBlenderを使って変換するとうまくいったりいかなかったりします (今回は省略) まずはMMD4Mecanimをダウンロードしてください。 ※MMD4Mecanimで変換されたモデルをUnity以外で利用することは禁止されています!! http://stereoarts.jp/ 変換したいMMDモデルをダウンロードしてください。 今回は初音ミクのMMDモデルを使用します。 ※MMDモデルの利用規約を必ず守ってください ※他人に迷惑がかかる使い方はしないこと!怒られるよ! https://bowlroll.net/file/4576 1-EX 変換編 1-EX MMDモデルをプレイヤーにしよう(変換) ダウンロードしたMMD4Mecanim.unitypackageをインポートしてください。 いくつか種類がありますが、違いがわからない方はMMD4Mecanimを選んでください。 使用したいMMDモデルのフォルダをAssetsにドラッグ&ドロップしてください。 MMDモデルを選択してインスペクターから変換を開始します。 ※重ね重ね言いますが利用規約に注意してください! しばらくすると変換が終了します。 1-EX 実装編 1-EX MMDモデルをプレイヤーにしよう(実装) 変換されたモデルをシーン上に追加してください。 変換されたモデルを選択して「Rig」からヒューマノイドモデルに変換してください。これでユニティちゃんと同じアニメーションが使えるようになります。 これで準備はできたので、あとはユニティちゃんと同じように実装するだけです。 Lesson1や既存のユニティちゃんを参考にしてください。 ・Playerスクリプトのアタッチ ・RigidBodyのアタッチ ・Capsule Colliderのアタッチ(コライダーの大きさはモデルによって調整) ・Animation Controllerの設定(今まで使っていたものをドラッグ&ドロップでOK) ・GroundCheckの設定(ユニティちゃんからコピペしてOK) ※ PhysicsからBulletPhysicsをオンにするとモデルの物理演算が可能になります。 (大抵髪や装飾が荒ぶります) これでプレイヤーを初音ミクに変更できました。 しつこいようですが利用規約に反する使い方はしないように してください。あくまでお借りしている立場であることを忘れないようにしましょう。 お疲れ様でした。 ※ この方法で全てのモデルがうまく動作するわけではないので注意してください。 【おすすめ素材サイト】 https://3d.nicovideo.jp/ 【参考サイト】 こちらではモデルだけでなくモーションの変換も解説しています。 https://xr-hub.com/archives/12978 Blenderでの変換について書いてあるサイトです。 https://noshilog.com/blender-avatar-mmd-pmx-fbx ページ TOP 1-EX 準備編 1-EX 変換編 1-EX 実装編
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home
- 2Dランゲーム編 | Unity1gc2
2Dランゲーム編 ゴールを目指そう 3Dアクションゲーム編を終えた人向けのレッスンです。 某チャリが走ってそうな2Dゲーム を作っていきましょう。クッキーがランしているゲームも意識しています… 3Dアクションゲーム編と比べると難しめな内容になっているので、3Dアクションゲーム編の内容を一通り理解してから開始するようにしましょう。 【このレッスンに含まれる要素】 ・2Dゲーム制作の基本 ・自動で走るプレイヤーの作成 ・マウス操作の基本 ・TileMapによるステージ制作 ・Sprite Editorについて ・複数のSceneを重ねる ・複数のステージを用いたステージセレクト画面の作成 ・セーブデータの保存 ・スマートフォン向けのビルド Lesson1「プレイヤーを実装しよう」 Lesson2「ステージを作ろう」 Lesson3「ルールを作ろう」 Lesson4「UIを作ろう」 Lesson5「ステージセレクトを作ろう」 Lesson6「クオリティを上げよう」 【サンプルゲーム】 ブラウザ上で動作するサンプルゲームです。マウスで遊びます。 サンプルにあるセーブ機能はブラウザ用にカットしています。音が出るので注意! 左クリックのみ使用
- 3Dアクションゲーム編 | Unity1gc2
3Dアクションゲーム編 星を全て集めよう 初めての制作向けのレッスンです。 1年生のゲームプログラミングの授業で作ったような、ステージにある星を全て集めるゲーム をUnityで作ってみましょう。 初回ということで過剰気味に説明しているので読みにくかったらごめんなさい… 【このレッスンに含まれる要素】 ・Unityのインストール ・Unityの基本操作 ・移動できるプレイヤー ・ステージとステージギミック ・UI ・タイトル→ゲーム→クリア画面→タイトルのループ ・BGMとSEの実装 ・パーティクル ・ポストエフェクト ・ビルド方法 Lesson0「Unityをインストールしよう」 Lesson1「プレイヤーを実装しよう」 Lesson2「カメラを実装しよう」 Lesson3「ステージを作ろう」 Lesson4「UIを作ろう」 Lesson5「シーンを作ろう」 Lesson6「クオリティを上げよう」 【サンプルゲーム】 Lessonを全て終了した時点のサンプルゲームです(ポストエフェクトのみオフ) 読み込みに時間がかかることがあります。音が出るので注意!! 【操作説明】 キーボードで遊べます。 W:前進 A:左折 S:後退 D:右折 矢印キー:カメラ操作 SPACE:ジャンプ
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home
- 404 | Unity1gc2
There’s Nothing Here... We can’t find the page you’re looking for. Check the URL, or head back home. Go Home