目录

前言(阿巴阿巴)

上帝视角

导入人物模型和动作模型


前言(阿巴阿巴)

前几天无意间看到了一个叫做panda3d的东西,觉得挺好玩,就翻教程,发现现在中文教程似乎没有那么全面成体系,大部分都是复制粘贴过来官网的实例然后就发布出去了,看得云里雾里的,所以我决定自己去摸索一下这个panda3d,学panda3d的小伙伴中间肯定遇到过很多坑,也有过很多不理解的地方,不过没关系,来瞅瞅我的这个panda3d教程,给你个比较全面的讲解。我整了个QQ群,180962166,有不会的进来问就行(如果我会的话)好了,正式开始。

书接上回,上回咱们把模型文件加载出来了,但是只有一个图片一样的窗口,很是无趣,所以这节会增加一些互动性。

上帝视角

在许多游戏里都有一个上帝视角,你可以去任何你想去的地方,看任何你想看的东西,panda3d也不例外,只不过这里想要看上帝视角需要你自己折腾一下了。

咱们先说操作,首先运行下面这段代码

from direct.showbase.ShowBase import ShowBase
from panda3d.core import WindowProperties
class Game(ShowBase):def __init__(self):ShowBase.__init__(self)# 设置窗体大小properties = WindowProperties()properties.setSize(1280, 960)self.win.requestProperties(properties)self.environment = self.loader.loadModel("Environment/environment")self.environment.reparentTo(self.render)game = Game()
game.run()

是不是很眼熟,没错,这就是上一篇的代码,但是我拿它出来可不是为了凑字数,它是有大用处的,看我给你表演。

运行起来会出现一个窗口

既然说了要看上帝视角,那肯定需要移动镜头对吧, 此时在窗口中,按住鼠标左键不放,移动一下,哎~你发现镜头开始移动了

这就是我要说的第一点,鼠标左键,可以控制视角移动,只不过只能上下左右移动。但是有的小伙伴就问了,万一我导入了一个好看的妹妹模型,我想仔细观察一下咋办,你这只能上下左右,看着不过瘾呐,别急,看下一个操作

按住鼠标右键不放,然后把鼠标指针往下稍微移动一点,神奇的事情发生了,你看到了妹妹高清无码的大脸(当然我没有好看妹妹的模型,你想要的话可以自己用blender做一个),那么这个鼠标右键就是调整视角远近了,可以拉近可以拉远

有人问了(没人问的话我自己问一下不行嘛<(ˉ^ˉ)>  ),upup,鼠标左键右键我都会了,鼠标中键干啥的呢,鼠标中键是用来调整视角的,你自己试试就知道了,我这里贴两张图,具体效果你自己实践吧

还有一个隐藏操作,那就是按住鼠标中间的滚轮不放,然后按右键拖动一下,你会发现,哎~旋转起来了,转起来了。

省流:鼠标左键控制    ↑   ←   ↓  →

鼠标右键控制远近

鼠标中键控制视角

鼠标中键按住不放的同时按鼠标右键并且拖动控制旋转

嗯,差不多就这些,别的我也不会,有别的操作的话评论区教我一下。

导入人物模型和动作模型

上面巴拉巴拉说了一堆,是不是看的有点不耐烦了,来,咱们回归代码,代码多有意思。

看标题就知道,这个部分讲的是人物和动作,直接上代码

from direct.showbase.ShowBase import ShowBase
from panda3d.core import WindowProperties#####################################################
# 加载人物模型用这个东西
from direct.actor.Actor import Actor
#####################################################class Game(ShowBase):def __init__(self):ShowBase.__init__(self)properties = WindowProperties()properties.setSize(1200, 950)self.win.requestProperties(properties)self.environment = self.loader.loadModel("Environment/environment")self.environment.reparentTo(self.render)############################################################# 禁用鼠标调整视角,加上这个之后就不能进入上帝视角了self.disableMouse()# 加载一个人物模型和一个动作模型# 人物模型是在我的Environment下有一个叫做act_p3d_chan的模型文件,动作模型也是# Actor里传俩东西,第一个是你的人物模型文件路径,第二个是一个字典,字典包括动作名称和动作模型路径self.tempActor = Actor("Environment/act_p3d_chan",#这个地方,walk可以随便改,一个名字而已,你可以叫它小白,或者beautifulGirl,# 但是因为我这里是一个行走的动作,所以我叫它walk{"walk": "Environment/a_p3d_chan_run"})# 同样把当前的人物模型挂载到render下self.tempActor.reparentTo(self.render)#调整一下位置self.tempActor.setPos(0, 7, 0)self.camera.setPos(0, -3, 0)# 启动动作循环,然后你就能看到一个小人在不停的走了self.tempActor.loop("walk")# 循环动作##############################################################game = Game()
game.run()

讲解都在代码块里了,不多赘述,贴两张运行的结果图然后咱们就下节再见了(麻了,边复习考研边写教程,累死˶´⚰︎`˵)

panda3d虚幻引擎--(2)相关推荐

  1. panda3d虚幻引擎--(1)

    目录 前言(阿巴阿巴) 安装 调整窗口 导入环境 前言(阿巴阿巴) 前几天无意间看到了一个叫做panda3d的东西,觉得挺好玩,就翻教程,发现现在中文教程似乎没有那么全面成体系,大部分都是复制粘贴过来 ...

  2. 4 关卡编辑器_虚幻引擎4与生存游戏产生化学反应,超真实开放世界手游诞生

    从<绝地求生>到<街霸5>.从<最终幻想7重制版>到<黑神话:悟空>,这些人气产品有着一个共同的特点:都使用虚幻引擎开发.11月27日举行的虚幻引擎技术 ...

  3. 元宇宙开发:你在虚幻引擎中的第一个虚拟现实游戏

    了解如何开发零编程背景的Oculus Quest游戏 你会学到什么 为Oculus Quest构建应用程序 设计和开发虚拟现实游戏 在虚幻引擎中工作 使用材料和纹理 优化内容,实现移动和虚拟现实游戏的 ...

  4. 完整的虚幻引擎超级课程:从初学者到专家

    通过这个循序渐进的课程,学习如何像专业人士一样开发游戏和设计! 你会学到什么 如何使用虚幻引擎及其元素 电子游戏力学原理 平衡计分卡几何原理 蓝图脚本的原则 如何设计.开发和编写你的关卡来复制你最喜欢 ...

  5. 虚幻引擎的数学知识学习教程 Math for Unreal Engine (Early Preview)

    通过做真实世界的 Unreal Engine项目来学习数学 你会学到什么 理解游戏开发对数学的基本需求 将数学直接应用到用例中,而不是钻研理论(用我们的示例项目进行实践) 正确编辑短视频,节省您的时间 ...

  6. 虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通

    UE5 Niagara学习教程  课程获取:虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通-云桥网 你会学到什么 我将通过创建各种各样的实时效果来教你虚幻引擎中强大的粒子系统. 我们将从简单的基 ...

  7. 【UE5】虚幻引擎5中的VFX游戏特效制作学习教程

    从零开始学习虚幻引擎5中的实时VFX. 你会学到什么 了解如何创建实时效果 通过创造效果来学习Niagara 了解Niagara是如何运作的 为游戏创造各种各样的效果. 创造风格化的火 创建风格化的爆 ...

  8. 业余快速学习虚幻引擎教程

    仅用5小时学会虚幻引擎! 你会学到什么 专为希望在业余时间打造虚幻引擎技能的艺术家和开发人员量身定制的专业技术 从几何图形到材料,从照明到互动,所有方面的提示 探索如何创造建筑水的效果 如何使用顶点绘 ...

  9. UE虚幻引擎:建筑可视化学习教程 Unreal Engine : Architectural Visualization

    使用这套4合1虚幻引擎课程包提高您的建筑可视化技能 你会学到什么 准备要导出的Revit模型 使用虚幻数据史密斯产品查看器工具 创造UE的材料 交换材料 点亮你的模型 添加交互 打包内容以便在虚拟现实 ...

最新文章

  1. Hadoop:HDFS NameNode内存全景
  2. VB 6.0中如何访问EXCEL 2007及EXCEL 2010
  3. 类的继承与sizeof
  4. 同一数据库如果处理多个完全不同的业务?
  5. lvdt 运放全波整流接线方式_20种电工最常见照明灯接线电路图另附开关、插座安装技术交底...
  6. linux下安装php的swoole扩展模块(安装后php加载不出来?)
  7. ITK:两个图像的像素分割
  8. hdu 3887 Counting Offspring
  9. STM32端口复用和端口重映射
  10. linux mysql 定时任务_Linux下Mysql定时任务备份数据的实现方法
  11. android notify,android4.0 MediaPlayer的notify监听机制的全面剖析
  12. 移动互联网创业团队开发管理经验
  13. @property python知乎_【python】__slots__与@property
  14. IDEA 出现编译错误 Multi-catches are not supported a this language level 解决方法
  15. 编程环境搭建(云上编程和本地编程)
  16. iif在mysql能用不_在写SQL语句时,你们会经常用IIF(ISNULL(字段))吗
  17. bellman - ford算法c++
  18. 【历史上的今天】12 月 27 日:第一台计算机背后的女性们;Box 创始人出生;开普勒诞生
  19. DeepMind AI 科学家:2020年NLP和ML领域十大研究进展
  20. 微软word如何插入页码_如何在Microsoft Word中使用页码

热门文章

  1. VC++中的各种文件的作用
  2. RPA自动化软件汇总
  3. mac虚拟机开发android,安卓手机原来也能安装 Windows和macOS 系统?!
  4. Spring Security总结之如何让认证失败消息自定义在前端页面显示(一)
  5. 计算机的软件教学设计七年级,计算机软件系统教学设计
  6. stm32F103C8T6控制DHT11
  7. ps切图--图层切图
  8. Cent OS 7.7 搭建蓝鲸智云社区版5.1.27(2)——标准部署
  9. 腾讯蓝鲸智云SaaS作品计算机毕业设计征集小赛
  10. matlab三相短路电流计算程序_三相短路电流计算