Panda3D包含一个称为场景图Scene Graph的数据结构。场景图Scene Graph 是包含所有需要渲染的对象的树。树的根是一个名为render的对象。在首次插入到场景图Scene Graph之前,不会渲染任何内容。

为了将草景模型安装到场景图中,我们使用reparentTo()方法。这将设置模型的父级,从而使其在场景图中占有一席之地。这样做会使模型在场景中可见。

最后,调整模型的位置和比例。在这个特殊的例子中,环境模型有点太大,对于我们的目的来说有些偏移。setScale()和setPos()过程重新缩放模型并使其居中。

Panda3D使用“地理”坐标系,其中位置(-8,42,0)表示地图坐标(8,42)和高度0。如果您习惯于OpenGL/Direct3D坐标,则以经典姿势举起右手,拇指为X,手指为Y,手掌为Z,朝向您;然后向后倾斜,直到您的手水平,手指指向别处,手掌朝上。在Panda3D中向前移动是Y坐标的正变化。

岩石和树似乎在盘旋。相机略低于地面,背面剔除使我们看不见地面。如果我们重新定位相机,地形会看起来更好。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from direct.showbase.ShowBase import ShowBaseclass MyApp(ShowBase):def __init__(self):ShowBase.__init__(self)# Load the environment model.self.scene = self.loader.loadModel("models/environment")# Reparent the model to render.self.scene.reparentTo(self.render)# Apply scale and position transforms on the model.self.scene.setScale(0.25, 0.25, 0.25)self.scene.setPos(-8, 42, 0)app = MyApp()
app.run()

python3的3D实战-基于panda3d(2)相关推荐

  1. python3的3D实战 -基于panda3d(4)

    Actor类是用于动画模型的.请注意,我们仅在静态模型和Actor是动画时才使用loadModel().Actor类的两个构造函数参数是包含模型的文件名称和包含包含动画的文件名称的Python字典. ...

  2. python3的3D实战-基于panda3d(1)

    Panda 3D 是一个3D游戏引擎:一个 3D 渲染和游戏开发库 开发维护者:迪士尼VR工作室和卡耐基梅隆娱乐技术中心 授权协议:BSD 类继承自ShowBase.这个类加载大多数其他Panda3D ...

  3. python3的3D实战 -基于panda3d(3)

    控制摄像头 默认摄影机控制系统 默认情况下,Pand3D运行一个任务,允许您使用鼠标移动相机. 导航的关键点是: 鼠标按钮 行动 左按钮:左右平移. 右按钮:前后移动. 中间按钮:围绕应用程序的原点旋 ...

  4. python3的3D开发-基于blender(1)

    Blender Python API特性: 编辑用户界面可以编辑的任何数据(场景,网格,粒子等). 修改用户首选项.键图和主题. 使用自己的设置运行工具. 创建用户界面元素,如菜单,标题和面板. 创建 ...

  5. python3的3D开发-基于blender(2)

    访问集合 输出当前对象集合中的对象名字. >>> for obj in bpy.data.objects: ... print(obj.name) ... Camera Cube L ...

  6. Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM

    原 Python3<机器学习实战>学习笔记(八):支持向量机原理篇之手撕线性SVM 置顶 2017年09月23日 17:50:18 阅读数:12644 转载请注明作者和出处: https: ...

  7. Python3《机器学习实战》学习笔记(三):决策树实战篇

    转载请注明作者和出处: http://blog.csdn.net/c406495762  运行平台: Windows  Python版本: Python3.x  IDE: Sublime text3 ...

  8. 自动化运维-----项目实战: 基于Ansible的云平台自动化运维系统

    文章目录 项目实战: 基于Ansible的云平台自动化运维系统 一.项目介绍 1.项目介绍 2.项目背景 二.项目环境搭建 1.项目目录的配置 2.远程服务器虚拟环境的配置 3.MySQL数据库配置 ...

  9. 机器学习实战:基于Scikit-Learn.Keras和TensorFlow(原书第2版) 奥雷利安·杰龙——环境搭建anaconda

    这个学期开了一门课,机器学习 然后实验部分用的是这本教材:机器学习实战:基于Scikit-Learn.Keras和TensorFlow 奥雷利安·杰龙,第几版的就不知道了. 用最新的机器学习库,一定会 ...

最新文章

  1. 解决问题 inner element must either be a resource reference or empty.
  2. 如何快速在Linux系统的硬盘上创建大文件
  3. C语言实现斐波那契搜索Fibonacci search算法(附完整源码)
  4. java中多线程 - 多线程中的基本方法
  5. python零基础知识_python 零基础 基本知识
  6. linux系统设置软连接
  7. Linux(Ubuntu)上的VULKAN环境配置步骤记录
  8. C++ setw() 函数
  9. 读《从优秀到卓越》乱摘
  10. echarts-gl三维展示自定义地图
  11. android导出微信朋友圈怎么发文字,微信朋友圈怎么发纯文字?看完这篇文章,你就知道该怎么操作了...
  12. 角度前方交会点坐标计算完整步骤
  13. 【STM32_hal库驱动NRF24L01】
  14. 10款Github上最火爆的国产开源项目
  15. 退役倒计时 | 2019CCPC厦门打铁游记
  16. 720获取蓝牙MAC地址的方法
  17. 公务员考试计算机基础试题,【公务员】计算机基础考试试题(必背资料)
  18. HAproxy的配置详解
  19. html打字练习测试代码,javascript写的一个练习打字的小程序
  20. TurnipBit - DIY音乐盒

热门文章

  1. get与post请求问题
  2. UVa 10082 - WERTYU 解题报告 - C语言
  3. Gradle初探(一):创建一个Gradle项目
  4. 【转载】c语言中的可变参数编程
  5. 对Extjs中store的多种操作
  6. shell 输入输出重定向
  7. Codeforces 989C (构造)
  8. 全选checkbox只能执行一次的问题
  9. 设计模式 -(5)装饰模式(结构型)
  10. 纯css3开发的响应式设计动画菜单(支持ie8)