Tasks <<
Previous Next >> Shooter
Closing
在 Webots supervisor 模式下建立 sphere (利用監控模式建立節點):
# 定義一個函數,用於創建球的節點
def create_sphere(supervisor, position):
def_name = generate_valid_def_name() # 獲取唯一的 DEF 名稱
sphere_string = f"""
DEF {def_name} Solid {{
translation {position[0]} {position[1]} {position[2]} # 設置球的初始位置
children [
Shape {{
geometry Sphere {{
radius {sphere_radius} # 設置球的半徑
}}
appearance Appearance {{
material Material {{
diffuseColor 1 0 0 # 設置球的顏色為紅色
}}
}}
}}
]
physics Physics {{
mass 0.1 # 設置球的質量
}}
boundingObject Sphere {{
radius {sphere_radius} # 設置碰撞邊界為球形
}}
}}
"""
root = supervisor.getRoot() # 獲取模擬場景的根節點
children_field = root.getField("children") # 獲取根節點的子節點字段
children_field.importMFNodeFromString(-1, sphere_string) # 將新創建的球節點加入模擬
return def_name # 返回球的 DEF 名稱
在 supervisor 模式移除節點 (remove node):
# 定義一個函數,用於移除球的節點
def remove_object(node):
node.remove() # 調用 Webots 的 remove 方法移除節點
Tasks <<
Previous Next >> Shooter