3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 29342|回复: 73
打印 上一主题 下一主题

[心得] 教学贴:自宅DIY、摆放物体、以及各种模型的移动形式与方法释疑(包括DIY中的“读档呆不住”问题)

  [复制链接]

13

主题

928

帖子

789

积分

超级玩家

Rank: 5Rank: 5

贡献度
9
金元
7532
积分
789
精华
0
注册时间
2009-12-15
跳转到指定楼层
主题
发表于 2011-12-13 14:29 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 frankenztein 于 2011-12-31 16:08 编辑

原本只是回http://bbs.3dmgame.com/viewthread.php?tid=2653515&page=1&extra=#pid46046506 这一帖时随口说了几句,但回完贴后意识到有此疑问的同学理应不少,所以暂且尝试系统的、简洁的描述一下。


1):关于游戏中模型的物理碰撞与重力效果

这一条目只与“可移动物品”相关。已经有几次看到有人抱怨自己整理或添加的家俬物品在读档之后“掉一地”“呆不住”了,这个问题与该模型的物理碰撞点不稳定有关(这样描述不专业但最形象)。简而言之,如果物理碰撞点不稳定,在读档之后就会产生不同的受力效果导致物品位移,因为实际上当你读档(或进门)时,你所能看到的一切都有一个被重置并再次生成的进程(比如你读档后经常看到尸体重新喷血了)。游戏中模型的重量并不是一个很精确的数值,而“力”其实是由计算相对距离来实现的,可以理解成“挤”。比如推动一辆手推车所需要的力,其实只需要一个鸡蛋大小的碰撞就够了,你知道在现实中三点一定能稳定一个物体,但在游戏里你试过把物品卡在三个固定点里吗?大到尸体、小到灵魂石,它都会狂跳不止,无法稳定,甚至最后飞出来。当你放置一个物品同时接触了两个面或更多的面,即使暂时稳定了,但很可能其中一个面对物品施加的力会在下一次重置物品时会将其弹飞,这就是“呆不住”的主要原因。举例来说,比如你把两个球(比如查鲁斯之卵)一起放在桌上,而如果这两个球彼此有接触,那你下次开门进屋,这两个球很可能因为碰撞不稳定而弹飞一个;再比如你把迪贝拉女神雕像放在床头柜上时最好别靠墙,否则下次刷新可能会被墙撞倒。就是这么回事。此外还存在另一个问题,如果你输入"TWF”代码自己看一眼游戏模型的结构框架,就知道看似一个平整的平面有可能是好些多边形和物理框架拼接而成的,所以并不一定你把什么东西放在一个视觉上的固定面上就能确保它一定能稳定,眼下在还没有人从技术环节解决问题的情况下,如果你想细心整理自己的家又不想在摆放位置上做任何妥协,那就需要多一点耐心,直到你找到模型的实际稳定位置为止。如果重置物品后读档仍不稳定,那就需要再次微调摆放该物品的位置。

顺带一提:无论哪种物体(包括可移动的、不可移动的、以及NPC),只要是有具体模型的东西就可以用disable和enable命令来重置它。原理上等于重新刷新一次,我自己整理修改的房间,大到新书橱、小到漱口杯,经常需要这样处理一次或多次才能确保它位置稳定,而对不可移动物品来说,虽然不存在碰撞问题,但存在实际位置的偏移问题。所以此命令在下面介绍家俬摆放时会频繁使用。

今天再翻了一下此贴,发现不少同学指出我在本帖内并未提出能一劳永逸的解决“呆不住”问题的具体方法。这点我得承认,此贴本意是让你理解“呆不住”的原因,以此来让你举一反三的明白怎样尽可能回避“呆不住”的情况。而本人既不是程序员也不会写3D,在如何彻底解决这个问题上属实无能为力。基于结论,最好的办法就是“耐心”,本文只能尝试讲述“原理”,不能提供“方法”。因为谨慎的说,此“原理”是基于归纳和推测的,并无技术与程序上的解析和支持。



2:关于可移动物品的挪动与转动

挪动物品比如用罐子套NPC的头之类的操作,最难控制的是距离感,这个需要熟悉。其它方面,首先需要说明的说是——物品模型至少分为两种,一种是多受力点(比如尸体,拽手拽脚效果是不同的,拽左脚就产生相应的拎着左脚提起来的效果,拽胸脯则像是托起了躯体),另一种是单一受力点(比如头颅,拽耳朵拽嘴没区别)。对于前一种,你需要将鼠标指向合理的受力点(比如大花瓶的瓶颈),物品就会自然下垂产生重力效果,便于摆放;后一种处理起来就麻烦,最简单的办法是给它一个物理碰撞点,它就会沿着该点或面滚动(简单的说就是让它贴着一个点或面来滚动它,偷东西视频里罐子就是以NPC为受力点来滚动的,这个受力点或面原则上最好是固定的,免得受力过大而被撞倒)。补充一句更基础的:如果你实在不会挪东西,请改用第一视角,然后先学会怎样把东西“提起来”让它悬空,先会了这个之后再去摸索怎样正确的移动它。



3:关于不可移动物品的挪动与转动

这一项目目前主要用于修改自宅的家俬摆设,需要代码实现,主要用到的是setpos和setangle这两组命令行。至少眼下还不常见蛋疼到用代码去转动世界的同学(but just do it!)。在该项目上,需要做一定释疑的主要是代码的实际运用。下面借某同学发过的代码逐一解释(忘记是谁首发的了,抱歉),红字为我的注解


基本指令:          任何针对某一具体模型的指令  均要以打开控制台后鼠标点击目标物品的模型并在控制台顶端出现了该模型的代码为准

MarkForDelete    删除指定的物体(打开控制台,鼠标点击要删除的物体,输入指令回车,save and load 后所指定的物体就消失了)  这个命令对手贱或经常反悔的人来说很常用,比如我。属于彻底删除,所以性质上与disable命令不同。

Help X 0            获取物品的代码(例如:help bed 0  就出现许许多各种各样的床)

Placeatme X       鼠标点哪 物体X就出现在哪了~当然还得进一步微调    (二楼补充了一些常用家具的代码  经过试验,该项代码具体的效果是——鼠标所指向的那个附着点,比如墙面、地板,而不能是空间中的一个位置,所以当你指向地板时东西往往就陷进去了,
                        所以该命令的实用性有时不如下面那条)

Player.placeatme X      同上,物体出现在你所在的坐标  (经过试验,该项代码具体效果是——物品的摆放角度将与你的鼠标指向(三维的)完全一致,比如你的人物在低头看脚尖,那么这样摆出来的东西就是歪的,所以你需要目光平视,
                                并调整你的面朝方向,将三维角度调整到最佳,这样可以摆放出几乎……完美的物件来,不完美也可以用下面的角度命令进行微调。)

TWF                  框架视图~谁用谁知道~

TCL                   摄影视角,便于安置物体在空中和墙上   眼熟吧,这其实就是那个穿墙代码,活用该代码,你就能活用上一条命令来自由选定三维空间中的物品位置与方向。

Getpos x,y,z      获得所指物体的x,y,z坐标,例如输入 getpos x(别一次性输入getpos x,y,z啊,一次输入一个坐标)
Setpos x,y,z   #  设置物体的坐标,例如输入 setpos x,如getpos x得到x坐标 -200,那么此时就可以根据所获得的坐标进行微调 如:setpos x -400,所指物体于是移动了。这是最重要的配套指令之一,解释不如试验,
                         你打开控制台并点选一个物体,分别查询三个坐标并分别做少许改动,立即就能搞懂用法了。 数值可能是正数也可能是负数,不要迷糊,“-”那不是个横杠而是负号。

Getangle x,y,z    获取角度   
Setangle x,y,z  #设置角度
Rotate  x,y,z #   旋转物体,例如rotate x 100  于是便华丽的朝着某个不明方向旋转了,自己试试就晓得了   以上这三项指令是另一重要指令,但rotate命令可以无视。前两条足够用了。其中最常用的是Z指数,该项指数相当于将物品以与铅垂线平行的一条中心轴(Z轴)旋转,一般来说角度参数当然最常取的就是0、90、180、270这四个数值了。该系列命令频繁用于添加物品后的角度微调。调整后需要关闭控制台再打开才能正确重置模型位置,所以实际测试起来比上一指令稍微繁琐一点,但熟悉以后也能熟练运用。

Setscale #          设置所选物体的大小(setscale 1.0 为原始大小)  这一项可以活用,比如第三人称不易点到的草药包改为1.5,就大了一倍,好点多了;而熔炉则可以缩到梳妆台大小,塞在卧室里都不会碍眼。


以上这些指令,凡涉及具体物品调整的,全部需要在开启控制台后点选该物品,直到你的控制台顶端显示出该物品的代码,否则指令无效,很多人忽略了这一点才产生了本不该有的困惑。摆放家俬最重要的就是setpos 和 setangle 这两个命令行,比如我在家里新增了影壁并且在影壁上增加了龙墙,用的也就是几个代码搞定,你需要的只是具体代码与实际的运用。此外在实际使用时,你需要对每一件你大幅改变了初始位置的物品依次使用disable和enable命令以重置该物品,否则该物品的默认位置将未被改变,因为它的触发判定位置仍在原处,这直接导致你将需要在卧室里点击空气来触发一个已经被你挪到了厨房去的物品。要注意你激活控制台时需要点击的是模型所在位置,而不是实际效果位置,所以输入指令时仍然是打开控制台并点击你可见的那个模型。




本人是潜水兽,平日时常也是以码字打发时间,本就从不介意回帖顶帖之类,但个人觉得该条目内容是有用的,所以如果你读完觉得有价值就动手顶一下罢,否则在这种秒沉的地界,吃亏的不是我而是广大小白同学。

评分

13

查看全部评分

回复

使用道具 举报

13

主题

928

帖子

789

积分

超级玩家

Rank: 5Rank: 5

贡献度
9
金元
7532
积分
789
精华
0
注册时间
2009-12-15
舒服的沙发
 楼主| 发表于 2011-12-13 14:58 | 显示全部楼层
补充一些已有同学发过的家俬代码  想不起发帖人的ID了  见谅

一些物品的ID:
D54FF (alchemy table)  炼金台
D5501 (enchanting table no legs) 附魔台
727A1 (tanning rack)    缝纫架
D932F (workbench)      工作台
1A2AD (anvil)               铁砧(打造用)
6E9C2 (grindstone)       磨刀石
9C6CE (smelting oven)   冶炼炉
10FDE6 (chest)              箱子
10E884 (barrel)              桶
10ACB6 (safe)                保险箱
C5893 (display case) C5894 (little larger) C5892 (larger) C5891 (largest)      柜子
AF6AE (apothecary's Satchet)    装药材的小皮包

109D86 Bookcase (Note this is not a bookshelf, but can hold unlimited number of books)  书柜,可以容纳无限本书
C2A04 (Small Wardrobe)    小衣柜
C2A05 (Medium Wardrobe)  中衣柜
6B303 (Large Wardrobe)       大衣柜
6B36B (Single Bed)              单人床
6B3D3 (Double Bed)             双人床
C2A06 (End Table)                茶几                    
F5B98 (Marble Table 1)          大理石桌子1
F5B9C (Marble Table 2)         大理石桌子2
C2A00 (Noble Bench Large)   高贵的板凳(大)
C2A03 (Noble Bench Small)    高贵的板凳(小)
06B30E (noble chest the long narrow one)   狭长的箱子
动物标本 IDs:
B2456 (Dragon Head)    龙头(可置于墙上)
DD9E0 (Elk Male)           麋鹿
CF264 (Snowy Elk)         雪白的麋鹿
3fA65 (Elk Antlers)          麋鹿鹿角
DD9E1 (Elk Female)         雌性麋鹿
D928F, d928d (Sabre Cat)    剑齿虎
D9289, d9288 (Wolf)       狼
D9287 (Skeever)              老鼠
D9285 (Mudcrab)              螃蟹
D8282, d9281, d927f (Bear)    熊
D927D (Horker)        海象?
D9276 (Goat)           山羊
3858F (Slaughter Fish)    鱼
蜡烛和烛台:(coldarra提供)
00044E6A Jeweled Candlestick (golden candlestick with pretty gem incrustations)
000AA03E Silver Candlestick (small and thin silver candlestick)
000E42DF Candlestick (default single candlestick)
000E42E0 Candlestick (default)
000E42E1 Candlestick (smaller default single candlestick)
000905E3 Jeweled Candlestick (golden candlestick same as first one, spawns as furniture (static) )

椅子: (coldarra提供)

0001EDF7 Chair (dwarven)
0001EE09 Chair (same dwarven chair, without upper back part. I use this one as small table instead for pots and
stuff)
0006E7B3 Chair (a stone chair like the ones in the temple of the gray beards)  
王座: (coldarra提供)
000267D3 Ladies and gentlemen, I present you the infamous "Werechair".
0007FBC2 This is the throne outside the temple of the divines in Solitude.
000985C2 I haven't seen this one in game yet, but I assure you this thing is HUGE and made of GOLD with a statue of a
small dragon (or bird, but i think it's a dragon) sitting on top.
0010F636 Throne at the Palace of Kings in Wildhelm. It's massive.    风盔城的王座
墙 :
5B381 WallSol
5DA23 WallSol03
5D92F WallSol02
5b382 WinSol01 (wall with WINDOW !)
楼梯 :
5F5B9 Steps
天花板 (Arched)
5b380 : archCon01 (normal arch)
5d7b4 : traCon02 (normal arch filler)
6e95d : archCon03 (CORNER ARCH !)
6e95c : archCap01 (corner arch center filler)
6e95b : archCon02 (corner arch side filler)
地板 :
57a1a : FloSol01 (normal stone + ceiling)
5b3c7 : FloSol02 (normal stone/dark stone)
5d794 : FloSol03 (mosaic + ceiling)
612f3 : FloSol04 (normal stone)
6c905 : FloSol05 (mosaic)
所有物品的ID:http://fusromod.com/formids.php
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|咖绿茵|求知网|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2024-11-1 07:54 , Processed in 0.106053 second(s), 17 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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