BRO_TIGER
@BRO_TIGER
Indie Developer (C#, JS)

Как найти Transform на не Заспавненом Игроке (Процедуральная Карта)?

Доброго времени суток... Я делал мультиплеер для своей Игры настроил NetworkManager, PlayerSpawn... Но процедуральной карте нужен "Наблюдатель" т.е. Игрок из-за которого прогрузится карта... И тут встал спор между скриптом EndlessTerrain.cs и NetworkManager так как Player спавнится при подключении к серверу а скрипт игрока не видит т.е. не может найти "Наблюдателя"... Помогите! Заранее Спасибо!

P.S Вот часть сценария с ошибкой:
public Transform viewer;
	public Material mapMaterial;

	public static Vector2 viewerPosition;
	Vector2 viewerPositionOld;
	static MapGenerator mapGenerator;
	int chunkSize;
	int chunksVisibleInViewDst;

	Dictionary<Vector2, TerrainChunk> terrainChunkDictionary = new Dictionary<Vector2, TerrainChunk>();
	static List<TerrainChunk> terrainChunksVisibleLastUpdate = new List<TerrainChunk>();

	void Start() {
		mapGenerator = FindObjectOfType<MapGenerator> ();

		maxViewDst = detailLevels [detailLevels.Length - 1].visibleDstThreshold;
		chunkSize = mapGenerator.mapChunkSize - 1;
		chunksVisibleInViewDst = Mathf.RoundToInt(maxViewDst / chunkSize);

		UpdateVisibleChunks ();
	}

	void Update() {
		viewerPosition = new Vector2 (viewer.position.x, viewer.position.z) / mapGenerator.terrainData.uniformScale;
                //Вот здесь
		if ((viewerPositionOld - viewerPosition).sqrMagnitude > sqrViewerMoveThresholdForChunkUpdate) {
			viewerPositionOld = viewerPosition;
			UpdateVisibleChunks ();
		}
	}


P.P.S Схема:
bb0902ce6dfa4a4a9534e5650c1d3c02.jpg
Как вы можете видеть сначала генерируется Noise (Перлин) всё наносится на объект - План, Далее информация компилируется в отдельный файл Data - который в свою очередь можно изменить... Далее MapGenerator Принимает этот файл но далее он отсылает команду 2-ум другим скриптам которые в свои очередь генерируют Меш и Текстуры на Меш всё опять же превращается в отдельный файл и тот считывается MapGenerator'ом... 2 Этих скрипта "Общаются" между MapGenerator'ом, а Noise главный в этом всём.... Дальше MapGenerator считывает MapDisplay - Это скрипт объединяющий все файлы! Далее MapDisplay посылает команду на создание Чанков - EndlessTerrain. Чанки генерируются/исчезают в определенном расстоянии игрока к краю карты (Как в игре Minecraft) но для этого нужен ещё один объект которого нигде нет кроме как в EndlessTerrain - "Наблюдателя". Изъяснил процесс?
  • Вопрос задан
  • 267 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы