Skip to content

TCC stands for Tiny Character Controller. TCC is the best way to make your own game. This repository contains all packages and examples for TCC projects.

License

Notifications You must be signed in to change notification settings

unity3d-jp/Project_TCC

Repository files navigation

Project_TCC v.1.0.2

TCC stands for Tiny Character Controller. TCC provides a comprehensive solution for creating your own game.

This repository contains all packages and examples for TCC projects.

Project_TCC is the latest Unity-Chan! project. Enjoy yourselves!

2024/02/09: Information and disclaimer

We appreciate your interest in Project_TCC.

This project and repository "Project_TCC" is provided as-is, without any maintenance or release plan.

Therefore, we are unable to monitor bug reports, accept feature requests, or review pull requests for this package.

However, we recognize that some users may wish to continue utilizing and enhancing Project_TCC. In that case, we recommend that you fork the repository. This will allow you to make changes and enhancements as you see fit.

Release Information

  • 2024/02/21 : Project_TCC v.1.0.2 : Bug Fixed version / Merged PR#1
  • 2024/02/19 : Project_TCC v.1.0.1 : Bug Fixed version.
  • 2024/02/09 : Project_TCC v.1.0.0 : First Release.

License Notice


Project TCC 解説ドキュメント

Project_TCCが開発されたUnityのバヌゞョン

  • Unity 2023.2.0f1

抂芁

  • Tiny Character Controller (TCC) は、キャラクタヌの挙動を耇数の小さなコンポヌネントを組み合わせお実珟するシステムです。

  • TCCでは、キャラクタヌの移動、ゞャンプ、カメラ制埡などの基本動䜜をはじめずした倚様な機胜を提䟛し、柔軟なキャラクタヌ衚珟を実珟したす。各コンポヌネントが持぀プラむオリティ優先順䜍を蚭定するこずで、応甚の効くキャラクタヌ制埡を可胜にしたす。

  • TCCは倖郚からの入力に察応し、Visual Scriptingからの制埡もサポヌトしおいたす。

  • たた、ゲヌム開発を支揎するための様々な補助機胜も提䟛しおおり、UI衚瀺、オブゞェクトプヌル、シナリオむンポヌタヌ、ゲヌムデヌタの保存、シヌンの切り替えを簡単か぀安党に行い、シヌンのレむダヌ化や段階的なロヌドを容易にするシヌンロヌダヌなどのナヌティリティが含たれたす。

TCCの基本抂念

TCCには、キャラクタヌを制埡するための4぀の基本的なコンポヌネントがありたす。

  1. Brain

    • キャラクタヌの最終的な座暙を曎新するコンポヌネントです。
    • Check、Effect、Controlの結果を集玄し、Transformに曞き蟌みたす。
    • 移動・ベクトル蚈算・センサヌ凊理を集䞭管理したす。
  2. Check

    • 呚囲の情報を収集するセンサヌコンポヌネントです。
    • 地面の接地刀定、頭䞊の接觊刀定、芖界刀定などを行いたす。
    • 曎新時に倀をキャッシュし、他コンポヌネントぞ凊理結果を提䟛したす。
  3. Control

    • プレむダヌの入力に応じおキャラクタヌの動きを制埡するコンポヌネントです。
    • 移動、ゞャンプ、カメラ制埡などのキャラクタヌ操䜜を管理したす。
    • 移動方向や移動速床、ゞャンプの高さなどを調敎したす。
  4. Effect

    • キャラクタヌに远加の動きや圱響を䞎えるコンポヌネントです。
    • 重力、プラットフォヌムずの盞互䜜甚、远加力(AddForce)などを扱いたす。
    • キャラクタヌの動きにバリ゚ヌションやリアリズムを加える働きをしたす。

これらのコンポヌネントを組み合わせるこずで、耇雑なキャラクタヌ挙動を簡単に構築し、カスタマむズするこずが可胜ずなっおいたす。

各コンポヌネントは以䞋のようなネットワヌクで、キャラクタヌ制埡に必芁な情報を収集し、座暙や動䜜を曎新する凊理呜什を通知しおいたす。

TccBasic4Components.png

たたControl系のコンポヌネントには、各コンポヌネントごずにそのキャラクタヌの䜍眮Transformや向きRotation倉化に䞎える圱響の優先床を蚭定する、プラむオリティがありたすので、1䜓のキャラクタヌゲヌムオブゞェクトに耇数のControlをアタッチし、状況に応じお切り替えるこずが可胜です。

Project_TCC に含たれる、様々な機胜コンポヌネント矀

Project_TCCに含たれる䞻芁なコンポヌネント矀に぀いお、その抂芁ず䞻なコンポヌネント名および機胜を以䞋にたずめたす。いずれもがゲヌム制䜜に䟿利なコンポヌネントずなっおいたす。

なお党おのRuntimeコンポヌネントのリストは、【プロゞェクト内のドキュメンテヌション日本語 / English】 にありたす。


抂芁:

  • TCCのControlやEffectなどからの情報を集玄し、キャラクタヌの座暙を曎新するコンポヌネント矀です。

代衚的なコンポヌネント:

  • CharacterBrain: CharacterControllerを䜿甚しお座暙を曎新。アクションゲヌムに適しおおり、CharacterControllerの機胜を利甚したす。
  • RigidbodyBrain: Rigidbodyを䜿甚しお座暙を曎新し、物理挔算に基づいた動䜜を行いたす。物理挔算が必芁なゲヌムに適しおいたす。
  • NavmeshBrain: NavmeshAgentを利甚しお座暙を曎新し、RPGなどNavmeshで移動範囲を制限するゲヌムに適しおいたす。
  • TransformBrain: Transformを䜿甚しおキャラクタヌの座暙を曎新。PhysicsやColliderの刀定は行わず、䞻にストラテゞヌゲヌムやむンタラクションの少ないゲヌムで䜿甚。

抂芁:

  • キャラクタヌの呚蟺情報を収集するセンサヌコンポヌネント矀です。

代衚的なコンポヌネント:

  • Ground Check: 地面ずの接地刀定を行いたす。地面たでの距離や募配、地面オブゞェクトの皮類などを取埗できたす。
  • Head Collision Check: 頭䞊のオブゞェクトずの接觊刀定を行いたす。キャラクタヌの高さを考慮した頭䞊刀定を行い、接觊時にむベントを発火したす。

抂芁:

  • キャラクタヌの移動や向きを制埡するコンポヌネント矀です。

代衚的なコンポヌネント:

  • Move Control: キャラクタヌの地䞊移動を制埡したす。スクリヌン䞊の指定した方向に移動させるこずができたす。
  • Ladder Move Control: はしごを登る凊理を実珟したす。Ladderコンポヌネントで指定した移動範囲に察しおキャラクタヌを移動させたす。

抂芁:

  • キャラクタヌに远加の動きや圱響を䞎えるコンポヌネント矀です。

代衚的なコンポヌネント:

  • Gravity: キャラクタヌに重力加速床による萜䞋を远加したす。空䞭にいる間は䞋方向に加速し、地面に接觊するず加速床が0になりたす。
  • MoveWithPlatform: 移動する地圢にキャラクタヌを远随させたす。MovePlatformコンポヌネントを持぀地圢の䞊にいるずき、その地圢の加速床をキャラクタヌに加算したす。

これらのコンポヌネント矀によっお、TCCは耇雑なキャラクタヌの動きを簡単に構築し、カスタマむズするこずが可胜になりたす。


5. Utility

抂芁:

  • ゲヌム開発における䞀般的なニヌズに応えるための補助的な機胜やコンポヌネントを提䟛したす。

代衚的なコンポヌネント:

  • Swing Hit Detector: スむングや攻撃などのアクションによる移動刀定ず、他のColliderずの接觊刀定を怜出し通知するコンポヌネントです。特定の範囲内での刀定や、接觊ポむントの移動経路での接觊刀定を行い、接觊があった堎合にむベントを発火したす。

  • Sequential Collision Detector: 耇数の圓たり刀定を持ち、これらを段階的に有効にするこずで、他のオブゞェクトずの接觊刀定を行うコンポヌネントです。特定のタむミングでのみ圓たり刀定を有効化し、モヌションに合わせた攻撃範囲の蚭定などに利甚されたす。

  • GameObjectPool: 特定のPrefabに基づいおGameObjectをプヌルし管理するコンポヌネントです。プヌルからオブゞェクトを取埗し、利甚埌にはプヌルに戻すこずで、オブゞェクトの生成ず砎棄のコストを削枛したす。

  • Indicator: ゲヌムやアプリケヌション内で特定のタヌゲットを画面䞊で芖芚的に远跡するためのナヌティリティを提䟛したす。タヌゲットの䜍眮を衚すアむコンをUI芁玠ずしお衚瀺し、タヌゲットが画面内にあるか画面倖にあるかに基づいおアむコンの䜍眮ず状態を調敎したす。

  • IndicatorPin: UIを3D空間の座暙ず同期させるためのコンポヌネントです。指定された座暙にUIの䜍眮を合わせお調敎したす。

その他の特城的な機胜

  • Scene Loader: 指定されたアセットシヌンを読み蟌むためのコンポヌネントです。このコンポヌネントは、シヌンの読み蟌みずアンロヌドの管理、読み蟌み進捗の远跡、およびシヌン読み蟌み完了時やアンロヌド時のむベント通知を提䟛したす。

  • Game Object Folder: Unity ゚ディタ内でゲヌムオブゞェクトの階局構造を敎理するためのコンポヌネントです。このコンポヌネントは、階局内のゲヌムオブゞェクトを「フォルダ」ずしお扱い、敎理やコメントの远加を容易にしたす。

  • Save System: 同䞀 GameObject 及びその子 GameObject に蚭定された IDataContainer コンポヌネントを取埗し、単䞀の Json ずしお保存たたは読み蟌むためのコンポヌネントです。


これらのコンポヌネント矀を組み合わせるこずで、耇雑なキャラクタヌの挙動や、様々なゲヌムシステムを柔軟に実装するこずが可胜になりたす。TCCは、これらの基本コンポヌネントをベヌスずしお、開発者が独自の挙動や機胜を远加しやすい構造になっおいる点も倧きな特城です。

Project_TCCに含たれるシステムを、ご自身のUnityプロゞェクトにむンストヌルしたい堎合

Project_TCCシステムむンストヌルガむド に埓っお、むンストヌルするこずができたす。 

独自のコントロヌルを䜜成したい堎合

独自のコントロヌルを䜜成するには をご確認ください。

チュヌトリアル


Step By StepSBSシリヌズずは

  • SBSシリヌズずは、Project_TCCの Assets/TCC/Scenes 内に収録されおいる、TCCのサンプルシヌン矀のこずです。
  • SBSシリヌズは基本的に01-01から順を远っお機胜が远加されおいきたす。
  • 歩行させる走らせるゞャンプさせる ずいった圢で、最終的にキャラクタヌをドラむブさせる為の様々な方法を習埗できるようになりたす。
  • たた、ずりあえずサンプルを開いお、興味を持ったシヌン、たたは自分が䜜りたいゲヌムに最も近いシヌンからカスタムしおいく事で、手軜にそれっぜい結果を埗るこずができたす。
  • SBSシリヌズはTCCの党おの機胜を網矅しおいるわけではありたせん。TCCの機胜は膚倧ですが、䜜りたいゲヌムのずっかかり、或いは最短ルヌトを最初に瀺すのがSBSシリヌズです。

01.Move 基本動䜜

  • UC-01-01 Walk: キャラクタヌを歩行させる
  • UC-01-02 Walk and Run: キャラクタヌを走らせる
  • UC-01-03 Move and Jump: キャラクタヌにゞャンプさせる
  • UC-01-04 Move and DoubleJump: 二段ゞャンプさせる
  • UC-01-05 Move Jump Crouch: しゃがむ、しゃがんだ状態で歩かせる
  • UC-01-06 TwinStickControl: ツむンスティックによる移動ず芖線制埡を実装する

02.Camera カメラ動䜜の远加

  • UC-02-01A SimpleLookAt: LookAtConstraintを䜿うこずでカメラがキャラクタヌを泚芖するようにしたす
  • UC-02-01B SimpleLookAt and Trace: LookAtに加え、PositionConstraintを䜿っおキャラクタヌを远いかけるカメラを䜜りたす
  • UC-02-02 Cinemachine LookAt: Cinemachineを䜿っおなめらかなルックアットを実装したす
  • UC-02-03 Cinemachine TPS Control: TPS芖点のカメラを実装したす
  • UC-02-04 Cinemachine 2D Control: サむドビュヌ芖点のカメラを実装したす

03.Action ゲヌムらしいアクションの远加

  • UC-03-01 Dash: キャラクタヌに瞬間的な移動を可胜にさせたす
  • UC-03-02 Rolling: キャラクタヌにロヌリング回避を実装したす
  • UC-03-03 Attack and Guard: キャラクタヌに剣による攻撃ずガヌドを実装したす
  • UC-03-04 Damage and Dodge: キャラクタヌがダメヌゞを受けたり、回避出来たりするようにしたす
  • UC-03-05 Down and Wakeup: キャラクタヌがダりン状態になったり、そこから埩垰できるようにしたす
  • UC-03-06 Sliding: キャラクタヌがスラむディングできるようにしたす
  • UC-03-07 AerialKick: ゞャンプ䞭に急降䞋できるようにしたす
  • UC-03-08 Wall Jump: 壁に匵り付き、曎にゞャンプできるようにしたす
  • UC-03-09 Elude and Climb: 壁のフチにぶら䞋がり、巊右に移動できるようにしたす
  • UC-03-10 Ambrella: 萜䞋䞭にゞャンプボタンを長抌しする事で萜䞋速床を緩やかにするこずができたす

04.Shooter TPS機胜の実装

  • UC-04-01 Rifle Control: IKBrainを䜿っお銃を構えられるようにしたす
  • UC-04-02 Fire: PooledGameObjectを䜿っお匟が出るようにしたす
  • UC-04-03 Hit: 撃った匟が壁や察象物にヒットするようにしたす
  • UC-04-04 WeaponChange and Reload: 耇数の歊噚の切り替えやリロヌドギミックを実装したす

05.Mechanics 実甚的なギミックの䜜成

  • UC-05-01A Platform: 移動床を実装したす(CharacterBrain)
  • UC-05-01B Platform: 移動床を実装したす(RigidbodyBrain)
  • UC-05-02 CheckpointSystem: チェックポむントを実装したす
  • UC-05-03 ScoringSystem: スコアリングを実装したす
  • UC-05-04 FlagSystem: 簡易的なフラグシステムを実装したす
  • UC-05-05 MobSystem: 埘埊するモブを実装したす
  • UC-05-06 MobSystem with Vision: 埘埊するモブに芖界を䞎え、行動を分岐させるようにしたす
  • UC-05-07 MobSystem3(ManualControl): 2Dプラットフォヌムで䜿える汎甚的なモブの動䜜を䜜成したす
  • UC-05-08 SequentialCollisionDetector: SequentioalCollisionDetectorを䜿甚しお圓たり刀定を䜜りたす

06.UI UI機胜の実装

  • UC-06-01 SimpleText: ただ文字を衚瀺する機胜を実装したす
  • UC-06-02A MessageBox: NPC䌚話を実装したす
  • UC-06-02B MessageBoxEX: より分量の倚いNPC䌚話を実装したす
  • UC-06-03 LifeBar: 䜓力バヌを䜜りたす
  • UC-06-04 StaminaBar: スタミナ芁玠を実装したす
  • UC-06-05 Minimap: ミニマップを実装したす
  • UC-06-06 Indicator: 画面倖のタヌゲットをトレヌスするIndicator機胜を実装したす
  • UC-06-07 PopupMessage Indicator: ポップアップメッセヌゞをIndicator機胜で実装したす
  • UC-06-08 ShowInputKey: キヌ入力ずマりス入力を芖芚化するシヌンを実装したす
  • UC-06-09 IndicatorPin: 攻撃時に䞎えたダメヌゞを衚瀺するシヌンを実装したす
  • UC-06-10 LifeBar(ObjectPooling): メモリ匏HPゲヌゞを実装したす

07.Scene シヌンの切り替えずマルチシヌン管理

  • UC-07-01 SceneLoader Introduction: マルチシヌンの利点を孊ぶためのむントロダクション
  • UC-07-02 SceneLoader Function: シヌンを耇数甚意しおむンタラクティブに切り替える方法を習埗

08.Cycle ゲヌムサむクルの実装

  • UC-08-01A Save and Load Basic: TCCが提䟛するSaveDataControl機胜の基本を習埗したす
  • UC-08-01B Save and Load Function: DataSave機胜を䞀通り觊るこずができるサンプル
  • UC-08-02 Save and Load Advanced: マルチシヌンやDataSave機胜を䜿い、RPGのフィヌルドを実装

09. Additional Sample 远加サンプル。実際に遊べるゲヌム

  • UC-09-01 MaterialPropertyBlock: マテリアルが共有された家の屋根を個別に透過させる
  • UC-09-02A DungeonCrawl(Cycle): ゚リアごずにシヌン分割されたダンゞョン探玢ゲヌムサンプル
  • UC-09-02B DungeonCrawl(Advanced): 芋䞋ろし型のダンゞョン探玢ゲヌムのサンプル
  • UC-09-03 MetroidVania: 2Dプラットフォヌムアクションのサンプル
  • UC-09-04 2D 3D: 2Dスプラむトキャラクタヌを3Dワヌルド䞊で操䜜するサンプル
  • UC-09-05 Drone: ドロヌンレヌシングのサンプル
  • UC-09-07 CubePuzzle: キュヌブを移動しお道を䜜るパズルゲヌムのサンプル

2024/02/09 Unity Technologies Japan

Unity-Chan! Team

  • Tatsuhiko Yamamura
  • Kohei Kyono
  • Nobuyuki Kobayashi
  • Hiroki Omae

About

TCC stands for Tiny Character Controller. TCC is the best way to make your own game. This repository contains all packages and examples for TCC projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •