BlenderからUnityへのFBXエクスポート方法

10月のゲームアプリ「あるごの森2」にて1週目キューブのお題は3D画像で表示しています。

3D画像はBlenderにて作成し、画像は下記方法にてUnityにインポートしました。

ご興味のある方はお試しください。

Blenderで作成した3DモデルをUnityで利用する際、FBX形式でのエクスポートが一般的です。今回は、その手順を簡単に解説します。

1. Blenderでの作業:

  1. モデルの準備: まず、エクスポートしたい3DモデルをBlenderで開きます。
  2. モデルの選択: 3Dビューポート上で、エクスポート対象となるモデルやオブジェクトを選択します。
  3. FBXエクスポートオプションの選択: メニューから「ファイル(File)」→「エクスポート(Export)」→「FBX(.fbx)」をクリックします。
  4. エクスポート設定:
    • 「Selected Objects」: これをチェックすると選択したオブジェクトだけがエクスポートされます。
    • 「Apply Scalings」: Unityとのスケールの互換性を保つため「FBX Units Scale」を選択。
    • 「Forward」: 一般的に「-Z Forward」を選択。
    • 「Up」: 一般的に「Y Up」を選択。
    • もしモデルにアニメーションや形状キーが含まれている場合、適切なオプションをチェック。
  5. エクスポートの実行: 保存先のフォルダとファイル名を指定したら、「エクスポートFBX(Export FBX)」ボタンをクリックします。

2. Unityでのインポート:

  1. Unityプロジェクトの開始: 新規または既存のUnityプロジェクトを開きます。
  2. FBXのインポート: エクスポートしたFBXファイルをUnityのプロジェクトフォルダ内にドラッグ&ドロップします。Unityは自動的にファイルを認識し、インポートを開始します。

以上で、BlenderからUnityへのFBXエクスポートの手順は完了です。特定のプロジェクト要件に応じて、エクスポート設定の細部を調整することができるので、適宜カスタマイズしてください。

教え子たちからの素晴らしい報告!

先日、私の英語教室の卒業生たちから素晴らしい報告を受け取りました!

一人の生徒は、インドで空港業務のトレーニングを受けてたとのこと。

また、別の生徒はアメリカの有名な大学への留学を果たしています。

教室で学んでいた生徒たちが世界に羽ばたき、夢を追っている様子を見ると、本当に誇らしく、嬉しく思います。

当教室では、「英語は英語で学ぶ」というモットーを掲げて教えていました。日本の多くの学校では、長い年月英語を学んでも、実際に英語を話すスキルが身につかないことがよくあります。しかし、英語を英語で直接学習することで、生徒たちは一気に実用的な英語スキルを身につけることができました。

現在、私たちは直接のレッスンを休止しています。

しかし、生徒たちが教室に通わなくても自宅で上記のような内容を学習できるように、アプリの開発を進めています。

このアプリを通じて、場所を問わず、質の高い英語学習を提供し続ける予定です。

これからも、多くの生徒たちが夢を追い求め、世界に羽ばたく姿を楽しみにしています!

UnityのTextMeshProで文字のぼやけを解消する方法


UnityのTextMeshProは、高品質なテキストレンダリングを実現するためのツールなですが今回

「文字周りにぼやけた枠が表示される問題」

に直面し、修正方法がわからず苦労しましたのでどなたか必要な方がおいでかも?と思い、

私が使用した解決方法を紹介します。

問題の状況

TextMeshProでテキストを表示する際、文字の周りに四角くぼやけた枠が表示される現象が発生。

解決方法

この問題の原因として、フォントアセットの「Sampling Point Size」が考えられました。

「Sampling Point Size」は、フォントアセットを生成する際のフォントのサイズを指定する設定です。

  1. まず、UnityエディタのメニューバーからWindow > TextMeshPro > Font Asset Creatorを選択して、「Font Asset Creator」ウィンドウを開きます。
  2. 使用するフォントファイルを「Source Font File」セクションにドラッグ&ドロップします。
  3. 「Sampling Settings」セクションに移動し、「Point Size」のオプションを「Custom Size」に変更します。
  4. 「Sampling Point Size」を、ゲームやアプリケーション内で最も大きく表示される予定のテキストサイズ(このケースでは200)に設定します。
  5. 「Generate Font Atlas」ボタンをクリックして、フォントアセットを再生成します。

この手順により、指定した「Sampling Point Size」に最適化されたフォントアセットが生成され、文字のぼやけ問題が解消されました。

ぼやけ問題のあるテキスト
修正後のテキスト

Unityの使い方 – シリーズ4

タイピングゲームの作り方

Unityを使ったタイピングゲームの作り方を紹介します。このチュートリアルを通じて、Unityの基本的な操作方法やコンポーネントの活用方法を学んでいきましょう。

まず、ゲームのオブジェクト構造を確認します。ヒエラルキービューの中で以下のように各オブジェクトを配置します。

  • Game Manager(Game Managerにはスクリプトをアタッチします)
  • Canvas
    • Panel Question
      • Question Image
    • Panel Answer
      • Answer Text
      • Correct Text(ここではチェックを外します)
      • Wrong Text(ここではチェックを外します)
    • Button Parent(空のオブジェクト。ここにはGrid Layout Groupをアドコンポーネントとして追加します)
      • Button (a) (On Click()イベントに対して、Game ManagerにアタッチしたTypingGame.OnKeyPressを設定します。また、このボタンに対応するアルファベットを設定します)
      • … 同様にButton (b) から Button (z)までを作成します。

次に、Game ManagerオブジェクトのInspectorビューを使って、必要な設定を行います。

  • Question Image: Question Imageオブジェクトを指定します。
  • Input Text: Answer Textオブジェクトを指定します。
  • Correct Text: Correct Textオブジェクトを指定します(ここではチェックを外します)。
  • Wrong Text: Wrong Textオブジェクトを指定します(ここではチェックを外します)。
  • Next Scene Name: 次に移動するシーンの名前を設定します。

さらに、”Questions”項目に問題を追加していきます。”Element()”の項目で必要な数だけ問題を追加し、各々の項目に以下の情報を入力します。

  • Question: 問題となるスプライトを設定します。
  • Answer: 正解となるアルファベットを入力します。

以上がUnityを使ってタイピングゲームを作る際の基本的な設定方法です。

英文作成ゲーム

本日は英語作成カードゲームをしました。

英語が全く出来ないお子様でもすぐにできるようになります。

英文を作る。

日本語の意味を言う。

英文を読む。

全てを同時にできるゲームです♪

Unityで実現!音声付きドラッグ&ドロップ機能の実装

こんにちは、Unityの使い方シリーズ第3弾です。

今回は、「ドラッグ&ドロップ」機能の作り方をご紹介します。ここでは、画像をクリックすると音声が流れ、画像をドラッグできる機能と、所定の場所に画像をドロップすると音声が流れる機能を組み合わせたインタラクティブなシステムを構築します。

まずは、ヒエラルギーの構成を理解しましょう。

ヒエラルギー

  • Canvas
  • Slot Parent(UIイメージで作成)
    • Puzzle Slot_finish(ドロップインする場所)
    • Puzzle Slot_end
  • finish(ドラッグするイメージ)
  • end
  • Spawn1
  • Spawn2

___ここまで全てCanvasの子オブジェクト___

  • Object Generator(スクリプト添付)
  • GameControllerGPT4(スクリプト添付)

ここで注意が必要なのは、すべてのこれらの要素がCanvasの子オブジェクトであることです。

次に、各オブジェクトに付け加えるべきコンポーネントとその設定を説明します。

Slot Parent(UIイメージで作成)

アドコンポーネント:Grid Layout Group(Constraint…Fixed Column Count)

Puzzle Slot_finish, end,…

アドコンポーネント:

  • Tag(finish):イメージの名前と同じに設定
  • Rect Transform
  • Canvas Renderer
  • Image
  • Audio Source
  • スクリプト(PuzzleSlot

die,…

アドコンポーネント:

  • Tag(finish):イメージの名前と同じに設定
  • Rect Transform
  • Canvas Renderer
  • Image
  • Audio Source
  • Canvas Group
  • スクリプト(DragDrop

Spawn1,…

アドコンポーネント:特になし

Object Generator

アドコンポーネント:スクリプト(ObjectGenerator

GameControllerGPT4

アドコンポーネント:

  • スクリプト(GameContoroller
  • Particle Prefabs(2つ作成)
  • Particle Spawn Positions(発生スタートさせる場所)

Red

アドコンポーネント:

  • Particle System
  • Audio Source(AudioClip(hooray), Loop)
  • Material(Red, Shader: Unity/Transparent)

これらの構成と設定を組み合わせることで、Unityにおける音声付きのドラッグ&ドロップ機能を実現します。今回ご紹介した内容を基に、自分だけのインタラ

アクティブなアプリケーションやゲームを作ってみてください。この仕組みは、教育ソフトウェア、パズルゲーム、ユーザーインターフェースなど、多くのシチュエーションで使用できます。

ただし、この基本的な設定だけではまだ完成していません。各スクリプト内で具体的に何を行うかを設定する必要があります。それぞれのスクリプト(PuzzleSlot、DragDrop、ObjectGenerator、GameContoroller)には独自のロジックが必要です。この例では、PuzzleSlotはドロップ先を、DragDropはドラッグされるオブジェクトの動きを、ObjectGeneratorはオブジェクトの生成を、GameContorollerはゲーム全体のフローとパーティクルの管理を制御します。

音声は、それぞれのAudio Sourceコンポーネントに関連付けられたAudioClipから流れます。音声は、ドラッグまたはドロップ操作の開始と終了時にトリガーされます。具体的には、ドラッグ操作が開始されると、”finish”オブジェクトのAudio Sourceから音声が流れ、ドロップ操作が完了すると、”Puzzle Slot”オブジェクトのAudio Sourceから音声が流れます。

Unityのドラッグ&ドロップ機能は、ユーザーインタラクションを豊かにし、よりダイナミックなエクスペリエンスを提供します。今回の記事を参考に、ぜひ自身のプロジェクトに応用してみてください。次回もUnityの使い方シリーズを通じて、さらに有用なテクニックをご紹介していきますので、お楽しみに!

それでは、Happy coding!

Unityの使い方シリーズ 2

【お絵描きアプリの作り方】

使用エンジン:Unity

皆さん、こんにちは!今日はお絵描きアプリの作り方についてお伝えします。現在開発中のアプリには、お絵描きツールが装備されています。では、作り方の手順を見ていきましょう。

まず、Hierarcheにあるオブジェクトを配置します。Canvsを2つ作成します。

  1. 1つ目のキャンバス(Canvas_Image)
  • キャンバスの順番 Order in Layerを「0」と設定します。
  • このキャンバスには、スプライトを付けます。
  1. 2つ目のキャンバス(Canvas_Button)
  • キャンバスの順番 Order in Layerを「2」と設定します。
  • このキャンバスには、色ペンなどのUIを付けたボタンを配置します。
    ボタンはParentを作り、Grid Layout Groupをアドコンポーネントし、その子としてボタンを付けています。それぞれのボタンはOn Click()でスクリプトで書いた色や消しゴムを設定する。

次に、スクリプトを使ってお絵描き機能を追加します。

  1. DrawingTool
  • このオブジェクトにスクリプトを追加します。
  • スクリプトには、お絵描きの機能を実装します。

また、お絵描きツールにはLineRendererを使用します。LineRendererには以下の設定を行います。

  1. Materials
  • LineMaterialという名前で作成したマテリアルを選択します(Assets内に作成します)。
  1. LineMaterialの設定
  • MaterialsタブでLineMaterialを選択します。
  • マテリアルの設定として、「Mobile/Particles/Alpha Blended」を選択します。

以上がお絵描きアプリの作り方の手順です。ぜひ、これを参考にして素晴らしいお絵描きアプリを開発してください!

Unityの使い方シリーズ 1

タイトル:Unityの操作手順

現在進行中のアプリ開発プロジェクトについて、作成過程をブログで少しずつ紹介していきたいと思います。

本日は、Unityの「Canvas」設定について説明します。

2Dバージョンのアプリを開発していますが、色々なディバイスで使用するされる事を考慮し、Canvasの設定を少し変更する必要があります。
これをしていないと、UIデザインがぐちゃぐちゃになってしまいます。

  1. Render Modeの設定
    開始するには、CanvasのRender Modeを「Screen Space-Camera」に設定します。
  2. Canvas Scalerの設定
    次に、Canvas Scalerを「Scale With Screen Size」に設定します。この設定は、異なるデバイスや画面サイズでの表示を最適化します。
  3. Reference Resolutionの設定
    Reference Resolutionを「1536×2048」に設定します。これは、デザインの基準となる解像度を指定します。
  4. Screen Match Modeの設定
    そして、Screen Match Modeを「Match Width Or Height」に設定します。この設定は、画面の幅と高さのどちらに対してUIがスケーリングされるかを決定します。
  5. Matchの設定
    最後に、Matchを「1」に設定します。これは、Screen Match Modeが「Match Width Or Height」に設定されている場合に、幅と高さのどちらによりスケーリングされるかを決定する値です。

以上がUnityのCanvasの基本設定となります。



教室の新プロジェクト:英語教材アプリ開発中

教室のみなさん、こんにちは!

今日はとてもエキサイティングなニュースをお届けします。教室で愛用してました、オリジナル英語教材のテキストブックを、ご自宅で手軽に学習できる新アプリの開発を開始しました!

このプロジェクトでは、テクノロジーと教育の融合により、学習者が自分のペースで英語を学べるようにすることを目指しています。家庭での使用を前提に設計されているため、いつでもどこでも気軽に学習が進められます。

ゲーム開発エンジンとしてUnityを採用。

Unityは、その高機能性とユーザーフレンドリーなインターフェースで知られ、世界中の開発者から高い評価を受けているツールです。これにより、アプリは楽しく、インタラクティブで、そして最も重要なことに、学習に対する深い理解を促すことができます。

さらに、子どもたちの中にはゲーム開発に興味を持っている方もいるかもしれませんね。そのため、このブログではアプリの開発プロセスとUnityの使い方を少しずつ紹介していきます。一緒に学び、作り、そして楽しむことができればと思います。

今後も教室の英語教材アプリの開発状況について最新情報をお伝えしますので、ぜひお楽しみに!そしていつでも、どのようなフィードバックも大歓迎です。一緒に最高の学習体験を作り上げていきましょう!

アプリの価値:費用対効果を理解する

私たちの生活は様々なアプリによって彩られています。無数の無料アプリから手に入れる楽しさ、有料アプリから得る満足感、それぞれが私たちの日常に特別な一面を提供しています。

私自身もアプリ開発者として、無料と有料、その間の微妙なバランスについて学んできました。そしてその結果、自分が開発するアプリは全て有料にするという選択をしました。なぜなら、それがユーザーのプライバシーを守り、品質の高い体験を提供することができるからです。

だからといって、「なぜ無料のアプリがあるのに、わざわざ有料アプリにお金を払うの?」と疑問に思うのは、とても自然なことだと思います。確かに、一見すると、有料アプリにお金を払うことは、「損」のように感じるかもしれません。

しかし、ここで一歩立ち止まって考えてみてください。例えば、本を購入するとき、その価格に対してあなたが得るものは何でしょう?それはただの紙の束ではありません。それは、そこに書かれた知識や情報、体験、楽しみなど、非常に価値の高いものです。

同じように、有料のアプリを購入するとき、私たちが得るものはただのアプリではありません。それは、そのアプリが提供する独自の体験、便利さ、そして楽しさです。

子供に対しても同じことが言えます。我々は子供の学習のために教科書や参考書を購入しますよね。それと同じように、アプリもまた一つの学習ツールであり、子供たちの学びを豊かにするための重要な投資となります。

そう考えると、無料アプリと有料アプリ、その違いはただ単に「お金がかかるかどうか」ではなく、その「価値」にあります。それが体験であったり、サービスであったり、プライバシーの保護であったりするわけです。そして、その価値に対して支払う費用が有料アプリの価格なのです。

だからこそ、アプリを購入するとき、それはただお金を出す行為ではなく、自分が望む体験や便利さ、プライバシーの保護といった価値に対する投資なのです。自分が求める体験やサービスを得るために、1円でも多くの費用を払うことは、「損」ではなく、それがもたらす価値に対する公正な報酬と考えられます。

アプリを選ぶときには、無料か有料かだけでなく、そのアプリが提供する体験やサービス、そして価値を考慮することが大切です。それは物理的な商品を選ぶときと同じです。商品の価格はその品質や価値を反映しているわけですから。

私たちは子供たちに最高の学習体験を提供したいと思って、教科書や学習教材を選びますよね。同じように、アプリもまた、私たち自身や子供たちの生活を豊かにするためのツールとして選んでいくことが大切です。

結論として、無料アプリと有料アプリは、それぞれに独自の価値と利点があります。そして、その違いを理解し、自分自身のニーズに合ったアプリを選ぶことが重要です。

私自身、アプリの開発者としては、有料アプリによってユーザーのプライバシーを守り、品質の高い体験を提供することを目指しています。それが、皆様にとって1円でも価値があると感じていただければ、私、開発者にとって最大の喜びです。このデジタルな世界で、アプリがもたらす価値を共有できることを楽しみにしています。