Я использую движок Ursina для создания 3D-игры. Однако когда я пытаюсь загрузить FirstPersonCharacter, все, что я получаю, это серый фон (обычный) и очень маленький пурпурный квадрат в центре, наклоненный под углом 45°. Что это?
Сначала я пытался создать свою собственную механику для персонажа от первого лица, перемещать камеру в соответствии с положением мыши (у меня есть это), и я играл с математикой и прочим для движений... Я смотрел это видео () совершенно для чего-то другого и узнал о FirstPersonController.
Но с (почти) тот же код, что и у него, он не работает! Что это за проблема, кто-нибудь уже сталкивался с этим? FirstPersonController сломан? Или мой мозг сломан?
Редактировать: в шпаргалке ursina обнаружил, что маленький наклоненный пурпурный квадрат является курсором. Но я все еще не могу двигаться, у меня нет гравитации или чего-то в этом роде? И я не вижу своего пола.
Второе редактирование: используя какой-то фрагмент кода из шпаргалки ursina, организованный, теперь я могу видеть свой пол. Но я могу перемещать камеру только по одной оси (вверх и вниз), я не могу двигаться, ни гравитации, ничего...
Вот мой код:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
app = Ursina()
window.title = 'The lab'
window.borderless = False
window.fullscreen = True
window.exit_button.visible = False
window.fps_counter.enabled = True
floorcubes = []
for i in range(-20, 20, 2):
for j in range(-20, 20, 2):
floorcubes.append(Entity(model='cube', color=color.white, scale=(2,2,2), position = (i, 0, j)))
player = FirstPersonController()
app.run()
Вот немного упорядоченный код, представленный в шпаргалке ursina:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
app = Ursina()
ground = Entity(model='plane', scale=(100,1,100), color=color.yellow.tint(-.2), texture='white_cube', texture_scale=(100,100), collider='box', position = (0, -2, 0), grounded = True)
e = Entity(model='cube', scale=(1,5,10), x=2, y=.01, rotation_y=45, collider='box', texture='white_cube')
e.texture_scale = (e.scale_z, e.scale_y)
e = Entity(model='cube', scale=(1,5,10), x=-2, y=.01, collider='box', texture='white_cube')
e.texture_scale = (e.scale_z, e.scale_y)
player = FirstPersonController(model='cube', y=2, origin_y=-.5, gravity = 1)
player.gun = None
gun = Button(parent=scene, model='cube', color=color.blue, origin_y=-.5, position=(3,0,3), collider='box')
gun.on_click = Sequence(Func(setattr, gun, 'parent', camera), Func(setattr, player, 'gun', gun))
gun_2 = duplicate(gun, z=7, x=8)
slope = Entity(model='cube', collider='box', position=(0,0,8), scale=6, rotation=(45,0,0), texture='brick', texture_scale=(8,8))
slope = Entity(model='cube', collider='box', position=(5,0,10), scale=6, rotation=(80,0,0), texture='brick', texture_scale=(8,8))
def input(key):
if key == 'left mouse down' and player.gun:
gun.blink(color.orange)
bullet = Entity(parent=gun, model='cube', scale=.1, color=color.black)
bullet.world_parent = scene
bullet.animate_position(bullet.position+(bullet.forward*50), curve=curve.linear, duration=1)
destroy(bullet, delay=1)
app.run()
Благодаря ответу у меня есть:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
import pyautogui
import random
import math
app = Ursina()
is_fullscreen = True
window.title = 'The lab'
window.borderless = False
window.fullscreen = is_fullscreen
window.exit_button.visible = False
window.fps_counter.enabled = True
latest_mouse_pos = pyautogui.position()
pyautogui.FAILSAFE = False
sensibility = 2.5
mouse.visible = True
floorcube = Entity(model="cube", color = color.white, scale=(20, 1, 20), collider="box", position=(0, -100, 0))
def update():
global latest_mouse_pos
if held_keys['f']:
camera.fov += 1
if held_keys['r']:
camera.fov -= 1
player = FirstPersonController()
app.run()
Подробнее здесь: https://stackoverflow.com/questions/675 ... -in-ursina
Проблема с FirstPersonController в Ursina ⇐ Python
Программы на Python
1767998671
Anonymous
Я использую движок Ursina для создания 3D-игры. Однако когда я пытаюсь загрузить FirstPersonCharacter, все, что я получаю, это серый фон (обычный) и очень маленький пурпурный квадрат в центре, наклоненный под углом 45°. Что это?
Сначала я пытался создать свою собственную механику для персонажа от первого лица, перемещать камеру в соответствии с положением мыши (у меня есть это), и я играл с математикой и прочим для движений... Я смотрел это видео ([youtube]DHSRaVeQxIk[/youtube]) совершенно для чего-то другого и узнал о FirstPersonController.
Но с (почти) тот же код, что и у него, он не работает! Что это за проблема, кто-нибудь уже сталкивался с этим? FirstPersonController сломан? Или мой мозг сломан?
Редактировать: в шпаргалке ursina обнаружил, что маленький наклоненный пурпурный квадрат является курсором. Но я все еще не могу двигаться, у меня нет гравитации или чего-то в этом роде? И я не вижу своего пола.
Второе редактирование: используя какой-то фрагмент кода из шпаргалки ursina, организованный, теперь я могу видеть свой пол. Но я могу перемещать камеру только по одной оси (вверх и вниз), я не могу двигаться, ни гравитации, ничего...
Вот мой код:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
app = Ursina()
window.title = 'The lab'
window.borderless = False
window.fullscreen = True
window.exit_button.visible = False
window.fps_counter.enabled = True
floorcubes = []
for i in range(-20, 20, 2):
for j in range(-20, 20, 2):
floorcubes.append(Entity(model='cube', color=color.white, scale=(2,2,2), position = (i, 0, j)))
player = FirstPersonController()
app.run()
Вот немного упорядоченный код, представленный в шпаргалке ursina:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
app = Ursina()
ground = Entity(model='plane', scale=(100,1,100), color=color.yellow.tint(-.2), texture='white_cube', texture_scale=(100,100), collider='box', position = (0, -2, 0), grounded = True)
e = Entity(model='cube', scale=(1,5,10), x=2, y=.01, rotation_y=45, collider='box', texture='white_cube')
e.texture_scale = (e.scale_z, e.scale_y)
e = Entity(model='cube', scale=(1,5,10), x=-2, y=.01, collider='box', texture='white_cube')
e.texture_scale = (e.scale_z, e.scale_y)
player = FirstPersonController(model='cube', y=2, origin_y=-.5, gravity = 1)
player.gun = None
gun = Button(parent=scene, model='cube', color=color.blue, origin_y=-.5, position=(3,0,3), collider='box')
gun.on_click = Sequence(Func(setattr, gun, 'parent', camera), Func(setattr, player, 'gun', gun))
gun_2 = duplicate(gun, z=7, x=8)
slope = Entity(model='cube', collider='box', position=(0,0,8), scale=6, rotation=(45,0,0), texture='brick', texture_scale=(8,8))
slope = Entity(model='cube', collider='box', position=(5,0,10), scale=6, rotation=(80,0,0), texture='brick', texture_scale=(8,8))
def input(key):
if key == 'left mouse down' and player.gun:
gun.blink(color.orange)
bullet = Entity(parent=gun, model='cube', scale=.1, color=color.black)
bullet.world_parent = scene
bullet.animate_position(bullet.position+(bullet.forward*50), curve=curve.linear, duration=1)
destroy(bullet, delay=1)
app.run()
Благодаря ответу у меня есть:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
import pyautogui
import random
import math
app = Ursina()
is_fullscreen = True
window.title = 'The lab'
window.borderless = False
window.fullscreen = is_fullscreen
window.exit_button.visible = False
window.fps_counter.enabled = True
latest_mouse_pos = pyautogui.position()
pyautogui.FAILSAFE = False
sensibility = 2.5
mouse.visible = True
floorcube = Entity(model="cube", color = color.white, scale=(20, 1, 20), collider="box", position=(0, -100, 0))
def update():
global latest_mouse_pos
if held_keys['f']:
camera.fov += 1
if held_keys['r']:
camera.fov -= 1
player = FirstPersonController()
app.run()
Подробнее здесь: [url]https://stackoverflow.com/questions/67588962/issue-with-firstpersoncontroller-in-ursina[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия