Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
 Аватар для LiJuan_Jhao
22 / 22 / 0
Регистрация: 11.11.2019
Сообщений: 108

Координаты персонажа при смене сцены

22.03.2022, 12:37. Показов 3555. Ответов 9

Студворк — интернет-сервис помощи студентам
Привет всем, столкнулась с проблемой: при переходе на другую сцену координаты персонажа остаются такими, как и в редакторе. Видимо, плохо искала, но ничего полезного не нашла. Вот мой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
 
public class TeleportFromSchoolToCirridor : MonoBehaviour
{
    public GameObject SpawnPoint_1;
    private void OnTriggerStay(Collider other)
    {
        if(other.gameObject.tag == "Player")
        {
            SceneManager.LoadScene("SchoolCorridor");
            transform.position = SpawnPoint_1.transform.position;
        }
    }
Также писала 14 строку так:
C#
1
gameObject.transform.position = SpawnPoint_1.transform.position;
Помогите разобраться))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2022, 12:37
Ответы с готовыми решениями:

Проблема с курсором при смене сцены
Новичёк в юнити. У меня есть 2 сцены. Первая - это главное меню. А вторая одна из геймплейных, на ней есть FPS контроллер, я сделал, что бы...

Потребление памяти при смене сцены
Приветствую всех. Я создал пустой проект, сделал в нем 2 сцены, в сцены накидал спрайтов просто для теста, а также повесил скрипт на камеры...

Сбивается текстура при смене сцены
Суть в том, что у меня есть спрайт, который я использую как фон. Прописал скрипт, чтобы при переходе со сцены на сцену он не разрушался(см....

9
31 / 22 / 11
Регистрация: 15.08.2019
Сообщений: 125
22.03.2022, 12:45
Проблема в том, что ты пытаешься переместить transform объекта TeleportFromSchoolToCirridor а тебе нужно перемещать самого игрока
0
 Аватар для LiJuan_Jhao
22 / 22 / 0
Регистрация: 11.11.2019
Сообщений: 108
22.03.2022, 17:56  [ТС]
Frixon, то есть мне надо обозначить персонажа в коде и для него тогда делать transform?

Добавлено через 39 минут
Frixon, вообщем сделала так, но всё равно не работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
 
public class TeleportFromSchoolToCirridor : MonoBehaviour
{
    public GameObject Player;
    public GameObject SpawnPoint_1;
    private void OnTriggerStay(Collider other)
    {
        if(other.gameObject.tag == "Player")
        {
            SceneManager.LoadScene("SchoolCorridor");
            Player.transform.position = SpawnPoint_1.transform.position;
        }
      }
}
0
566 / 363 / 208
Регистрация: 18.10.2019
Сообщений: 1,231
22.03.2022, 18:24
LiJuan_Jhao, я правильно понимаю, что ты хочешь изменить изменить координаты, на которых заспавнится персонаж на следующей сцене, при этом находясь на текущей?

После 13-й строки код не будет выполняться, т.к. начнётся загрузка сцены и скрипт остановится. Поэтому нужно всё писать до метода LoadScene.

В теории, тебе может помочь такая реализация:
Создаёшь отдельный скрипт, в котором хранишь Transform точки спавна. При загрузке новой сцены нужно будет прописать DontDestroyOnLoad() для него. Затем уже на новой сцене в Start() персонажа находить этот объект (например, SpawnScript spawnScr = (SpawnScript)FindObjectOfType(typeof(Spa wnScript)); где SpawnScript - название этого скрипта, а spawnScr - имя переменной в коде персонажа). Должно сработать.
0
 Аватар для Алексанierecumi
95 / 60 / 36
Регистрация: 07.08.2013
Сообщений: 241
22.03.2022, 18:44
создаете ScriptableObject с полем int в которое будете записывать номер телепорта.
и поле Transform[] куда запихиваете все точки респавна игрока с о всех локаций.

ScriptableObject работает вне Сцен. как static переменные.
при выходе с локации создаёте Триггер входя в который записываете номер того телепорта куда ведёт выход.
а при старте новой локации по номеру из триггера ищите телепорт в массиве Transform[].

на картинке схема таких переходов.
Миниатюры
Координаты персонажа при смене сцены  
0
 Аватар для LiJuan_Jhao
22 / 22 / 0
Регистрация: 11.11.2019
Сообщений: 108
22.03.2022, 18:55  [ТС]
BattleCrow, Алексанierecumi, спасибо, побробую
0
31 / 22 / 11
Регистрация: 15.08.2019
Сообщений: 125
23.03.2022, 00:33
Алексанierecumi, По идее можно было бы и проще сделать, сделать один экземпляр игрока и указать ему при старте DontDestroyOnLoad, и после загрузки сцены можно будет изменять его положение в пространстве. В таком случае нужно будет сделать отдельный класс, который будет хранить Transform каждой точки спавна. В методе старт такого объекта нужно будет также установить DontDestroyOnLoad, чтобы объект мог переходить между сценами.

Добавлено через 35 секунд
LiJuan_Jhao, Описал выше решение, оно должно быть попроще для новичков
0
 Аватар для Алексанierecumi
95 / 60 / 36
Регистрация: 07.08.2013
Сообщений: 241
23.03.2022, 02:37
Frixon, никто в здравом уме не станет использовать DontDestroyOnLoad.
учите мат часть.
её не будет работать для другой сцены.

Добавлено через 57 минут
её *код
0
31 / 22 / 11
Регистрация: 15.08.2019
Сообщений: 125
23.03.2022, 08:27
Мне кажется я достаточно написал почему ее код будет работать вне сцены. Может ты не знал, но объект который указан как неразрушаемый при переходе между сценами имеет трансформ который ты можешь менять и после загрузки новой сцены. Так что тут ты не прав дружок, откуда столько уверенности в своих словах?
0
 Аватар для LiJuan_Jhao
22 / 22 / 0
Регистрация: 11.11.2019
Сообщений: 108
24.03.2022, 08:58  [ТС]
Frixon, Алексанierecumi, всё попробую)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2022, 08:58
Помогаю со студенческими работами здесь

При смене сцены меняется освещение
Я сделал меню, с которого запускаю уровень, но после смены сцены освещение сильно меняется и темнеет.так же было когда запускал сцену...

Переход на сцены и загрузка переменных персонажа
Дело в том, что у меня есть несколько сцен, которые будут активно использоваться в игре. У меня также есть json-файл, в котором хранятся...

Перезагрузка сцены после смерти персонажа (Система здоровья)
Ребят, привет. Подскажите пожалуйста, что не так в коде, в нём выполняется отображение жизней, и если получен урон от врага, жизнь...

Ошибка при смене сцены
У меня есть Клас Main и в нем объявлена главное окно public static Stage PStage; @Override public void start(Stage PStage)...

Подлагивание персонажа при смене направления движения
Здравствуйте, Не могу решить проблему с подёргиванием персонажа. Перепробовал многое, но ничего не помогло. Архив получился больше,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru