Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Danil_2002
35 / 25 / 10
Регистрация: 16.02.2018
Сообщений: 152

Работа с COM в скрипте unity3d

16.06.2019, 18:25. Показов 1208. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Я не являюсь разработчиком игр в Unity3d, но занимаюсь робототехникой. Так вот, у меня есть научный проект: создание дирижабля для аэрофотосъемки, сам дирижабль уже почти готов, но не в этом суть. Когда я стал думать как же управлять своим дирижаблем, вспомнил о такой прикольной штуке как Unity3d, и решил создать простую игровую сцену с двумя объектами(Plane и модель дирижабля). По моей задумке оператор должен с помощью мышки вращать модель дирижабля и данные текущих углах должны записываться в COM, а дальше уже моя забота.

Вот такой скрипт в Unity3d (MonoDevelop):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using UnityEngine;
using System;
using System.Collections;
using System.IO.Ports;
 
public class Mouse : MonoBehaviour 
{
    SerialPort port_nrf2401;
    private Vector3 mousePos_reference; // Эталон для сравнения
    private Vector3 mousePos; 
    private GameObject airship = null;
    void Start ()
    {
        port_nrf2401 = new SerialPort ("COM3", 9600, Parity.None, 8, StopBits.One); // Настраиваем COM-порт
        port_nrf2401.Open(); // Открываем порт 
        airship = GameObject.FindGameObjectWithTag ("airship"); // Находим дирижабль по тегу
    }
    void Update () 
    {
        if (Input.GetMouseButton (0)) { // Событие нажатия (удерживания правой клавиши мыши в состоянии нажатия)
            mousePos = Input.mousePosition;
            float coifficient_rotate_X = (mousePos.y - (Screen.height / 2)) / Screen.height; // Коэффициент вращения по оси X
            float coifficient_rotate_Z = (mousePos.x - (Screen.width / 2)) / Screen.width; // Коэффициент вращения по оси Y
            Debug.Log (coifficient_rotate_X);
            airship.transform.Rotate(coifficient_rotate_X*2f, 0f, coifficient_rotate_Z*-2f);
        } 
        if (Input.GetMouseButton (2)){ // Если нажата средняя клавиша мыши то стабилизируем дирижабль
            airship.transform.rotation = Quaternion.Euler(-90, 0, 0);
        }
        COM_write ();
    }
    void COM_write() // Передаем через Радио Мост данные о вращении дирижабля  
    {
 
        //float[] array_angle_value = airship.transform.rotation;
        Vector3 angle_write_value = airship.transform.rotation.eulerAngles; 
        Debug.Log (angle_write_value);
    }
}
Тут все хорошо, он компилируется и ошибок на этой стадии нет.

Но когда я запускаю сцену в Unity3d получаю вот такую ошибку:

Assets/Mouse.cs(4,17): error CS0234: The type or namespace name `Ports' does not exist in the namespace `System.IO'. Are you missing an assembly reference?

Как ее исправить или есть какая-нибудь альтернатива?

Особо не ругайте меня, в Unity3d я почти ничего не знаю, но мне очень нужна эта сцена, а научная выставка уже скоро...

Если есть какие-то вопросы, то задавайте.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.06.2019, 18:25
Ответы с готовыми решениями:

Ошибка в скрипте для Unity3d
Доброго времени суток! using UnityEngine; using System.Net.Sockets; using System.Net; using System.Text; using System; ...

Работа регулярных выражений в скрипте утилиты sed
Добрый день, я являюсь новичком в регулярных выражениях в bash, изучаю его в работе в скриптах. Есть строчка в готовом скрипте, где...

Ожидается унарный оператор (Работа с календарем) прошу поддержки в данном скрипте
ошибка выдается в 151 строке, когда идет комментарий о годе, Это был Год... помогите решить проблему :( #!/bin/bash function...

2
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
16.06.2019, 18:38
Лучший ответ Сообщение было отмечено Danil_2002 как решение

Решение

А погуглить? https://forum.unity.com/thread... ts.141316/
1
 Аватар для Danil_2002
35 / 25 / 10
Регистрация: 16.02.2018
Сообщений: 152
16.06.2019, 18:43  [ТС]
Я яндексить предпочитаю), правда искал но не нашел

Добавлено через 7 секунд
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.06.2019, 18:43
Помогаю со студенческими работами здесь

Unity3D
Здравствуйте. У меня возникла проблема при работе с Unity3D. Вообщем я начинал работать с Unity3D год-полтора назад и ещё тогда столкнулся...

Unity3D
Всем доброго времени суток!У меня есть вопросы,касающиеся непосредственно движка Unity3D. Недавно я читал лицензию этого движка,и не...

Unity3d and C#
Ребята кто хорошо разбирается в Unity3d подскажите плз... разве можно в этой проге писать "объемную страничку регистрации пользователя...

Мультиплеер Unity3D
Как изменить prefab капсулы на другой объект? Даже не знаю как сказать) Посмотрите пожалуйста. Вот проблема на видео: ...

2D платфоремер на unity3D
Подскажите пожалуйста, как сделать чтобы невидимая стенка (коллайдер), действовал только на одного главного героя игры?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru