笔记13:Carla官方文档阅读 -- 2nd【Actors and Blueprints】/【(3)Types of Actors】/【2)Spectators】

import sys
try:
    sys.path.append('D:\work_software\Carla\Carla_0.9.10\CARLA_0.9.10\WindowsNoEditor\PythonAPI\carla\dist\carla-0.9.10-py3.7-win-amd64.egg')
except IndexError:
    pass


import carla
import random
import time

# 创建 client
client = carla.Client("localhost", 2000)
client.set_timeout(5.0)
# 创建 world
world = client.get_world()
# 创建 vehicle actor
blueprint_library = world.get_blueprint_library()
vehicle_blueprint = random.choice(blueprint_library.filter("vehicle.*.*"))
vehicle_transform = carla.Transform(carla.Location(x = 100, y = 200 , z = 10), carla.Rotation(yaw = -180))
vehicle_actor = world.spawn_actor(vehicle_blueprint, vehicle_transform)
# 设置 vehicle actor 为自动驾驶模式
vehicle_actor.set_autopilot()




#(3)Types of actorss
# ------------------------------------------------------------------------------------------------------------------------
# 2.观众 -- Spectator
#           注:由虚幻引擎放置以提供游戏内的视角,它可用于移动模拟器窗口的视图

# 示例:以下示例将移动观众actor,将视角指向所需的车辆
spectator = world.get_spectator()       # 函数【carla.World.get_spectator()】:
                                        #           作用:返回一个观众型的actor,观众是虚幻引擎创建的一种特殊类型的actor,通常ID=0,充当摄像机并控制模拟器窗口中的视图
                                        #           返回值:【类 carla.Actor】
print("\n", spectator)      # Actor(id=1, type=spectator)
print(type(spectator))      # <class 'carla.libcarla.Actor'>

spectator_location = vehicle_transform.location + carla.Location(z = 50)
spectator_rotation = carla.Rotation(pitch = -90)
spectator.set_transform(carla.Transform(spectator_location, spectator_rotation))


# 总结一下【spectator actor】的创建过程:
#       注1:蓝图库中是没有【spectator】的蓝图的,所以创建【spectator】不能用函数【carla.World.spawn_actor()】
#       注2:真正创建【spectator】的方法如下:
#               (1)通过函数【carla.World.get_spectator()】获取类型为【carla.Actor】的【spectator】actor    ---   注意:其他的actor都有对应的类型,如【carla.Vehicle】/【carla.Sensor】,但是【spectator actor】没有,他的类型就是基类【carla.Actor】
#               (2)指定【spectator】这个actor的生成点,利用函数【carla.Transform( carla.Location(), carla.Rotation() )】

注:my_test_script_5.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值