panda3d虚幻引擎--(2)

目录

前言(阿巴阿巴)

上帝视角

导入人物模型和动作模型


前言(阿巴阿巴)

前几天无意间看到了一个叫做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()

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

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Panda3D虚幻引擎和Unity3D是三种常见的游戏引擎。它们在功能和特点上有所不同。 Panda3D是一个开源的、跨平台的游戏引擎,它提供了强大的3D渲染和物理模拟功能。Panda3D具有灵活的编程接口,可以使用Python或C++进行开发。它适用于独立开发者和小型团队,可以用于创建各种类型的游戏。 虚幻引擎是由Epic Games开发的一款商业游戏引擎。它提供了强大的图形渲染、物理模拟、动画和人工智能等功能。虚幻引擎具有丰富的工具和资源,适用于创建高质量的AAA级游戏。它支持多平台开发,并且有一个活跃的社区和生态系统。 Unity3D是一款广泛使用的商业游戏引擎,它提供了易于使用的可视化编辑器和强大的跨平台支持。Unity3D支持2D和3D游戏开发,并且具有丰富的资源库和插件生态系统。它适用于各种规模的项目,从独立开发者到大型游戏工作室。 总的来说,Panda3D适合独立开发者和小型团队,虚幻引擎适合创建高质量的AAA级游戏,而Unity3D则是一个广泛使用的游戏引擎,适用于各种规模的项目。选择哪个引擎取决于项目的需求、开发团队的技能和预算等因素。 #### 引用[.reference_title] - *1* *3* [剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)](https://blog.csdn.net/www_xuhss_com/article/details/123947843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [开源图形/游戏引擎的点评](https://blog.csdn.net/Witch_Soya/article/details/7948997)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值