Автор Тема: Знатоки Python, нужна помощь  (Прочитано 14755 раз)

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #45 : 06 Февраль 2017, 16:09:16 »
http://pasteall.org/blend/ (срок хранения около 5 месяцев)
и т.п.
Но лучше использовать облачные хранилища привязанные к почтовому ящику на Яндексе (яндекс-диск) или Мэйл.ру (облако)

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #46 : 06 Февраль 2017, 18:54:46 »
http://pasteall.org/blend/ (срок хранения около 5 месяцев)
и т.п.
Но лучше использовать облачные хранилища привязанные к почтовому ящику на Яндексе (яндекс-диск) или Мэйл.ру (облако)
Спасибо Samovar, ссылку сохранил.

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #47 : 07 Февраль 2017, 10:26:05 »
... ещё из того же источника можно посмотреть пример с разделением экрана на два вида, там как раз две камеры используются ...
http://gametutorials.tutorialsforblender3d.com/Viewports/Page1
Всем привет.
sungreen, сделал всё согласно рекомендациям, но появились следующие вопросы:
1. Почему нарушается работа программы, если 75, 76 строку сделать 1 и 2?
2. Почему при попытке вывода в консоль значения в строке 18:
print("gameWindow", gameWindow())
выдаётся ошибка:
«Python script error - object 'Cam1', controller 'Python':
Traceback (most recent call last):
  File "Viewports", line 18, in <module>
  File "Viewports", line 15, in gameWindow
NameError: name 'bge' is not defined»?
Однако если в первой строке производится импортирование bge, то работает нормально. Как уйти от этих противоречий?
3. Почему строки 55 – 63 выдают ошибку:
«Python script error - object 'Cam1', controller 'Python':
Traceback (most recent call last):
  File "Viewports", line 55, in <module>
NameError: name 'left_1' is not defined»? Как правильно можно вывести эти параметры в консоль?
4. Ну, уж и до кучи, как можно сделать вид из камеры с красной рамкой размером в полное окно открываемое в 3D виде, а вид из камеры с серой рамкой частью вида камеры с красной рамкой (окно в окне).
Если сможете помочь, то это будет просто прекрасно.
Файл пристегнуть не удаётся, потому я по совету Samovar'а его сохранил на PasteAll.org, а как теперь на него сослаться не знаю. Называется "Области просмотра 2". Я не нашёл справку как пользоваться PasteAll.org, если можете - подкиньте ссылку.

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #48 : 07 Февраль 2017, 13:27:00 »
Цитировать
Файл пристегнуть не удаётся, потому я по совету Samovar'а его сохранил на PasteAll.org, а как теперь на него сослаться не знаю. Называется "Области просмотра 2". Я не нашёл справку как пользоваться PasteAll.org, если можете - подкиньте ссылку.
После загрузки файла надо было скопировать его адрес из адресной строки твоего браузера в тему, и всё.
Но лучше заведи почту на Мэйл.ру или Яндексе, и пользуйся их хранилищами. Там файл будет хранится, пока ты его сам не удалишь.
Код копируй сюда, когда спрашиваешь, ограничивая его тегами кода (вставь текст кода, затем выдели текст кода и нажми кнопку {#} в панели редактирования сообщений).
Так:
Код
######################################################
#
#    Viewports.py  Blender Game Engine
#
#    Tutorial can be found at
#
#    [url=http://www.tutorialsforblender3d.com]www.tutorialsforblender3d.com[/url]
#
#    Released under the Creative Commons Attribution 3.0 Unported License.   
#
#    If you use this code, please include this information header.
#
######################################################




# Main program
def main():
   
   # get current controller   
   controller = bge.logic.getCurrentController()
   
   # get the size of the game screen
   gameScreen = gameWindow()


   # get player cameras
   playerCams = playerCameras()
   
   # make player 1 camera the active camera
   activeCamera(playerCams)
     
   # set viewport size
   viewportSize(gameScreen, playerCams)
   
   # use viewports
   viewPorts(playerCams)


#####################################################


# Game window
def gameWindow():
   
   # get width and height of game window
   width = bge.render.getWindowWidth()
   height = bge.render.getWindowHeight()
   
   # return game window size
   return (width, height)


#####################################################


# Player cameras
def playerCameras():
     
   # get the current scene
   scene = bge.logic.getCurrentScene()
   
   # get list in objects in scene
   objList = scene.objects
   
   # get player cameras
   player1 = objList["Cam1"]   
   player2 = objList["Cam2"]
   
   # return player cameras
   return (player1, player2)


#####################################################


# Active Camera
def activeCamera(playerCams):


   # get current scene
   scene = bge.logic.getCurrentScene()


   # get player 1 camera
   player1 = playerCams[0]
   
   # make player 1 the active camera
   scene.active_camera = player1




#####################################################


# Viewport size
def viewportSize(gameScreen, playerCams):


   # game window width & height
   width = gameScreen[0]
   height = gameScreen[1]


   # player cameras
   player1 = playerCams[0]
   player2 = playerCams[1]
   
   # Player 1 viewport: top half
   left_1 = 0; bottom_1 = height/2; right_1 = width; top_1 = height
           
   #  Player 2 viewport: bottom half
   left_2 = 0; bottom_2 = 0; right_2 = width; top_2 = height/2  # ДОПУСТИМ ЗДЕСЬ ОШИПКА
   
   # make sure they are integers
   left_1 = int(left_1)
   bottom_1 = int(bottom_1)
   right_1 = int(right_1)
   top_1 = int(top_1)
   
   left_2 = int(left_2)
   bottom_2 = int(bottom_2)
   right_2 = int(right_2)
   top_2 = int(top_2)
   
   # set player viewports
   player1.setViewport( left_1, bottom_1, right_1, top_1)
   player2.setViewport( left_2, bottom_2, right_2, top_2)


#############################################################


# enable viewports   
def viewPorts(playerCams):


   # get player cameras
   player1 = playerCams[0]
   player2 = playerCams[1]
     
   # use viewports
   player1.useViewport = True
   player2.useViewport = True


#############################################################


#import bge
import bge


# Run Main Program
main()
Комментируй свои ошибки прямо своём коде и ссылайся на них в сообщении
Я добавил - "ДОПУСТИМ ЗДЕСЬ ОШИПКА"

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #49 : 07 Февраль 2017, 13:58:13 »
Код
######################################################
#
#    Viewports.py  Blender Game Engine
#
#    Tutorial can be found at
#
#    [url=http://www.tutorialsforblender3d.com]www.tutorialsforblender3d.com[/url]
#
#    Released under the Creative Commons Attribution 3.0 Unported License.   
#
#    If you use this code, please include this information header.
#
######################################################








# Основная программа
def main():
   
   # получаем текущий контроллер   
   controller = bge.logic.getCurrentController()
   
   # получаем размер игрового экрана
   gameScreen = gameWindow()




   # получаем камеры игроков
   playerCams = playerCameras()
   
   # делаем превую камеру 1 активной
   activeCamera(playerCams)
     
   # задаём размер отображения
   viewportSize(gameScreen, playerCams)
   
   # используем отображение
   viewPorts(playerCams)




#####################################################




# Игровое окно
def gameWindow():
   
   # получаем ширину и высоту игрового окна
   width = bge.render.getWindowWidth()
   height = bge.render.getWindowHeight()
   
   # возвращаем размеры игрового окна
   return (width, height)




#####################################################




# Камеры игроков
def playerCameras():
     
   # получаем текущую сцену
   scene = bge.logic.getCurrentScene()
   
   # получаем список объектов в сцене
   objList = scene.objects
   
   # получаем камеры игроков
   player1 = objList["Cam1"]   
   player2 = objList["Cam2"]
   
   # возвращаем (ссылки на) камеры игроков
   return (player1, player2)




#####################################################




# Активная камера
def activeCamera(playerCams):




   # получаем текущую сцену
   scene = bge.logic.getCurrentScene()




   # получаем камеру 1-го игрока
   player1 = playerCams[0]
   
   # делаем эту камеру активной
   scene.active_camera = player1








#####################################################




# Размер отображения
def viewportSize(gameScreen, playerCams):




   # игровое окно (ширина и высота)
   width = gameScreen[0]
   height = gameScreen[1]




   # камеры игроков
   player1 = playerCams[0]
   player2 = playerCams[1]
   
   # Игрок 1 отображается в верхней половине
   left_1 = 0; bottom_1 = height/2; right_1 = width; top_1 = height
           
   # Игрок 2 отображается в нижней половине
   left_2 = 0; bottom_2 = 0; right_2 = width; top_2 = height/2  # ДОПУСТИМ ЗДЕСЬ ОШИПКА
   
   # убеждаемся что значения целочиссленные
   left_1 = int(left_1)
   bottom_1 = int(bottom_1)
   right_1 = int(right_1)
   top_1 = int(top_1)
   
   left_2 = int(left_2)
   bottom_2 = int(bottom_2)
   right_2 = int(right_2)
   top_2 = int(top_2)
   
   # устанавливаем окна отображения игроков
   player1.setViewport( left_1, bottom_1, right_1, top_1)
   player2.setViewport( left_2, bottom_2, right_2, top_2)




#############################################################




# включаем окна отображения 
def viewPorts(playerCams):




   # получаем камеры игроков
   player1 = playerCams[0]
   player2 = playerCams[1]
     
   # используем отображение
   player1.useViewport = True
   player2.useViewport = True




#############################################################




# импортируем модуль bge
import bge




# Запускаем основную программу
main()

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #50 : 07 Февраль 2017, 14:34:59 »
Цитировать
4. Ну, уж и до кучи, как можно сделать вид из камеры с красной рамкой размером в полное окно открываемое в 3D виде, а вид из камеры с серой рамкой частью вида камеры с красной рамкой (окно в окне).
Лучше используй рендер в текстуру.

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #51 : 07 Февраль 2017, 15:31:29 »
Цитировать
Файл пристегнуть не удаётся, потому я по совету Samovar'а его сохранил на PasteAll.org, а как теперь на него сослаться не знаю. Называется "Области просмотра 2". Я не нашёл справку как пользоваться PasteAll.org, если можете - подкиньте ссылку.
После загрузки файла надо было скопировать его адрес из адресной строки твоего браузера в тему, и всё.
Но лучше заведи почту на Мэйл.ру или Яндексе, и пользуйся их хранилищами. Там файл будет хранится, пока ты его сам не удалишь.
Код копируй сюда, когда спрашиваешь, ограничивая его тегами кода (вставь текст кода, затем выдели текст кода и нажми кнопку {#} в панели редактирования сообщений).
Комментируй свои ошибки прямо своём коде и ссылайся на них в сообщении
Я добавил - "ДОПУСТИМ ЗДЕСЬ ОШИПКА"
«После загрузки файла надо было скопировать его адрес из адресной строки твоего браузера в тему, и всё» - не сообразил. Ожидал, что он мне сам предложит адрес ссылки.
«Но лучше заведи почту на Мэйл.ру или Яндексе, и пользуйся их хранилищами» - почта и там, и там есть, но сохранять ничего не приходилось – надо как-то ознакомиться.
Попробуйте посмотреть по этой ссылке: http://my-files.ru/pa0229
Сообщите, пожалуйста, удалось ли скачать.
Принты и ошибки – закомментированы.
3 часа интернет не работал – думал, что у меня, а это на линии что-то было.

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #52 : 07 Февраль 2017, 15:33:54 »
Цитировать
4. Ну, уж и до кучи, как можно сделать вид из камеры с красной рамкой размером в полное окно открываемое в 3D виде, а вид из камеры с серой рамкой частью вида камеры с красной рамкой (окно в окне).
Лучше используй рендер в текстуру.
Не понял... это как?

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #53 : 07 Февраль 2017, 16:10:19 »
Samovar, вот что пытаюсь сделать, но, к сожалению, пока не получается:
http://my-files.ru/hmr76m

345

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #54 : 07 Февраль 2017, 16:33:42 »
C оператором print  действительно какие-то проблемы. Надо вызывать волшебников: sungreen и Striver для разъяснений его поведения.
По рендеру в текстуру позже отпишусь, я тебе давал ссылку ранее и там есть пример. Но есть там и нюансы своебычные, увы: типа префикса "MA" для имени материала.

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #55 : 07 Февраль 2017, 16:39:19 »
C оператором print  действительно какие-то проблемы. Надо вызывать волшебников: sungreen и Striver для разъяснений его поведения.
По рендеру в текстуру позже отпишусь, я тебе давал ссылку ранее и там есть пример. Но есть там и нюансы своебычные, увы: типа префикса "MA" для имени материала.
Спасибо и на том... Вашу ссылку пока не смотрел - эта увлекла. Подожду вердикт волшебников, а потом уж гляну.

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #56 : 07 Февраль 2017, 16:42:56 »
Barabashka, переходи на Ты :) хватит Выкать... ты здесь давно...

Оффлайн Barabashka

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #57 : 07 Февраль 2017, 17:28:34 »
Barabashka, переходи на Ты :) хватит Выкать... ты здесь давно...
Приношу свои извинения, если доставляю неудобство в общении, но я много лет на "ТЫ" только с родными и очень близкими мне людьми - так мне проще.
Однако за предложение большое спасибо - ценю.

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #58 : 07 Февраль 2017, 18:11:30 »
Цитировать
Однако за предложение большое спасибо - ценю.
Переходи на ты и не парься... дело не в "близких людях и родственниках" :)
Или расскажи всем сколько тебе лет :)  И почему ты предпочитаешь общение "на Вы" :)

Оффлайн Samovar

  • Житель
Re: Знатоки Python, нужна помощь
« Ответ #59 : 07 Февраль 2017, 18:32:25 »
Визарды, реально нужна ваша помощь! Почему print нихрена не работает как должен?! Я  в скрипте подставлял и  print (heght, width) и print (str(heght), str(width)) , и даже ставил его выше (перед) оператора return в функции. Чито это за нафик? :)

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 9626
Автор: LEXA ANЭGROWND
blender.png
Скачано: 9710
Автор: ipv2007
4.png
Скачано: 9657
Автор: hiroyukiss
2.png
Скачано: 9644
Автор: hiroyukiss

Скачано: 9813
Автор: Dilifa12