http://pasteall.org/blend/ (срок хранения около 5 месяцев)и т.п.Но лучше использовать облачные хранилища привязанные к почтовому ящику на Яндексе (яндекс-диск) или Мэйл.ру (облако)
... ещё из того же источника можно посмотреть пример с разделением экрана на два вида, там как раз две камеры используются ...http://gametutorials.tutorialsforblender3d.com/Viewports/Page1
Файл пристегнуть не удаётся, потому я по совету 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 programdef 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 windowdef gameWindow(): # get width and height of game window width = bge.render.getWindowWidth() height = bge.render.getWindowHeight() # return game window size return (width, height)###################################################### Player camerasdef 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 Cameradef 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 sizedef 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 bgeimport bge# Run Main Programmain()
######################################################## 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 ############################################################## импортируем модуль bgeimport bge# Запускаем основную программуmain()
4. Ну, уж и до кучи, как можно сделать вид из камеры с красной рамкой размером в полное окно открываемое в 3D виде, а вид из камеры с серой рамкой частью вида камеры с красной рамкой (окно в окне).
ЦитироватьФайл пристегнуть не удаётся, потому я по совету Samovar'а его сохранил на PasteAll.org, а как теперь на него сослаться не знаю. Называется "Области просмотра 2". Я не нашёл справку как пользоваться PasteAll.org, если можете - подкиньте ссылку.После загрузки файла надо было скопировать его адрес из адресной строки твоего браузера в тему, и всё.Но лучше заведи почту на Мэйл.ру или Яндексе, и пользуйся их хранилищами. Там файл будет хранится, пока ты его сам не удалишь.Код копируй сюда, когда спрашиваешь, ограничивая его тегами кода (вставь текст кода, затем выдели текст кода и нажми кнопку {#} в панели редактирования сообщений).Комментируй свои ошибки прямо своём коде и ссылайся на них в сообщенииЯ добавил - "ДОПУСТИМ ЗДЕСЬ ОШИПКА"
Цитировать4. Ну, уж и до кучи, как можно сделать вид из камеры с красной рамкой размером в полное окно открываемое в 3D виде, а вид из камеры с серой рамкой частью вида камеры с красной рамкой (окно в окне).Лучше используй рендер в текстуру.
C оператором print действительно какие-то проблемы. Надо вызывать волшебников: sungreen и Striver для разъяснений его поведения.По рендеру в текстуру позже отпишусь, я тебе давал ссылку ранее и там есть пример. Но есть там и нюансы своебычные, увы: типа префикса "MA" для имени материала.
Barabashka, переходи на Ты хватит Выкать... ты здесь давно...
Однако за предложение большое спасибо - ценю.