Unity:プログラムによる変更をテレインSplatPrototypeに適用する方法?
テレインオブジェクトを追加するスクリプトがあります(パブリックテレインフィールドにテレインをドラッグアンドドロップします)。 テレインはすでにUnityで2つのPaintTexturesが設定されています。1は正方形(タイルサイズで設定され、市松模様のパターンを形成する)で、2つ目は草の画像です。 また、最初のPaintTextureのターゲット強度が低下しているため、市松模様のパターンによって下にある草の一部も表示されます。 ここで、実行時に、最初のPaintTextureのタイルサイズを変更します。つまり、さまざまな実行時の条件に応じて、チェッカーを増減します。Unityのドキュメントを調べたところ、Terrain.terrainData.SplatPrototypeこれを変更できる配列があることがわかりました。またRefreshPrototypes()、terrainDataオブジェクトのFlush()メソッドとオブジェクトのメソッドがありTerrainます。だから私はこのようなスクリプトを作りました: public class AStarTerrain : MonoBehaviour { public int aStarCellColumns, aStarCellRows; public GameObject aStarCellHighlightPrefab; public GameObject aStarPathMarkerPrefab; public GameObject utilityRobotPrefab; public Terrain aStarTerrain; void Start () { //I've also tried NOT drag and dropping the Terrain on the public field //and instead just using the commented line …