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()

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

运行起来会出现一个窗口

panda3d虚幻引擎--(2)_第1张图片

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

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

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

panda3d虚幻引擎--(2)_第2张图片

有人问了(没人问的话我自己问一下不行嘛<(ˉ^ˉ)>  ),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虚幻引擎,虚幻,游戏引擎)