Developer Application
Developers is an application to create, edit, submit other applications. Application developers can create a new application from several predefined template and submit applications to application directory.
3D 美术资源实时统计
美术人员通过: 点击帕拉巫开发-->美术工具集-->显示引擎统计数据(F4) 激活实时统计
实时统计显示在左上角,含义如下
field |
description |
30FPS |
表示当前的渲染帧数的平均值. 上限是30FPS(偶尔变成28,29是正常现象), 如果一直维持在25-27FPS ,表示渲染出现了瓶颈 |
tri |
表示当前摄影机中所有交给GPU处理的各种多边形(mesh+char+ui+other+terra)的总和. 如果开启阴影则所有投影物体多边形数目翻倍; 如果开启水面反射,则所有反射物体多边形数目翻倍 如果要看原始模型面数可以将影子和水去掉。 一般的显卡在100K-150K左右以下速度可以很正常。对于人口多的地方:最多40K给场景, 60K预留给人物 |
mesh |
所有的静态3D模型的多边形数。同样影子和反射会将其翻倍 |
char |
所有的人物等动态模型的多边形数。同样影子和反射会将其翻倍 |
terra |
地表多边形数。同样反射会将其翻倍 |
others |
海洋等的边形数。 |
meshes:B->F:n |
大型模型的数目,从前向后渲染。 大型模型一般可以遮挡小模型,从而减少渲染量。要尽量减少大模型的数目,一般是0-5 |
meshes:F->B:n1(n2) |
n1是小模型的数目,从后向前渲染。n2是交给显卡的实际渲染的小模型的数目。 如果n2<n1, 表示摄影机中部分小模型被地形或大建筑遮挡住,从而不用渲染。要尽量让n1>>n2, 比如60(5) |
meshes:char:n1(n2) |
n1是人物的数目。n2是交给显卡的实际渲染的人物数目。 如果n2<n1, 表示摄影机中部分人物被地形或大建筑遮挡住,从而不用渲染。要尽量让n1>>n2, 比如30(8) |
meshes:post:n1 |
透明物体的数目。越少越好 |
ocean:n1 |
海洋Tile的数目。海水最好不要和大建筑或人群设计在一起。 很占资源 |
sentient object:n1 |
世界中被仿真的AI数目 |
shadow casters:n1 receivers: n2 |
n1 投射阴影的物体数, n2接受阴影的物体数 |
Summary of Contents
- Install modules
- Module consists of one module definition file and several template files. See the sample module definition file.
- Module can have replaceables (defined in module definition file) which the user can specify before creating their own class
- Developers can create module used by other developers
- Preinstalled modules
- application module
- MCML page control module
- IDE module
- window module: singleton, instanced, top level, etc.
- test file module
Sample module definition file
%CODE{"lua"}%
--[[
Title: a sample module file
Author(s):
LiXizhi
Date: 2008/3/5
Desc:
use the lib:
NPL.load("(gl)script/kids/3DMapSystemApp/Developers/sample_module.lua");
-- file1.lua is assumed to be at the same directory as the sample_module.
%MODULEFILE{"file1.lua", replace = {
{from = "%SRC_DIR%", to="%INSTALL_DIR%"},
{from = "2008/3/5", to="2025-01-31"},
{from = "SampleApp", to="%INSTALL_NAME%"},
}, post_func="", dest = "%INSTALL_DIR%/%SRC_NAME%", }%
%MODULEFILE{"file2.lua", replace = {
{from = "%SRC_DIR%", to="%INSTALL_DIR%"},
{from = "2008/3/5", to="2025-01-31"},
{from = "SampleApp", to="%INSTALL_NAME%"},
}, post_func="", dest = "%INSTALL_DIR%/%SRC_NAME%", }%
Description:
- MODULEFILE: each module can contain one or several module files usually in its comment block, like this file.
- first string: the file path of the source template file. It does not contain parent path, it is assumed to be located at the same directory of the this module file.
- replace: an array of replaceables. Replaceable can contain predefined variables.
- INSTALL_DIR: where the user specified to install the module. such as "script/myapp"
- INSTALL_NAME: what name the user specified to install, such as "MyModule"
- SRC_NAME: name of the source template file. in the above case, it is "file1.lua"
- SRC_DIR: directory of the source template file. in the above case, it is the directory of this module file.
- post_func: the function to be called to perform some manual refinement after replaceables are performed.
- dest: the destination directory where the new instance of this file is installed.
]]
if(not sample_modules) then sample_modules = {} end
-- this is an sample post processing function that replaces one string with another in the template file.
--
@param input: input file text string
--
@return: result file text string.
function sample_modules.file1_post_func(input)
return string.gsub(input, "LiXizhi", "ParaEngine Corporation");
end
%ENDCODE%
Screenshots & User Guide
UI sample : Press F5 and choose solution manager to see this alive in
ParaIDE.net
Detailed Documentation
李西峙(李西峙) 10:23:45
http://wiki/twiki/bin/view/Main/DeveloperApp
李西峙(李西峙) 10:25:48
你看看这个程序,教给你开发如何。
之前让你看过的内容,都可以用上了。
张磊(张磊) 10:27:04
开发啥呢~~~ ?
李西峙(李西峙) 10:28:41
开发程序的程序。
李西峙(李西峙) 10:31:20
有点像 新建各种程序的向导。
张磊(张磊) 10:31:33
在这里面添加模块?
张磊(张磊) 10:32:27
有点像 新建各种程序的向导。
还是用npl mcml实现是吧?
李西峙(李西峙) 10:33:03
这是原来用C#做的一个界面。
但是用起来不方便。我们用NPL
MCML做一个许多页面的,向导模式的新建程序的程序
李西峙(李西峙) 10:34:00
我们可以先讨论下具体的UI和功能。
李西峙(李西峙) 10:34:42
这将是未来内外部的开发者都会使用的一个关键程序
李西峙(李西峙) 10:35:10
相当于Visual Studio 中的 File->new
张磊(张磊) 10:35:22
了解了~~~~
就是功能,展现形式 是类似与
现在是用 npl mcml来实现~~?
李西峙(李西峙) 10:35:35
npl mcml来实现
张磊(张磊) 10:35:48
就是可视化操作了 是这样吧
李西峙(李西峙) 10:36:06
向导式的UI. 下一步 下一步 下一步 下一步 完成
李西峙(李西峙) 10:36:49
UI部分可以用MCML实现。
李西峙(李西峙) 10:36:57
相当于学习MCML了。
李西峙(李西峙) 10:37:19
逻辑部分和之前的Wiki
DocGen 是一样的。
李西峙(李西峙) 10:37:30
也要许多regular expression.
--
LiXizhi - 21 Mar 2008
Installation Instructions
Note: You do not need to install anything on the client to use this contrib package.
- Download the ZIP file from the app web (see below)
- Restart application
Application Info
Related Topics: InsidePE
--
TWiki:Main/LiXizhi - 21 Mar 2008