Ejemplo n.º 1
0
    def __init__(self):
        ShowBase.__init__(self)
        application.base = base
        window.late_init()

        # camera
        camera._cam = base.camera
        camera._cam.reparent_to(camera)
        camera.parent = base.render
        camera.render = base.render
        camera.position = (0, 0, -20)
        scene.camera = camera
        camera.reparent_to(base.render)
        camera.set_up()
        base.render.set_antialias(AntialiasAttrib.MMultisample)
        self.accept('aspectRatioChanged', window.update_aspect_ratio)

        # input
        base.buttonThrowers[0].node().setButtonDownEvent('buttonDown')
        base.buttonThrowers[0].node().setButtonUpEvent('buttonUp')
        base.buttonThrowers[0].node().setButtonRepeatEvent('buttonHold')
        self._input_name_changes = {
            'mouse1': 'left mouse down',
            'mouse1 up': 'left mouse up',
            'mouse2': 'middle mouse down',
            'mouse2 up': 'middle mouse up',
            'mouse3': 'right mouse down',
            'mouse3 up': 'right mouse up',
            'wheel_up': 'scroll up',
            'wheel_down': 'scroll down',
            'arrow_left': 'left arrow',
            'arrow_left up': 'left arrow up',
            'arrow_up': 'up arrow',
            'arrow_up up': 'up arrow up',
            'arrow_down': 'down arrow',
            'arrow_down up': 'down arrow up',
            'arrow_right': 'right arrow',
            'arrow_right up': 'right arrow up',
            'lcontrol': 'left control',
            'rcontrol': 'right control',
            'lshift': 'left shift',
            'rshift': 'right shift',
            'lalt': 'left alt',
            'ralt': 'right alt',
            'lcontrol up': 'left control up',
            'rcontrol up': 'right control up',
            'lshift up': 'left shift up',
            'rshift up': 'right shift up',
            'lalt up': 'left alt up',
            'ralt up': 'right alt up',
            'control-mouse1': 'left mouse down',
            'control-mouse2': 'middle mouse down',
            'control-mouse3': 'right mouse down',
            'shift-mouse1': 'left mouse down',
            'shift-mouse2': 'middle mouse down',
            'shift-mouse3': 'right mouse down',
            'alt-mouse1': 'left mouse down',
            'alt-mouse2': 'middle mouse down',
            'alt-mouse3': 'right mouse down',
            'page_down': 'page down',
            'page_down up': 'page down up',
            'page_up': 'page up',
            'page_up up': 'page up up',
        }
        self.accept('buttonDown', self.input)
        self.accept('buttonUp', self.input_up)
        self.accept('buttonHold', self.input_hold)

        base.disableMouse()
        mouse._mouse_watcher = base.mouseWatcherNode
        mouse.enabled = True
        self.mouse = mouse

        scene.set_up()
        self._update_task = taskMgr.add(self._update, "update")

        # try to load settings that need to be applied before entity creation
        application.load_settings()

        if application.development_mode:
            from ursina import HotReloader
            application.hot_reloader = HotReloader(__main__.__file__)

        window.make_editor_gui()
Ejemplo n.º 2
0
    def __init__(
        self, **kwargs
    ):  # optional arguments: title, fullscreen, size, position, vsync, borderless, show_ursina_splash, render_mode, development_mode, editor_ui_enabled.
        for name in ('size', 'vsync'):
            if name in kwargs and hasattr(window, name):
                setattr(window, name, kwargs[name])

        if 'development_mode' in kwargs:
            application.development_mode = kwargs['development_mode']

        super().__init__()
        application.base = base
        gltf.patch_loader(self.loader)

        window.late_init()
        for name in ('title', 'fullscreen', 'position', 'show_ursina_splash',
                     'borderless', 'render_mode'):
            if name in kwargs and hasattr(window, name):
                setattr(window, name, kwargs[name])

        # camera
        camera._cam = base.camera
        camera._cam.reparent_to(camera)
        camera.render = base.render
        camera.position = (0, 0, -20)
        scene.camera = camera
        camera.set_up()

        # input
        base.buttonThrowers[0].node().setButtonDownEvent('buttonDown')
        base.buttonThrowers[0].node().setButtonUpEvent('buttonUp')
        base.buttonThrowers[0].node().setButtonRepeatEvent('buttonHold')
        self._input_name_changes = {
            'mouse1': 'left mouse down',
            'mouse1 up': 'left mouse up',
            'mouse2': 'middle mouse down',
            'mouse2 up': 'middle mouse up',
            'mouse3': 'right mouse down',
            'mouse3 up': 'right mouse up',
            'wheel_up': 'scroll up',
            'wheel_down': 'scroll down',
            'arrow_left': 'left arrow',
            'arrow_left up': 'left arrow up',
            'arrow_up': 'up arrow',
            'arrow_up up': 'up arrow up',
            'arrow_down': 'down arrow',
            'arrow_down up': 'down arrow up',
            'arrow_right': 'right arrow',
            'arrow_right up': 'right arrow up',
            'lcontrol': 'left control',
            'rcontrol': 'right control',
            'lshift': 'left shift',
            'rshift': 'right shift',
            'lalt': 'left alt',
            'ralt': 'right alt',
            'lcontrol up': 'left control up',
            'rcontrol up': 'right control up',
            'lshift up': 'left shift up',
            'rshift up': 'right shift up',
            'lalt up': 'left alt up',
            'ralt up': 'right alt up',
            'control-mouse1': 'left mouse down',
            'control-mouse2': 'middle mouse down',
            'control-mouse3': 'right mouse down',
            'shift-mouse1': 'left mouse down',
            'shift-mouse2': 'middle mouse down',
            'shift-mouse3': 'right mouse down',
            'alt-mouse1': 'left mouse down',
            'alt-mouse2': 'middle mouse down',
            'alt-mouse3': 'right mouse down',
            'page_down': 'page down',
            'page_down up': 'page down up',
            'page_up': 'page up',
            'page_up up': 'page up up',
        }
        self.accept('buttonDown', self.input)
        self.accept('buttonUp', self.input_up)
        self.accept('buttonHold', self.input_hold)

        base.disableMouse()
        mouse._mouse_watcher = base.mouseWatcherNode
        mouse.enabled = True
        self.mouse = mouse

        from ursina import gamepad

        scene.set_up()
        self._update_task = taskMgr.add(self._update, "update")

        # try to load settings that need to be applied before entity creation
        application.load_settings()

        from ursina import HotReloader
        # make sure it's running from a file and not an interactive session.
        application.hot_reloader = HotReloader(
            __main__.__file__ if hasattr(__main__, '__file__') else 'None')

        window.make_editor_gui()
        if 'editor_ui_enabled' in kwargs:
            window.editor_ui.enabled = kwargs['editor_ui_enabled']
Ejemplo n.º 3
0
    def __init__(self):
        super().__init__()
        application.base = base
        base.win.requestProperties(window)
        # base.win.setUnexposedDraw(False)

        window.late_init()
        time.dt = 0

        # camera
        camera._cam = base.camera
        camera._cam.reparent_to(camera)
        camera.parent = base.render
        camera.render = base.render
        camera.position = (0, 0, -20)
        scene.camera = camera
        camera.reparent_to(base.render)
        camera.set_up()
        # base.render.set_antialias(AntialiasAttrib.MMultisample)

        # input
        base.buttonThrowers[0].node().setButtonDownEvent('buttonDown')
        base.buttonThrowers[0].node().setButtonUpEvent('buttonUp')
        base.buttonThrowers[0].node().setButtonRepeatEvent('buttonHold')
        self._input_name_changes = {
            'mouse1': 'left mouse down',
            'mouse1 up': 'left mouse up',
            'mouse2': 'middle mouse down',
            'mouse2 up': 'middle mouse up',
            'mouse3': 'right mouse down',
            'mouse3 up': 'right mouse up',
            'wheel_up': 'scroll up',
            'wheel_down': 'scroll down',
            'arrow_left': 'left arrow',
            'arrow_left up': 'left arrow up',
            'arrow_up': 'up arrow',
            'arrow_up up': 'up arrow up',
            'arrow_down': 'down arrow',
            'arrow_down up': 'down arrow up',
            'arrow_right': 'right arrow',
            'arrow_right up': 'right arrow up',
            'lcontrol': 'left control',
            'rcontrol': 'right control',
            'lshift': 'left shift',
            'rshift': 'right shift',
            'lalt': 'left alt',
            'ralt': 'right alt',
            'lcontrol up': 'left control up',
            'rcontrol up': 'right control up',
            'lshift up': 'left shift up',
            'rshift up': 'right shift up',
            'lalt up': 'left alt up',
            'ralt up': 'right alt up',
            'control-mouse1': 'left mouse down',
            'control-mouse2': 'middle mouse down',
            'control-mouse3': 'right mouse down',
            'shift-mouse1': 'left mouse down',
            'shift-mouse2': 'middle mouse down',
            'shift-mouse3': 'right mouse down',
            'alt-mouse1': 'left mouse down',
            'alt-mouse2': 'middle mouse down',
            'alt-mouse3': 'right mouse down',
            'page_down': 'page down',
            'page_down up': 'page down up',
            'page_up': 'page up',
            'page_up up': 'page up up',
        }
        self.accept('buttonDown', self.input)
        self.accept('buttonUp', self.input_up)
        self.accept('buttonHold', self.input_hold)

        base.disableMouse()
        mouse._mouse_watcher = base.mouseWatcherNode
        mouse.enabled = True
        self.mouse = mouse

        from ursina import gamepad

        scene.set_up()
        self._update_task = taskMgr.add(self._update, "update")

        # try to load settings that need to be applied before entity creation
        application.load_settings()

        from ursina import HotReloader
        # make sure it's running from a file and not an interactive session.
        application.hot_reloader = HotReloader(
            __main__.__file__ if hasattr(__main__, '__file__') else 'None')

        window.make_editor_gui()
Ejemplo n.º 4
0
    def __init__(self,
                 init_showbase=True,
                 base_=None,
                 disable_pause=False,
                 render_pipeline=None):
        if (render_pipeline and init_showbase):
            render_pipeline.pre_showbase_init()
            ShowBase.__init__(self)
            render_pipeline.create(self)
            application.base = base

        if (init_showbase and not render_pipeline):
            ShowBase.__init__(self)
            application.base = base

        if (not init_showbase) and render_pipeline:
            render_pipeline.create(self)
            application.base = base

        window.late_init()
        print(f"Current Camera: {base.cam}")

        self.disable_pause = disable_pause
        for dr in base.win.getDisplayRegions():
            drcam = dr.getCamera()
            print(drcam)
            if drcam == base.cam:
                print("region Camera equal to base.cam")
                region = dr

        if True:
            # camera
            camera._cam = base.camera
            camera._cam.reparent_to(camera)
            camera.parent = base.render
            camera.render = base.render
            camera.position = (0, 0, -20)
            scene.camera = camera
            camera.reparent_to(base.render)
            camera.set_up(use_filters=(render_pipeline == None))
            base.render.set_antialias(AntialiasAttrib.MMultisample)

            window.make_exit_button()
            camera.overlay = window.overlay

        # input
        base.buttonThrowers[0].node().setButtonDownEvent('buttonDown')
        base.buttonThrowers[0].node().setButtonUpEvent('buttonUp')
        base.buttonThrowers[0].node().setButtonRepeatEvent('buttonHold')
        self._input_name_changes = {
            'mouse1': 'left mouse down',
            'mouse1 up': 'left mouse up',
            'mouse2': 'middle mouse down',
            'mouse2 up': 'middle mouse up',
            'mouse3': 'right mouse down',
            'mouse3 up': 'right mouse up',
            'wheel_up': 'scroll up',
            'wheel_down': 'scroll down',
            'arrow_left': 'left arrow',
            'arrow_left up': 'left arrow up',
            'arrow_up': 'up arrow',
            'arrow_up up': 'up arrow up',
            'arrow_down': 'down arrow',
            'arrow_down up': 'down arrow up',
            'arrow_right': 'right arrow',
            'arrow_right up': 'right arrow up',
            'lcontrol': 'left control',
            'rcontrol': 'right control',
            'lshift': 'left shift',
            'rshift': 'right shift',
            'lalt': 'left alt',
            'ralt': 'right alt',
            'lcontrol up': 'left control up',
            'rcontrol up': 'right control up',
            'lshift up': 'left shift up',
            'rshift up': 'right shift up',
            'lalt up': 'left alt up',
            'ralt up': 'right alt up',
            'control-mouse1': 'left mouse down',
            'control-mouse2': 'middle mouse down',
            'control-mouse3': 'right mouse down',
            'shift-mouse1': 'left mouse down',
            'shift-mouse2': 'middle mouse down',
            'shift-mouse3': 'right mouse down',
            'alt-mouse1': 'left mouse down',
            'alt-mouse2': 'middle mouse down',
            'alt-mouse3': 'right mouse down',
            'page_down': 'page down',
            'page_down up': 'page down up',
            'page_up': 'page up',
            'page_up up': 'page up up',
        }
        self.accept('buttonDown', self.input)
        self.accept('buttonUp', self.input_up)
        self.accept('buttonHold', self.input_hold)

        base.disableMouse()
        mouse._mouse_watcher = base.mouseWatcherNode
        mouse.enabled = True
        self.mouse = mouse

        scene.set_up()
        self._update_task = taskMgr.add(self._update, "update")

        from ursina import HotReloader
        application.hot_reloader = HotReloader(__main__.__file__)

        # try to load settings that need to be applied before entity creation
        try:
            with open(application.asset_folder / 'settings.py') as f:
                try:
                    exec(f.read())
                except:
                    pass
        except:
            print('no settings.py file')
Ejemplo n.º 5
0
    def __init__(self):
        ShowBase.__init__(self)
        render = base.render
        application.base = base
        window.late_init()

        # camera
        camera._cam = base.camera
        camera._cam.reparent_to(camera)
        camera.parent = base.render
        camera.render = base.render
        camera.position = (0, 0, -20)
        scene.camera = camera
        camera.reparent_to(base.render)
        camera.set_up()
        render.set_antialias(AntialiasAttrib.MMultisample)
        # reapply screen effect to make it work in new resolution
        # print('adfaaaaaa:', application.base.win)
        # from direct.filter.CommonFilters import CommonFilters
        # filters = CommonFilters(scene.base.win, scene.base.cam)
        # filters.setAmbientOcclusion(
        #     numsamples=64,
        #     radius=0.1,
        #     amount=5.0,
        #     strength=0.05,
        #     falloff=0.000002
        # )
        window.make_exit_button()

        print('...........', window.overlay)
        camera.overlay = window.overlay

        # input
        base.buttonThrowers[0].node().setButtonDownEvent('buttonDown')
        base.buttonThrowers[0].node().setButtonUpEvent('buttonUp')
        base.buttonThrowers[0].node().setButtonRepeatEvent('buttonHold')
        self._input_name_changes = {
            'mouse1': 'left mouse down',
            'mouse1 up': 'left mouse up',
            'mouse2': 'middle mouse down',
            'mouse2 up': 'middle mouse up',
            'mouse3': 'right mouse down',
            'mouse3 up': 'right mouse up',
            'wheel_up': 'scroll up',
            'wheel_down': 'scroll down',
            'arrow_left': 'arrow left',
            'arrow_left up': 'arrow left up',
            'arrow_up': 'arrow up',
            'arrow_up up': 'arrow up up',
            'arrow_down': 'arrow down',
            'arrow_down up': 'arrow down up',
            'arrow_right': 'arrow right',
            'arrow_right up': 'arrow right up',
            'lcontrol': 'left control',
            'rcontrol': 'right control',
            'lshift': 'left shift',
            'rshift': 'right shift',
            'lalt': 'left alt',
            'ralt': 'right alt',
            'lcontrol up': 'left control up',
            'rcontrol up': 'right control up',
            'lshift up': 'left shift up',
            'rshift up': 'right shift up',
            'lalt up': 'left alt up',
            'ralt up': 'right alt up',
            'control-mouse1': 'left mouse down',
            'control-mouse2': 'middle mouse down',
            'control-mouse3': 'right mouse down',
            'shift-mouse1': 'left mouse down',
            'shift-mouse2': 'middle mouse down',
            'shift-mouse3': 'right mouse down',
            'alt-mouse1': 'left mouse down',
            'alt-mouse2': 'middle mouse down',
            'alt-mouse3': 'right mouse down',
            'page_down': 'page down',
            'page_down up': 'page down up',
            'page_up': 'page up',
            'page_up up': 'page up up',
        }
        self.accept('buttonDown', self.input)
        self.accept('buttonUp', self.input_up)
        self.accept('buttonHold', self.input_hold)

        base.disableMouse()
        mouse._mouse_watcher = base.mouseWatcherNode
        mouse.enabled = True
        self.mouse = mouse

        scene.set_up()
        self._update_task = taskMgr.add(self._update, "update")

        from ursina import HotReloader
        application.hot_reloader = HotReloader(__main__.__file__)

        def _hot_reloader_input(key):
            if key == 'f5':
                application.hot_reloader.reload()

        application.hot_reloader.input = _hot_reloader_input