0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UnityでTileMap使用時にスクリプトからComposite Collider 2DのGenerateが出来ない場合の回避方法

Last updated at Posted at 2020-04-11

#はじめに
UnityでTileMapの当たり判定を取る場合、Tilemap Collider 2DとComposite Collider 2Dを使用することが多いと思います。TileMapをシーンにベタ置きするのではなくスクリプトを使ってTileをシーンに配置したい場合(ステージがたくさんあるパズルゲームなどを想定しています)、配置後にComposite Collider 2DをGenerateする必要があります。しかしスクリプトでTileを配置直後に

sample.cs
CompositeCollider2D.GenerateGeometry();

を実行してもComposite Collider 2Dが生成されません。

#解決策1
Tileを配置後にComposite Collider 2DをGenerateする前に1Fのウェイトを挿入する。

sample.cs
yield return new WaitForEndOfFrame();
CompositeCollider2D.GenerateGeometry();

#解決策2
Composite Collider 2DのGeneration Type = Synchronousで使用する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?