[指南] 怎样将Team Fortress 2/Source游戏中的模型导入到3ds Max中

实在是太想用Sentry Gun,折腾了七八个小时终于搞定了, 本文教你怎样通过繁复..的步骤最终达到如图的效果:

中间绕的弯路不谈, 说下过程,可能啰嗦点,因为此文不只是写给你看的,也是我自己为了记录…实在不想万一忘掉还要重新摸索。(4个月后的update:这种技术果然一辈子只会用一次
这个帖子总结的也很好。

用到的软件:

上面那篇文章里还提到了个解压VPK的工具,可能是因为隔的时间比较久现在不这么压缩了,我是没用到。

提取和反编译MDL文件

MDL就是游戏中使用的模型文件,是编译成ANSI码存放的(大概是读取速度的原因)。找到你游戏所在的gcf(盗版可能就没有gcf吧,直接放目录里?不太清楚),用GCFScape打开,如果你不知道模型在哪/该用什么模型,建议下载Source SDK用自带的“Module Viewer”到处看看。Module Viewer不会告诉你它打开的是哪个gcf文件,因为(我仔细看了下大概是这样)Viewer展示的是所有gcf的汇总。所以在Viewer里确定目标以后再找还略略麻烦点,Sentry Gun的模型在team fortress 2 materials.gcf里的 \tf\models\buildables\sentry1.mdl ,把同目录下所有以 <sentry1.> 打头的文件提出来,再用MDLDecompiler选取mdl反编译成零部件,这种反编译好方便,按下按钮就搞定了… 骗你的,肯定会出现各种各样的错误,请参见这个贴子这个贴子这个贴子

完成后得到一堆SMD文件,其中最大的那个是我们要的,其他的是一些动画什么,还没看,也可以导入的。

导入3ds Max

用上面的3ds .SMD Importer就好了,要注意的是在我写此文的时候,2012版本的(至少是64位)不能用,我装了个2010导入再导出给2012。虽然wunderboy.org写的插件2012可用,但是我没法导入材质,官网上说暂时不能导入动画但是骨头和材质都行,我不知道。

点导入会提示选材质,这个材质在哪里呢… 用Wunderboy.org提供的Source MDL Texture Info可以方便的找到路径,把材质文件(vtf格式)提出来和模型放一起,再下载上面的3ds Max用来读取vtf的插件,就ok了~ 🙂

Selinux prevents httpd from accessing home directory

I tried to share files via httpd(Apache originally), however it wouldn’t work, saying 403 forbidden.
Apparently we need to set options to permit httpd to follow symbolic links. In /etc/httpd/conf/httpd.conf, ensure there is text below:

(Under <Directory “/var/www/html”>, there should be)
Options Indexes FollowSymLinks MultiViews

But the problem remained. After quite a while I noticed there were some Selinux alerts saying “SELinux is preventing the http daemon from reading users’ home directories.”

Then I disabled selinux(command “setenforce 0” to make it sleep temporarily) and it worked. As Selinux is a kernel-level security mechanism on your system, not a some antivirus or firewall software thing, it may not be wise to throw it away. Check Joshua Brindle (an SELinux developer) ‘s  comments on disabling SELinux here, which states clearly that applications should be fixed to work with SELinux, rather than disabling the OS security mechanism.

So what I do is:

1. According to Selinux log(you can generate it with command “sealert -a /var/log/audit/audit.log”, run “setsebool -P httpd_enable_homedirs on” to enable the literal option(this command takes 20 secs to be done I don’t know why).
2. Still doesn’t work, after some googling I found this, run “chcon -t httpd_user_content_t /home/Viaxl/Music -R” to authorize world rx permissions to apache access (recursively) .

Now they all work right. I found this kind of multi-layer protection, though very complex, is really handful. In this case I only permit http daemon(as a “Target” of Selinux’s conception) to access my Music folder, and this can’t be done precisely by chmod or something.

Linux访问Windows共享 && mplayer播放网络文件

mplayer播放网络文件会顿/卡/lag的情况

大笔记本上装的固态硬盘空间严重紧张,一般都是用小本下电影,小本在学校接了个24寸液晶电视看电影很给力,但是在家还是用大本的屏幕看吧… 实现起来一直困扰我的问题是我最爱用的播放器mplayer在放网络上的文件时会卡,隔一会顿一下,跟tm iPad似的(iPad放除了苹果本来支持的意外的格式–即用第三方解码器–总是会卡,怀疑是苹果故意这么干的…没研究过瞎说的)。之前是放弃用mplayer今天心情好Google了一下,发现有 -cache 这个参数,就是缓存啦,加上 -cache 8192 果断就不卡了。也不能怪我没看那八百页的manual…

本来就想说这,但既然提了我就把容易遇上的问题说全乎了吧,方便出现各种问题Google进来的同学们。(改了一下标题)

怎么mount windows的NTFS分区

需要注意的是之前用来接口NTFS格式的samba现在已经不用了,现在用一个叫cifs的东西… CIFS: Common Internet File System,看名字就知道比什么叫“桑巴”的牛逼 🙂
具体实现为:

mkdir /mnt/[dicname]
mount -t cifs -o username=uuuuuuu,password=xxxxxxx //192.168.1.100/[sharename] /mnt/[dicname]

然后关于mplayer字幕的问题

mplayer的字母乱码(或者下划线)上次也让我蛋疼过一次,好不容易弄明白时隔半年我又忘了又蛋疼了一次。
关键点在于… -font后面写的字体不是字体的路径,不是 /usr/share/fonts/xx..xx ,而是字体的名字,比如 -font “WenQuanYi Zen Hei” (由 fc-list 列出)。可能之前的版本是路径吧Google全写的路径…
有三个需要填的 -sub [字幕路径] -sub [字幕编码] -font [字体名称],如下:

mplayer *CD1* -sub 1.gbk.srt -subcp gbk -font “WenQuanYi Zen Hei” -cache 8192

-cache作用见文首。并不用像很多地方说的要把字幕文件通过 iconv 转成cp936格式,只要-subcp写对了就行。
貌似可以在 ~/.mplayer/config 中设置来不用每次都打一长串,但是我不敢在没有配置文件的情况下再忘掉这怎么工作的了 = =

Google music进不了的解决办法

这两天一直用不了以为是Google服务器又出问题了(之前也有过,以为是.cn服务器挂掉了)。表现为点开播放器只有广告在飘上面打不开,专辑封面图出不来。但是换了代理封面图能出了,播放器由于不是天朝IP没法点。所以怀疑是路由被某众所周知的东西污染导致访问不了。

看了页面源码找到三个地址
1)*.top100.cn/*
2)*.googleusercontent.com/*
3)*.googleusercontent.cn/*
而播放器是放在(3)里的,把(3)地址挂进代理就能用了。

引申:
我把123全放代理里(美国IP)也能正常播放,说明Google检测IP的机制很不严,所以在国外也只要把google.cn挂上天朝代理就能播放了吧~ 没试
在天朝用cloud伤不起啊…

网站/WordPress从虚拟主机搬家到VPS上

拖了一个月终于着手并且完成了。其实没有什么难的。但是因为我对Linux的了解非常局限,还是花了一番功夫,同时学了很多东西,在这里记一下。没有试图写一篇“手把手教你搬WP”,只是记录一些我觉得有帮助的东西,希望做同样的事情的且同样不是那么牛逼的Linux学习者们有用:)

虽说是WordPress搬家,但是任何一个小型网站搬家都差不多这样了吧,嘿嘿。

如果用cPanel和MySQLAdmin之类的东西可能就很傻瓜,但是第一cPanel太贵了(竟然要425多刀一年,我都笑了),第二VPS都买了必须必须要抓住每一个学Linux的机会啊。

过程如下(断断续续弄了好几天…): Read More

[Geek Power] 脑力训练之 怎样忘记

本文遵循署名-非商业性使用-相同方式共享协议2.5 转载请注明译者http://axlarts.com 及原文地址
原文http://www.increasebrainpower.com/how-to-forget.html
因为一些事情探究..  总之这是Google搜”how to forget”的第一篇, 觉得不错译一下..

(概念有点容易混淆,“想法”thought 和“记忆”memory 虽然是不同的概念,但是想法是由记忆产生的,就像你深夜对鬼的恐惧这个thought,是你的记忆综合作用的效果,如果你的记忆中没有鬼这玩意,就不会有 这种恐惧,顶多怕个入室抢劫啥的。并且本文探讨的thought显然是不断出现的thought,也就成为了memory,所以某种程度上通用。 –译者的YY)

怎样忘记?一般来说我关于记忆的探讨都是关于提高记忆能力的,但是一名脑力通讯(Brainpower Newsletter, 就是这网站. 译者注..) 的读者写信问我能否写一篇关于如何忘记一些东西的文章。他有一些念头不断浮现以至于他干什么都不能集中。

显然,任何”想要忘记”的直接尝试一般来讲都不会有用。如果我让你现在不要去想一只和房子一样大的红色气球 (在中国你要想像一只比房子大的多的气球. 译者注..),你阻止自己去想这个飘在空中的气球的一切努力最终都会生成一幅栩栩如生的蓝天白云红气球的画面 :)。只要你还在告诉自己“别想这个了!”,它就会一直飘在你的思维里。

同样的无论你阻止自己去想什么都会这样。“别去想X”让你的注意力无法从X上移开。于是抛开某个念头就需要一些内在的技巧。

注意力是有限的。你只能同时注意有限的东西,你提供给某个事物的注意力越少,它就会越快的淡出你的脑海。所以忘记的关键在于转移注意。

别想你能推倒一段记忆。它几乎能存在于——嗯,你的余生。但是如果每当它闪出来,你都有意的转移你的注意到别的什么上去,它就会逐渐丧失能量,会越来越少的出现,变的虚弱无力…

贴 标签是个好办法,就像一些人在思考时做的。举个例子,假设一个不受欢迎的念头开始形成并且干扰了你的精神力场。你可以给它打上标签,“记忆碎片”,或者 “感觉”,或者“反应”。并且可以在此基础上细化,像“只是出于恐惧的胡思乱想--人在恐惧的时候容易胡思乱想”。然后你能立即把注意力转移到更高产的方 面。做足够多这样的工作,不想要的想法和思维”噪音“能够被更快的排除。

另一个可能有帮助的技巧是,把这些破门而入的想法写在 to-do list 上,无论它们是记忆还是以后的计划还是一些担心还是别的什么东西。比如,你可以在黑莓手机上标记某个需要在这周五处理的记忆。这种对记忆的作为“在周五处 理”的“分类”让大脑此刻放下它变的更合理、容易。当然,如果它只是不必要的钻牛角尖,当周五来临你猫了眼自己的list,扫过这一项也许会直接在旁边注 “没必要啦”…

这两个技巧的作用程度会根据你的心理偏好变化,但是关键在于记住,你是自己注意力的MASTER!虽然严格来讲本文没有真的讲怎样忘掉一段记忆,但是,你的记忆并不是问题, (虽说这也不是绝对的,但是确实,恐惧本身并不可怕,对恐惧持续的阴影才是可怕的; 而我此刻面临的悲伤情绪,它带来的负面影响比悲伤本身厉害多了。–译者注) 只要它们被放在了正确的位置。也就是说把你的注意力放在正确的地方--你选择的领域

失恋的朋友们,我这有一打“记忆碎片”和“再想也没屌用”的标签,有要的么? 😉

无光驱安装win7很给力的途径..

试了半天在dos下用loadISO加载光盘镜像, 然后有各种问题, ntfs格式不兼容什么的最讨厌了..

然后发现用虚拟光驱就可以.. 之前觉得不行是重启以后虚拟光驱就不挂载了, 但是原来不需要, 只在第一次重启之前才用到CD, 之后需要的文件就被copy到硬盘上了.

1. 制作U盘启动盘, 挂上winPE系统.
2. 安装虚拟光驱, 载入ISO.
3. run setup.exe 就成了..

我原来XP直接2了 winPE没试但是没有不行的理由吧~~

比鼠标垫更要紧--如何去除鼠标加速 (适用于vista/win7!)

Xp下去除加速度很简单, 注册表里改一下就行了. 但是vista/win7好像一直没什么好办法(我是win7系统).
控制面板里去掉, 游戏里还是有. 有说加 -noforcemparms什么参数的也是人云亦云, 我试了基本都没什么用. 经过艰苦的Google, 终于达成了完全去除鼠标加速度的方法(鼠标和光标的1:1点对点移动). 并且在所有的游戏里都适用, 从根本上解决问题的办法.

http://www.esreality.com/?a=post&id=1846538
原文在这里, MarkC的win7去加速度解决方案, 我稍微翻译一下

更新:链接失效,已上传至本地
http://axlarts.com/uploads/MarkC_Windows7_MouseFix.zip

(非win7系统请看5)

1. 如何使用?

-在控制面板里,选择外观与个性化, 选择显示, 看看你选的DPI百分比是100%还是125%或者150%
-在控制面板的设置里, 把鼠标速度的滑块拖在中间 (6/11位置) .
-打开上面下载的zip文件
-选择符合你DPI百分比的那个reg文件, 双击导入(需要管理员权限)
-重启以应用修改

2. 为何需要这个补丁?

首先, 如果你不知道以为什么需要它, 那么你就不需要..
老游戏里, 比如半条命1, 雷神之锤12, 开启游戏后它们会调用一个windows函数, 来禁用掉鼠标加速, 强制光标点对点移动, 在这些游戏里准星的瞄准没有任何问题.
但是XP,Vista,win7里, 游戏不再那么容易的去掉鼠标加速了, windows有时在后台启用鼠标加速, 即使你在控制面板里已经把它关掉.
所谓鼠标加速, 就是说你移动鼠标快, 那同样的距离, 屏幕上的光标会移动的距离更长, 在某些情况下这是非常有用的. 但是在FPS游戏, 这种情况下的瞄准就是一种灾难..

3. 这个怎么工作的?

这个补丁无比牛逼的直接对windows的鼠标加速功能进行修改, 类似于把加速度修改成0, 这样即使游戏中调用了加速函数, 实际上还是鼠标与光标的点对点移动.

4. 如何知道这玩意确实有用?

在上面下载的压缩包中, 有一个MouseMovementRecorder, 鼠标移动记录器. 这个牛逼的东西, 你用了就知道了, 会显示出鼠标移动距离(第一列), 屏幕光标移动距离(第二列), 第三列是频率(不知道是啥), 第四列是说你是否启用了鼠标加速.
可以先试一下修改以前的鼠标加速, 红色是变快–同样的距离, 屏幕移动更远, 绿色是相反. 很明显. 在控制面板里把加速关掉以后再看一看区别.
修改以后, 即使开着鼠标加速, 也是不加速的情况了, 这时不管什么游戏, 任何情况下都无法再加速了 🙂

5. 不想用6/11位置, 或者DPI不是那三个中的任何一个, 或者xp/vista怎么搞?

作者做了个自动的工具, 就是压缩包里的MarkC_Windows7+Vista+XP_MouseFix_Builder文件夹, 我没试过, 试过的同学回一下~~

6. 如何卸载?

导入WindowsDefault.reg即可

Ubuntu下东芝T100插耳机外放不停的问题终于有人解决了..

吾等菜鸟, 只能苦苦等待高手援助, 买来几个月后的今天, 收到mailing list发来的喜讯..

> I have a t135-s1312 and was able to get my headphone jack to work
> separately from my speakers with this workaround ( which I found on some
> website, I don’t really remember where):
> add:
> options snd-hda-intel model=”olpc-xo-1_5″
>
> to:
>
> /etc/modprobe.d/alsa-base.conf

终于可以把它当大号iPod使了..

[SOLVED] pppoe connection automatically terminated after a few minutes

I’m using Ubuntu Lucia in dorm, the network always automatically disconnected  after a few minutes like:

root@VanXL:/etc/ppp/peers# plog
May 19 13:30:53 VanXL pppd[3087]: Connect: ppp3 <–> wlan0
May 19 13:30:53 VanXL pppd[3087]: Remote message: Authentication success,Welcome!
May 19 13:30:53 VanXL pppd[3087]: PAP authentication succeeded
May 19 13:30:53 VanXL pppd[3087]: peer from calling number 00:18:82:60:CA:A5 authorized
May 19 13:30:53 VanXL pppd[3087]: not replacing existing default route through ppp1
May 19 13:30:53 VanXL pppd[3087]: Cannot determine ethernet address for proxy ARP
May 19 13:30:53 VanXL pppd[3087]: local  IP address 114.230.98.44
May 19 13:30:53 VanXL pppd[3087]: remote IP address 114.230.96.1
May 19 13:30:53 VanXL pppd[3087]: primary   DNS address 61.147.37.1
May 19 13:30:53 VanXL pppd[3087]: secondary DNS address 61.177.7.1
root@VanXL:/etc/ppp/peers# plog
May 19 13:31:08 VanXL pppd[1996]: remote IP address 218.91.20.1
May 19 13:31:08 VanXL pppd[1996]: primary   DNS address 61.147.37.1
May 19 13:31:08 VanXL pppd[1996]: secondary DNS address 61.177.7.1
May 19 13:31:20 VanXL pppd[2716]: No response to 4 echo-requests
May 19 13:31:20 VanXL pppd[2716]: Serial link appears to be disconnected.
May 19 13:31:20 VanXL pppd[2716]: Connect time 3.5 minutes.
May 19 13:31:20 VanXL pppd[2716]: Sent 11128 bytes, received 10199 bytes.
May 19 13:31:27 VanXL pppd[2716]: Connection terminated.
May 19 13:31:27 VanXL pppd[2716]: Modem hangup

Network works fine when i use ChinaNet so i didn’t suppose this to be a hardware (or driver) problem.

and i noticed the “4 echo-request”. after googling, this appears to be a bug.

The other side of the PPP link probably dosen’t support LCP echo. You often see this with cellphone / cellular data card PPPoE implementations.

Put this line in the relevent ppp options file and try again:
lcp-echo-interval 0

(http://superuser.com/questions/109146/ubuntu-pppoe-connection-timeout)

Also you can completely disable this in /etc/ppp/options (search “echo”) if you find it worth nothing like me 😉

The network works perfectly now