Здравствуйте. Уже неделю пробую сделать так, чтобы по нажатию кнопки играть в Unity(С Match Maker) создавался матч, если других нету, или игрок присоединялся к существующему матчу, если он есть. Попытки не увенчались успехом, поэтому потеряв надежду я обращаюсь сюда. В срипте есть 2 public void`а, один создает матч, другой подключается к существуещему, если он есть, но они вешаются на разные кнопки, а мне надо чтобы было на одной. И можно ли повесить сразу эти два public void`а на одну кнопку и они будут работать так, как мне надо , или рандомно, или будеть выполняться только первый public void, который висит ? Сам скрипт:
Код
using System.Collections; using System.Collections.Generic; using UnityEngine.Networking; using UnityEngine.Networking.Match; using UnityEngine; using UnityEngine.UI;
public class MatchMakerLobby : NetworkBehaviour { string matchName; public GameObject match; public Canvas canv; public Transform tochka; GameObject matchH; string matchFind;
Здравствуйте. Пытаюсь сделать прыжок для персонаж, на котором висит Character Controller (Без Rigidbody & Capsule Colider). Так вот. Написан скрипт для Character Controller, где описана и физика и ходьба и поворот по оси X (Ось Y повешена на персональную камеру персонажа). Написан скрипт по учебнику "Unity в действии" и работает отлично, но не хватает прыжка. Начал искать как сделать прыжок для CC и наткнулся на это видео: Прыжок CharCont. и решил выделить все части скрипта связанные с прыжком и добавить в свой. Добавил его и сделал только velocityY публичной (чтобы информация была). Когда я запускаю игру с этим скриптом, персонаж также отлично двигается, поворачивается, но при нажатии кнопки "Space" персонаж не хочет прыгать, но в публичной переменной velocityY выводятся цифры, которые зависят от цифр jumpHeight:
Какое бы значение я для jumpHeight не ставил, персонаж никак не прыгнет. Сам скрипт:
Код
using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(CharacterController))] [AddComponentMenu("Control Script/FPS Input")] public class WME : MonoBehaviour { private CharacterController _charController; public float speed = 1.45f; public float gravity = -9.8f; public float jumpHeight = 1; public float velocityY;
Переключал Pivot и Local, не спасает. Модель из Blendera, импортирована с "Y up" и "X forward".
Добавлено (26 Июня 2018, 19:33) --------------------------------------------- Вообщем, я можно сказать решил проблему) Там просто в оси "Mouse Y" Нужно было поменять _rotationX местами в (). Но тем проблема в том, что он наклоняется вверх или вниз и больше не хочет двигаться.
Добавлено (26 Июня 2018, 20:01) --------------------------------------------- Все, сделал все. Спасибо всем) Вот сам скрипт:
Код
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseLook : MonoBehaviour { public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 } public RotationAxes axes = RotationAxes.MouseXAndY;
public float sensitivityHor = 11f; public float sensitivityVert = 11f;
public float minimumVert = -45f; public float maximumVert = 45f;
А чего тут не понятного ? У меня есть 2 Оси, по которым вращается персонаж за мышкой - это "Mouse X (Влево и вправо)" и "Mouse Y (Вниз, Вверх)" Но при выборе "Mouse Y" персонаж не наклоняется Вверх-вниз, а наклоняется влево и вправо. Пытался повернуть персонажа, попытаться поменять оси в самом скрипте, но ничего не помогло.
Делаю игру для фана на Unity. Вообщем. Персонаж не поворачивается по нужной оси. То есть, есть 2 "оси" в скрипте - это "Mouse X (Вправо,влево)" и "Mouse Y (Вверх, вниз)". Mouse X поворачивает модель персонажа как нужно, но Mouse Y вместо того, чтобы наклонять персонажа вниз и вверх, она наклоняет его вправо и влево. Если нужно будет видео, я запишу. Пробовал загружать модель заново, перемещать ее, но ничего не помогло. Скрипт:
Код
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseLook : MonoBehaviour { public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 } public RotationAxes axes = RotationAxes.MouseXAndY;
public float sensitivityHor = 11f; public float sensitivityVert = 11f;
public float minimumVert = -45f; public float maximumVert = 45f;