设为首页收藏本站官方微博

wintermute学习笔记[7]--搭建场景步骤六:自由实体、比例线、修饰区域

[复制链接]
查看: 3346|回复: 2
打印 上一主题 下一主题

wintermute学习笔记[7]--搭建场景步骤六:自由实体、比例线、修饰区域

跳转到指定楼层
楼主
发表于 2010-9-17 21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

wintermute学习笔记[7]--搭建场景步骤六:自由实体、比例线、修饰区域

再发一篇,争取明天把9个步骤发完。
* @+ t1 r3 \6 D, j& [' j  N 
" R, H" [' o& b( f$ F这一章将完成场景的粗略设计,在SceneEdit打开MyScene.scene。9 v7 e. H" ]7 |7 o/ Z/ L" R# Q
 . f& V6 R) B% Q. x
[自由实体]5 p9 A/ G/ T6 _6 `$ @2 p9 S3 m( M
 
& `4 t: \& p$ B9 P1 d7 w1 P" h现在场景中的椅子仍然看起来像是画在地板上一样。之前我们使用创建desk实体和behind_desk区域这种方法实现了桌子的遮挡效果。这种方法是非常灵活的,对于大型物体和无规则形状的物体尤其有用。但对于小一点的东西我们可以使用更简单的方法:将它们创建为自由实体(free entities,希望有人提供更好的翻译- -)。接下来以椅子为例。* O, C. q3 K7 y' m) B
 
( ?2 F2 ^: G" Z2 n0 B什么是自由实体?之前我们所使用的常规实体:比如背景和桌子,它们在绘制时是按照场景布局(即node列表中的顺序)来绘制的。而自由实体和角色一样,绘制顺序是由它们所处的位置决定的(换句话说,由它们处于哪个区域里决定。这样看来场景中的npc就应该作为自由实体)。接下来具体讲解。2 [$ `; E2 o% z7 T0 H  e
 # h" |6 I8 m  c: N
首先,在ProjectMan中为Myscene文件夹导入椅子的图片,在“data\tutorial\gfx”选择chair.bmp并导入。: }# G4 ]: Q* m
 + \4 i6 f' ~; d3 \

: M  ]8 S' v5 ?返回SceneEdit。在layer列表中选择Free entities项,下面node列表会显示当前所有的自由实体,现在还是空的。点击Add entity并选择Add sprite entity。一个“new entity”就创建好了。将名称改为chair,标题也可以改为chair。 6 }% @  O2 s, v7 |0 C* P
" K  n. y" w( p

; e' H- i: q. ^' u  l1 z& w
5 F& Z) q6 q, z3 V2 [. x5 k
& p! o9 Q+ p8 A! ]* q接下来为实体指定图像。点击sprite栏后面的“...”按钮选择之前导入的chair.bmp。将实体chair移动到场景中的位置:
8 r! H2 @% m9 j3 `7 \7 _
4 R* t- U$ }" x( x, Z' v1 ]6 K/ ^) V4 b) T6 ~6 Y

: g* t$ ~$ @( \. y8 O# C
) `& }+ e, j/ L8 A - f8 B8 ~/ f  P6 ?
保存并测试一下。你会发现角色总是在椅子之上,原因是当一个区域内存在多个对象时(例如floor区域内存在角色和椅子两个对象),引擎按它们的纵坐标(即Y轴坐标)决定绘制顺序。角色的坐标已经被设定为由她的脚所站的位置决定了,但是椅子的坐标默认由图片左上角坐标决定(这样当角色与椅子重合时角色纵坐标总在椅子之下,引擎就总是先绘制椅子,再绘制角色了)。我们要做的就是让椅子的坐标也由椅子脚决定,方法是使用一个sprite而不是简单的BMP图像作为chair实体的图象。sprite在wme可以被视为包含了更多信息的图象,其中一项附加的信息就是焦点(hot spot),焦点可以指定sprite的基准点,实体所处的坐标由基准点决定。我们要做的就是将热点设在椅子脚上。6 n$ [- T* K% L7 g
! Y5 {. W0 b8 |# N! F
首先,为chair实体创建一个sprite。返回PM,右键点击Myscene文件夹并选择“Add->Add sprite…”命令。在弹出的模版选择窗口中,选择Empty sprite模版,并将名称改为chair。 4 h! j  Q  v6 D

7 h" m+ P0 g$ S7 I6 `9 F; j9 ]; V1 p5 q7 q* A

9 G+ g. H$ j2 T' a- w9 K( l6 w& }& W/ V5 g& V" }

% X8 F" k' f% i在MyScene文件夹中一个名为chair.sprite的新sprite创建好了。双击chair.sprite后PM会自动调用SpriteEdit工具帮助你编辑。现在这个sprite是空的,我们首先要添加一个帧(frame)来放椅子的图片(添加多个帧并设定一些信息后就是动画了)。点击Add frame(s)按钮并选择chair.bmp文件
9 {9 Q( A$ C; {: c! C. ]. z  @- [( _" G+ ^# i# {) U0 y4 b$ z
  d9 z+ `  ^/ n  a: b$ P

. `, Q2 @* `. C& s/ L( ^( I0 c  R5 m! f. |
 1 }, l. A( A) {8 j8 K
接下来需要改变焦点的位置。有两种方法:一是在右边的预览窗口里拖拽图片使焦点(就是那个红色十字)移动到椅子脚的位置,二是在左下角的信息栏中找到hot spot一栏填写坐标135,174。- ~$ i2 v1 N8 J$ X+ [/ s" [
! _1 d, k7 K, K5 L7 K2 b1 i5 ]

* c& T. ?8 \# f3 p4 r. V* [5 Q/ F! C# B8 K: y
  O/ G% f0 D6 P9 @
7 _! ?! N, R/ l  g) G; L
 
; B) z% V" K1 q6 \6 Z保存并返回SceneEdit。选择chair并更改chair的图象为新创建的chair.sprite文件。你会发现椅子的图象移动了,这是因为我们改变了图像的基准点,移动图像到正确位置。保存并测试游戏。
6 ~  e) U$ c: }% y0 r8 p 9 {+ j/ F/ }- G; ^# d$ v! T+ C
效果应该如图所示。
  g# Y  e3 b4 [
1 b6 T3 T5 z3 @
! e% A" p+ g/ r2 ^' y, U% G7 k3 D* b0 E

- v$ s4 k6 `- a6 H' ? 
/ ^. q! W5 i6 a6 a; n2 d3 s最后要做的就在椅子下增添一块障碍区域防止角色横穿,还有设几个路径点。
& L" U$ R7 {9 Y
6 ?3 ]0 P# \+ b: d2 l' g1 b方法见步骤4和5,最后效果如下图:) @2 z! u. \& `  }2 b; j: V- c( e' A
. V& |2 w) e% g  B$ q7 D5 i1 C

2 H: O8 I. a/ O$ m$ o0 i5 S6 @& R3 `# _6 u) z
9 y1 [! m6 J6 F+ D; q  z  R$ s
' k. \6 V% T' g% z5 _1 A0 K
5 \& y1 z& Z  I0 t( j
关于自由实体的部分结束了。
/ @* S& J1 }! Y& R7 I
5 I5 H, e' b* B+ V& N! e - K. u0 q" e$ }5 G- F% _
[比例线]- V# F2 w% d7 D, [
 
2 s5 f% z) ?4 G: `4 |现在场景看起来貌似差不多了,但角色好像有点太小了,我们通过可以比例线(scale levels)改变角色的缩放效果。比例线在Scene中表示为一条绿线,在最左端标注了比例,例如现在场景里有两条比例线,中间一条70%,底下一条100%,这样角色从底部到中间行走过程中,比例逐渐由100%缩小至70%(在70%线之上时会默认恢复为100%大小),这样就实现了近大远小和不同场景人物比例不同。
* L* ~9 a# ~5 d) L7 ~ " Q: X7 @# K. z6 e6 K0 @
比例线最左端还有一个很扁的小方框,按住小方框并拖动就可以改变比例线的位置,右键点击小方框可以修改属性(properties,可以改变缩放比例和指定位置),或删除(remove)比例线。$ H- |6 J+ j: a9 ~8 T1 f( ^

, k  U3 z5 q. s" |; A0 p
1 M. S* \# T( Z  {) U8 ~' n9 M: N* n; J

# o# c0 z  _4 X4 X9 r
+ N2 t- ~% c- p点击下图中的按钮可以添加比例线。(帮助文档使用的是老版本,新版本中者按钮旁边还有个按钮,可以添加纵向的比例线)
0 P) Y- z; [" a3 o, u* M1 u( A6 g, S& _* C# n& {
- b7 y  [: I' ^; p$ g

4 C7 `2 _1 }0 \' f 
4 b0 D8 u4 T6 D2 c之后把上方的比例线移至地板上端并将比例改为90%,下方的比例线则移至地板最下端并改为160%。. `9 Y( Z% j' D# A, j
 
1 [3 ]: U, g7 l$ ]: Q2 B/ H* a# P4 r3 v* R
0 N' R% E5 t# j/ t
你可能想知道如何设置到正确的比例,最好的方法是使用角色模型(actor placement tool),SceneEdit提供角色模型方便你编辑而不必频繁测试,如下图点击Place actor按钮。
7 b0 A& A  K6 H: s$ n# A9 @3 j# I7 H. p& t8 ^
0 ~+ k- _) r) S  i

: Q: ~% L& |0 f0 \% d% n( h: B1 L7 M) g* r+ W( w- S' \
 2 T! X5 C7 H7 g' m% V$ e
这时会弹出一个窗口让你选择使用哪个角色。在“data\actors\molly” 文件夹中找到molly.actor并载入。这时候你的鼠标就变成了一个角色模型,你可以移动鼠标到任何位置看看效果,这时点击右键角色会改变方向,点击左键会暂时将角色模型放下,以后再需要用时点击Place actor按钮就可以。. g" j2 `9 X1 g! Q5 x/ X+ u
 & Q+ t) e, }: Q+ N/ }0 c
 [修饰区域]
( e; F8 V% Y4 a& L; ?( ~* k+ [ 
* V0 K% J$ m& E3 C$ ~6 i5 C接下来我们可以添加一些小效果,比如当角色站在远处的小角落时让角色变暗一点。/ t- |( B' X# R7 W3 @7 J
 
, N: `' i# g$ V# r0 S0 @我们可以添加一些特殊的区域来影响角色的颜色和缩放,这些区域被称为修饰区域(decoration regions)。' k/ \; i) k( Y  F
- B0 V$ _. h7 Y; x) U: Z
在layer列表中选择main,并点击下图的按钮添加一个区域。* Y4 @) s& b" |+ i
4 ^' m/ k: n, @7 D

4 b6 v) c- j  r4 U: w; S+ B& R. o0 x! Q* v
9 l" x& @! u7 N% c& a4 {

' \# O4 G: Y$ G7 J: k2 A5 h& W将名称改为"shade",并将类型由layout改为Decoration。注意信息栏中的Clolor项,选择一种颜色后,在这个区域内的角色绘制时就会混合这种颜色。为了达到阴影的效果,我们指定为浅灰色。
/ p  _! {, c7 g6 s1 R, t5 \$ O# B$ L# ?7 \- @
. u" z/ T( d* |
6 Y/ h0 y9 |; k" K# J
 2 N& ?, O5 q% P
改变scale项的话角色在区域内的话就会使用这个比例而不是比例线的,选0则不影响。
. g" D1 s  D. v6 G5 B 
+ d; D, a# ?& Q& P) X. z注意,设定颜色后必须满足以下两个条件才能实现:; ]( K+ M3 N# T$ a4 Q- Q6 s$ l9 o
1、游戏必须运行在加速模式中,兼容模式下无效
  p/ G7 {5 U! g' z1 _1 F2、对象必须将Colorable属性设为真
7 f. ^) Z. @* {, i$ y$ w$ w
8 N* Z5 U; L- J8 ?( U* C% \最后将区域移动到合适的位置并调整形状:
+ p5 T; D+ c' r: E1 b
4 n* T( X' ~" k) _0 U9 ~' U' o6 r- l' Y+ x
 " |2 w, l  z/ d
3 h* E3 O: ^: y" w1 g
注意:修饰区域影响角色角色的绘制,所以必须将修饰区域设在node列表的末尾。
$ |' `7 ?: ?- j7 ]& E % k9 z' B9 z. f0 {# I) I; A
你可以回PM测试一下或使用角色模型看看效果。7 P% ?; t, _1 F, l; Y% g
3 \- v( \; d; E& k5 I
这一章结束了~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-9-17 22:58 | 只看该作者
感觉比前几篇复杂些……末尾有处“注意”看了不是很清楚……
/ [, o/ b$ V" n* p8 J
) o3 F* R- c# I( g2 z; v' f注意,设定颜色后必须满足以下两个条件才能实现:" P+ |) B) e' T0 y* G6 q
1、游戏必须运行在正常模式中,兼容模式下无效——正常和兼容模式指的是?
4 {, X+ x" \; u  u2、对象必须将Colorable属性设为真——此属性设定的位置?
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2010-9-18 09:55 | 只看该作者

回 1楼(naptid) 的帖子

话说刚才有段时间一直上不了论坛- -7 i$ g9 L* x2 [  _: ^6 U

% Q2 b9 T$ M' B* C% t这里忘了说明:2 Z3 N1 ^7 _! M9 q
1、修改了,应为加速模式(accelerated mode),默认是打开的,我也不清楚具体的含义- -
' R  U- t5 z2 g) |( d/ ?2、会受修饰区域影响的有角色和自由实体,自由实体的话,在左下角的信息栏仔细找找,就有这个选项。至于角色,我暂时没找到设置的地方,默认开启。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表