SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
速習 Unity 2Dゲーム開発

速習 Unity 2Dゲーム開発
~第10回 ターゲットキャラクターの表示(後編)

速習 Unity 2Dゲーム開発 第10回

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード project_010_start.unitypackage (472.1 KB)
ダウンロード project_010_end.unitypackage (584.6 KB)

 前回は床の上にハムスターを配置して、床から落下することなく端で反転させるという処理を実装しました。今回は、その処理の仕上げとしてキャラクターまで透明なGameObjectの影響を受ける問題の修正と、キャラクターがハムスターをつかまえた(接触した)際にハムスターを消す処理を実装していきます。

  • X ポスト
  • このエントリーをはてなブックマークに追加

本記事の環境

 本記事は以下の環境で開発を進めております。

  • 開発OS:Windows OS(UnityはMac OSでも同様に開発可能)
  • Unity:4.6
  • 開発言語:C#
  • IDE:Visual Studio 2013 + Visual Studio Tools for Unity(標準のMono Developでも可)

 OSについてはWindowsを利用しますが、Macでも同様に開発可能です。IDEにVisual Studioを利用しますが、標準のMonoDevelopでもコードは変わりません。

 サンプルプログラムは本記事開始時(第9回終了直後)のプロジェクトが「project_010_start.unitypackage」、終了時点のプロジェクトが「project_010_end.unitypackage」となります。

記事開始時点の状態にする

 本記事の開始時点の状態から開発を開始する方法を紹介します。

project_010_start.unitypackageのダウンロード

 project_010_start.unitypackageをダブルクリックすることで既存のプロジェクトにproject_010_start.unitypackageが読み込まれます。

 新規プロジェクトで開始する場合は、新しいプロジェクトを作成したのち、上部メニューの「Assets」→「Import Package」→「Custom Package」でproject_010_start.unitypackageを読み込んでください。

 IDEにVisual Studioを利用しない場合はImport時にUnityVSのチェックを外してください。

 以上で本記事開始時の状態のプロジェクトが開かれます。

今回作成するサンプルを実行する

 今回作成する内容を実行すると以下のようになります。コードを書き始める前にゴールを確認しておくと理解しやすくなると思います。

GameObjectをレイヤーに分ける

 前回、ハムスターが床から落ちずに方向転換させるために透明なGameObjectを配置しました。ハムスターの動きは意図した通りになりましたが、そのために「プレイヤーが操作するキャラクターまで透明なGameObjectに衝突してしまう」という問題が発生しました。この問題を解決するために期待する動作は以下です。

  • ハムスターは透明なGameObjectの影響を受ける
  • 操作キャラクターは透明なGameObjectの影響を受けない

 この条件を実装するためにプログラムコードを書く必要はなく、Unity 2Dのレイヤー機能を利用します。

レイヤーの作成

レイヤーの追加

 新規にレイヤーを作成します。レイヤーを利用するとGameObjectをグループ分けして管理することができます。

 Hierarchyウィンドウからhamsterを選択し、InspectorウィンドウのLayerをクリックします。

レイヤーの追加
レイヤーの追加

 Add Layerをクリックします。

 画像のようにLayersが展開されていない場合は、Layersをクリックして展開します。User Layer 8とUser Layer 9に以下のようにTargetとTargetHitAreaと入力します。

User Layerの追加
User Layerの追加

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習 Unity 2Dゲーム開発連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8396 2015/02/09 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!? NEW
  2. 2
    関数型プログラミング言語「Gleam v1.7.0」リリース NEW
  3. 3
    Salesforce案件の平均年収は? フリーランス・複業・副業の求人マッチング「SOKUDAN」が調査 NEW
  4. 4
    NVIDIA、AIスーパーコンピューター「Project DIGITS」を発表
  5. 5
    【成長するための1on1完全攻略術】意義を理解して効果的なミーティングを行うための準備をしよう!
  1. 6
    Salesforce、自律型AIエージェントに関する同社の考えと予測を発表 NEW
  2. 7
    Meta社開発のSSG、「Docusaurus 3.7」リリース
  3. 8
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  4. 9
    なりたいエンジニアになるために、自分らしいキャリアを描くための3つのポイントとは? NEW
  5. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開

アクセスランキング

  1. 1
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!? NEW
  2. 2
    関数型プログラミング言語「Gleam v1.7.0」リリース NEW
  3. 3
    Salesforce案件の平均年収は? フリーランス・複業・副業の求人マッチング「SOKUDAN」が調査 NEW
  4. 4
    NVIDIA、AIスーパーコンピューター「Project DIGITS」を発表
  5. 5
    【成長するための1on1完全攻略術】意義を理解して効果的なミーティングを行うための準備をしよう!
  6. 6
    Salesforce、自律型AIエージェントに関する同社の考えと予測を発表 NEW
  7. 7
    Meta社開発のSSG、「Docusaurus 3.7」リリース
  8. 8
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  9. 9
    なりたいエンジニアになるために、自分らしいキャリアを描くための3つのポイントとは? NEW
  10. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開
  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  2. 2
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  3. 3
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  6. 6
    Google、社内AIエージェント「Google Agentspace」発表
  7. 7
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  8. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!? NEW
  2. 2
    関数型プログラミング言語「Gleam v1.7.0」リリース NEW
  3. 3
    Salesforce案件の平均年収は? フリーランス・複業・副業の求人マッチング「SOKUDAN」が調査 NEW
  4. 4
    NVIDIA、AIスーパーコンピューター「Project DIGITS」を発表
  5. 5
    【成長するための1on1完全攻略術】意義を理解して効果的なミーティングを行うための準備をしよう!
  1. 6
    Salesforce、自律型AIエージェントに関する同社の考えと予測を発表 NEW
  2. 7
    Meta社開発のSSG、「Docusaurus 3.7」リリース
  3. 8
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  4. 9
    なりたいエンジニアになるために、自分らしいキャリアを描くための3つのポイントとは? NEW
  5. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開

アクセスランキング

  1. 1
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!? NEW
  2. 2
    関数型プログラミング言語「Gleam v1.7.0」リリース NEW
  3. 3
    Salesforce案件の平均年収は? フリーランス・複業・副業の求人マッチング「SOKUDAN」が調査 NEW
  4. 4
    NVIDIA、AIスーパーコンピューター「Project DIGITS」を発表
  5. 5
    【成長するための1on1完全攻略術】意義を理解して効果的なミーティングを行うための準備をしよう!
  6. 6
    Salesforce、自律型AIエージェントに関する同社の考えと予測を発表 NEW
  7. 7
    Meta社開発のSSG、「Docusaurus 3.7」リリース
  8. 8
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  9. 9
    なりたいエンジニアになるために、自分らしいキャリアを描くための3つのポイントとは? NEW
  10. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開
  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  2. 2
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  3. 3
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  6. 6
    Google、社内AIエージェント「Google Agentspace」発表
  7. 7
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  8. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に