Creature3D编辑器操作指南

需积分: 0 0 下载量 181 浏览量 更新于2024-07-01 收藏 680KB PDF 举报
"Creature3D编辑器是一款用于3D游戏开发的工具,由吴财华编写。本文档详细介绍了编辑器的使用方法,包括如何打开编辑器、编辑器的交互方式、启动界面的各个功能、场景界面的操作、快速移动相机的方法、载入界面的特性以及属性界面的各种选择类型。" Creature3D编辑器是一款专为3D游戏设计的编辑工具,其主要功能包括场景编辑、模型操作和视图控制等。以下是关于编辑器的一些关键知识点: 1. **如何打开编辑器**: 为了启动Creature3D编辑器,你需要创建一个指向程序的快捷方式,并在快捷方式的目标路径末尾添加"Editor"。然后运行这个快捷方式,编辑器就会被打开。 2. **编辑器交互方式**: 进入编辑器后,你可以通过键盘的WSAD键和鼠标进行交互。F1和F2键用于显示或隐藏编辑器界面。其他快捷键如`~`显示帧率和渲染参数,`h`隐藏和显示模型,`v`聚焦到当前选中模型,`Ctrl`键用于多选,`F11`截图,`F12`录制视频(需要先安装ffdshow编码器)。 3. **编辑器启动界面**: 启动界面提供了场景列表、场景缩略图、显示设置、编辑模式选项以及退出按钮。你可以选择场景并进入编辑模式,新场景默认保存在`scene/NewScene.crs`。按ESC键可以弹出退出对话框。 4. **场景界面**: 在场景界面,`ReferencePos`显示当前选中模型的位置,`CameraPos`表示相机当前位置。你可以通过输入位置参数快速移动相机。 5. **快速移动相机**: 在场景界面,你可以输入新的坐标值,点击“移动”按钮,相机将迅速移动到指定位置。 6. **载入界面**: 这个界面允许你输入场景名称来保存场景,双击场景名可以选择路径。你还可以调整网格参数,添加模型(模型文件位于`data`文件夹下)。 7. **属性界面**: 属性界面提供多种选择类型,包括: - `"Root"`:选择模型的根节点。 - `"Object"`:选择模型本身。 - `"Mesh"`:选择模型的绘制单元。 - `"Character"`:选择角色。 - `"Group"`:选择组节点。 - `"TSNode"`:选择渲染方式节点。 - `"DOFNode"`:选择DOF(Depth of Field,深度效果)节点。 - `"Sequence"`:选择序列帧节点。 - `"Mat"`:选择材质。 Creature3D编辑器提供了丰富的功能,使开发者能够高效地创建和编辑3D游戏场景,包括模型操作、视角控制、场景管理和资源管理等。通过熟练掌握这些操作,用户可以更加流畅地进行3D游戏开发工作。

这段代码运行时显示munmap_chunk(): invalid pointer,应该怎么修改?#include<iostream> #include<string> using namespace std; class Creature { public: Creature(const int& hands, const int& legs):_hands(hands),_legs(legs) {cout << "A Creature has been created!" << endl; cout << "It has " << hands << " hand(s)!" << endl; cout << "It has " << legs << " leg(s)!" << endl;} ~Creature() {cout << "Creature object exiled!" << endl;} int GetHands() const {return _hands;} int GetLegs() const {return _legs;} private: int _hands; int _legs; }; class Beast:virtual public Creature { public: Beast(const int& hands, const int& legs, const string& name) :Creature(hands,legs),_name(name){cout << "Its beast name is " << _name << endl;} ~Beast() {cout << "Beast object exiled!" << endl;} string GetName() const {return _name;} private: string _name; }; class Human:virtual public Creature { public: Human(const int& hands, const int& legs, const string& name):Creature(hands,legs),_name(name) {cout << "Its human name is " << _name << endl;} ~Human() {cout << "Human object exiled!" << endl;} string GetName() const {return _name;} private: string _name; }; class Orc:public Human,public Beast { public: Orc(const int& hands, const int& legs, const string& beast_name, const string& human_name):Creature(hands, legs),Beast(hands,legs,beast_name),Human(hands,legs,human_name){} ~Orc() {cout << "Orc object exiled!" << endl;} string GetBeastName() const {return Beast::GetName();} string GetHumanName() const {return Human::GetName();} };

2023-05-26 上传
2023-05-19 上传