2025-09-11 00:00:00
ARP相关的问题进行测试或者找问题的时候可真麻烦,很容易受到习以为常的一些操作的干扰,导致无法发现真实的原因
设备不上线的问题太多了,各种各样的,还都是偶发,没有现场,无法复现,针对这个问题造成的情景很多,下面 一一列举:
以上问题大部分情况下基本都是同一个东西造成,mac表错误,设备发送的包全都被丢弃了,要理解这个问题需要知道下面的机制
以下机制都经过了验证,确实会出现ARP广播
二层局域网中,如果设备之间通信不仅仅需要知道IP地址,还需要知道mac地址,ARP的作用就是在加入一个新的局域网的时候自动广播一次,告诉局域网内的其他设备,他加入了,其他设备就会存储他的mac和ip,下次通信时就知道包要发给哪个mac地址了。
ARP比较特殊,他是网络层协议,但是工作在数据链路层
有些路由器的控制软件,比如Winbox,就可以直接二层通信,只需要mac即可,完全不需要ip地址,这种就很方便,在IP配置错误的情况下,也能通过mac连接,然后修改正确
二层设备,AP一般都属于二层,他们都是不会主动进行ARP广播的,只会监听局域网内的ARP,并偷偷记录下来,遇到需要转发的包时就知道送给谁了,如果这个包的mac不存在就会直接丢掉
三次设备,路由器,这种设备会在内部维护路由表,联动ARP的mac表,他会自主进行维护,所以他会主动发起ARP广播
还有一个特殊情况,ARP Proxy,这个东西会代理回复或者发起ARP,这个东西也算是搅局者,被干扰的话也比较难辨别
网卡被设置IP时会自动广播一次ARP,同样重启网卡、物理插拔也会重新广播ARP
泛指客户端设备,比如WIFI模块、PC,他们在与PC或者其他东西通信时,内部会维护一个mac和ip的地址表,正常情况下这个表会在加入新网络或者网络断开时重新刷新,或者急速老化
Ping比较特殊,在主动发起Ping时,设备方如果mac表中不存在对应设备,那么就会发起一次ARP广播,询问这个IP的mac是什么
同理,当被ping的设备收到了这个ping包,也会更新自己的mac表,记录下这个来访者
Wireshark本身是被动抓包工具,默认不会主动发送ARP广播;但打开抓包后,可能出现“间接触发”的ARP流量,让你误以为是Wireshark发的;
可能的间接触发原因:
开了Wireshark反而可能导致问题无法复现,主要还是改了网卡的设置,造成网卡重启了,ARP就广播了
设备从SSID:A切换到SSID:B,发包时会重新问一次这个IP对应的mac是谁,如果相同就更新地址表的刷新时间,如果不同那就会替换成新的mac
我们目前出现不上线的问题,基本都是这里,设备端切换SSID后,没有更新他的目标mac地址(PC的mac地址),他发送的地址一直都是错误的,这个mac地址不存在,直接就被丢弃了,所以连上了AP,但是PC收不到。要等到设备主动更新他的mac地址、PC重启、网口重启、网口重设IP、电脑重启等任一条件发生,这个设备才会正常上线。
测试验证设备是否正常上线
这里还混合了一个情况,PC自己有mac表管理,可能在测试的时候会出现pc自己主动发起了ARP,这个会搅和在测试中,某些情况就会受到影响,你分不清是谁让这个情况变好了
查看网口设备
netsh interface ipv4 show interface
Idx Met MTU 状态 名称
--- ---------- ---------- ------------ ---------------------------
1 75 4294967295 connected Loopback Pseudo-Interface 1
7 25 1500 disconnected WLAN
19 25 1500 disconnected 本地连接* 9
10 25 1500 disconnected 本地连接* 10
11 25 1500 connected 以太网
23 5 1500 disconnected 以太网 2
14 35 1500 disconnected 以太网 3
22 35 2800 connected ZeroTier One [b6079f73c6ba32c3]
13 65 1500 disconnected 蓝牙网络连接 3
查询具体网络设备的配置
netsh interface ipv4 show interface 7
接口 WLAN 参数
----------------------------------------------
IfLuid : wireless_32768
IfIndex : 7
状态 : disconnected
跃点数 : 25
链接 MTU : 1500 字节
可访问时间 : 35000 毫秒
基本可访问时间 : 30000 毫秒
重传间隔 : 1000 毫秒
DAD 传输 : 3
站点前缀长度 : 64
站点 ID : 1
转发 : disabled
播发 : disabled
邻居发现 : enabled
邻居无法访问检测 : enabled
路由器发现 : dhcp
受管理的地址配置 : enabled
其他有状态的配置 : enabled
弱主机发送 : disabled
弱主机接收 : disabled
使用自动跃点数 : enabled
忽略默认路由 : disabled
播发的路由器生存期 : 1800 秒
播发默认路由 : disabled
当前跃点限制 : 0
强制 ARPND 唤醒模式 : disabled
定向 MAC 唤醒模式 : disabled
ECN 功能 : application
基于 RA 的 DNS 配置(RFC 6106) : disabled
DHCP/静态 IP 共存 : disabled
这里的可访问时间和基本可访问时间就是ARP表中的刷新时间
修改ARP时间
netsh interface ipv4 set interface 9 basereachable=60000
显示地址表
netsh interface ipv4 show neighbors
ARP表项修改
# 设置为 4096 个条目
netsh interface ipv4 set global neighborcachelimit=4096
# 验证修改结果
netsh interface ipv4 show global
neighborcachelimit 是新的取代ARP的,需要独立设置表项大小,PC上ARP的机制或者代号改来改去的,和系统有很大关系
一些大厂的WIFI模块,本身就有类似的测试用例,所以ARP相关机制都会补全,但是一些原生的WIFI模块,二次开发的,这块内容是否有验证,就很值得怀疑了,这个情况复杂,又不容易复现,很容易被各种推脱跳过去了。
2025-09-10 00:00:00
不下赛道不知道,一下赛道就看出来了,车与车之间还是有差距的,之前坐看别人冲进砂石里,这次轮到我了。特别是AC里从原型车换成量产车(还是增强了抓地力的)圈速一下子就掉下去了,怎么都追不上的那种。
对应现实中,用纯原厂的车去开ZIC,大直道估计可以270+刹车,我最高是265,其他地方还不敢开到和模拟一个速度,怕刹车刹不住。
如果还想更快,或者说更安全的去刷更快的速度,还是需要一些改装支持的,可以把上限提的更高。
第二次去ZIC,有信心多了,想试试直线最大速度大概能到哪里。刹车点和模拟器一模一样,都提前试过了,可以借鉴。事后回看录像,我一共跑了接近3圈的260+直线,最后一次冲出赛道,这个时候也差不多是我们这一节的结束时间了。
前面两次,260+都稳稳的刹下来了,除了大直线刹车比较狠,其他地方相对模拟器来说我基本都没咋推,也没狠刹车,所以单纯一个湾狠刹问题也不大。
但是最后一次,中间犹豫了一下,松了一下刹车,没有踩到底,我在200m的时候还有204的速度,正常刹车没问题的,进入到50m时速度还有147,这就不行了,已经很接近弯心了,再踩死刹车不足以在砂石缓冲区前刹住了
由于快速刹车,刹车盘不足以散热,自动就起火了,但是尴尬的是我在沙坑里退不出来,也没办法帮车散热,后续等到ZIC的工作人员带着铲车进来,把我拖出去了。
从来没有切换过n档,一开始手忙脚乱的,问了半天小爱同学怎么切n档,切完以后,拖车一开始还拖不动,基本上刹车锁死了,只能硬拽出来,就是这个硬拽损伤到了刹车盘、卡钳。
还是没经验,别人冲进去刹石坑不完全刹死,而是让车飘过砂石,尽量减速而已,后续还能正常从砂石里出来,损伤就小很多了。
后续车底兜了一车石头,维修的时候把小哥逗得…
比较麻烦的就是后续的维修了,刹车盘边角被磕出了坑(6000/个,正常这个盘基本能用到报废的级别),卡钳磨花了(1w+/个)和刹车皮(3k/套)过火了,建议更换,轴承4个(大几百倒是便宜),最后一看全量清单,6w多,着实离谱,刹车皮趁这个机会换成了ENDLESS的,其他问题不大的就没变动,Club会员还有打折维修券,能用都用上了。
https://item.taobao.com/item.htm?id=937088018309
之前说到底盘灯在行车时无法控制,流光效果等等都无法自定义,很是鸡肋。
很快就有人看了控制的接口,拿了类似的一款设备直接移植过来就能控制了
控制的APP支持BanlanX,也支持米家直接控制
接入方式是通过蓝牙网关(车上自带一个),也可以随时蓝牙直连进去控制。
同时配合小爱同学的一些自动化,就可以完成类似原厂底盘灯的效果,目前su7、yu7、ultra都是支持改装的
安装相对比较简单,但是也有点不好弄,建议直接让小米的帮忙处理一下
后备箱的隐藏空间的毛毡层是可以直接扣开的,本身是通过魔术贴占着的,但是这种方式只能半开,无法全部打开。打开就能直接看到里面原装的控制器。控制器电源线倒是留了空间用来走线,但是这个走线也很困难。
灯带的接线卡子,需要按住前面的小突起才能拔开,空间局促,操作起来很难受
换好以后,就可以移除老控制器,把新控制器放进去了,也没啥固定,单纯放进去就行了。
启动车以后,控制器就自动供电了,先用BanlanX把控制器的默认上电行为改成关灯,否则这个灯总是亮着的,很奇怪。
然后打开米家,把设备加入即可,建议也不要叫底盘灯,用一个特殊的名字
打开车的设备漫游选项,然后车机米家上导入这个设备,之后就可以通过小爱同学随便控制了
看到了一个后窗的点阵灯,感觉也有点意思,就是不支持接入米家,只能用遥控或者独立的APP去设置
还有一种小一些,但是点阵更密集,显示效果更好一些
业内好像也没有米家的点阵屏的控制器,不好DIY
原厂是金博制动片,新换了ENDLESS MA45B的制动片,换一套要2w5
一般情况下金博的足够用,下了两次赛道+5000公里,金博皮还剩下1cm多,绰绰有余,但是如果要更好的制动效果,更大的摩擦力,就得换了。小米的这个刹车片也算是定制的,正常途径买不到。
刹车片买了就送安装服务,默认买了不需要邮寄直接就在店里取了,店里装
第一次知道小米有品还卖轮胎,神了。赛轮的PT01比较适合下赛道,同样买了寄4s店,在店里安装即可。
如果只是下赛道可以换305+325的组合,比265好一点点,但是不适合上路,超宽了,本身是半热熔轮胎,需要赛道里热开了才能有足够的抓地力。
轮胎一套下来要1w1,之前据说有券可以9000多拿下,还是不错的
其他还有ENDLESS制动液、TROFEO RS半热熔轮胎(据说只给竞赛套的购买,普通ultra没资格)之类的就没必要了,只是玩玩而已,不得不说赛车玩起来可真贵啊,随便换点配件就是一两万起步,修个车就是好几万,这还是小事故,大事故可就不止这点了
上次ZIC是去的Ultra最多的一次,十六七辆,也是上个月开始总算有了Ultra的赛道群,全国一共也就一百多人,如果Ultra真卖了2w辆,那也就是不到1%的人拿来下赛道了,比例确实很低很低,做赛道活动,维持Ultra的热度啥的,是有一点亏的,还是得靠其他营销去撑热度
2025-09-05 00:00:00
纽博格林
https://web.community.car.miui.com/activity/universal?actId=649122364&siteChannel=2&darkMode=true&skipLocal=true
上一次宣传直接内测了几个人,不知道怎么找的,突然就宣发了一下,这次总算来正式的了。
不过这个有点悬,就10个名额,候补很难转正,而且最好你得是有签证的。
看了一下德国签证,最早就只有广州这边,最快也只能排到9.20线下录指纹,签证能不能在9.25之前下来,没人能担保,瞬间骂娘,这根本就是内定好了人,给你抢,不是逗你玩呢嘛。
仔细一看,再一追问,这个纽北活动不给你开Ultra,只能坐着体验和之前的赛带体验是一样的,有点挫
相当于是5w块,小米带你玩了一圈德国纽北,租了个旅行团,还是不包机票和签证的旅行团,有点搞
申根基本上在欧盟国家可以通用,唯一区别是这个签证也有入境或者出境国家要求,比如你要去德国,但是签证是法国入,而你实际没有去法国,直接入德国了,最后离开也是从德国离开了,那可能下次再来就有问题了。
申根签证能去德国家
- 西欧:德国、法国、荷兰、比利时、卢森堡、奥地利、瑞士(非欧盟)、列支敦士登(非欧盟)。
- 南欧:意大利、西班牙、葡萄牙、希腊、马耳他、克罗地亚(2023年加入)、斯洛文尼亚。
- 北欧:丹麦、瑞典、芬兰、挪威(非欧盟)、冰岛(非欧盟)。
- 东欧:波兰、捷克、匈牙利、斯洛伐克、立陶宛、拉脱维亚、爱沙尼亚、罗马尼亚(2024年加入)、保加利亚(2024年加入)。
申根签证是依据《申根协定》签发的短期签证,允许持证人在180天内于申根区内累计停留不超过90天,且可在成员国间自由流动
最容易申请的是法国,所以很多时候大家都选法国、西班牙入境,然后再转去其他国家
行程方面
机票预订单(无需付款,需与行程一致)
酒店预订单(覆盖全程,可取消房型)
行程表(每日行程、交通、景点名称)
https://france-visas.gouv.fr/zh/les-etapes-de-la-demande-de-visa
https://visa.vfsglobal.com/chn/zh/pol/attend-centre/what-happens-at-centre
不像日本,申根签证可以个人直接申请,不需要依赖旅行团等外力
但是不同国家的申根签证要去不同国家的领事官网上申请,略微麻烦一些
国际驾照有两种,IAA和IDP,之前去越南前就已经办了IAA的驾照
IAA,国际驾照翻译件(International Automobile Association)
适用于180多个国家/地区,如法国、泰国、南非、阿联酋、土耳其、哈萨克斯坦等;
不适用于日本、韩国等国,但办理流程简单,最快3天寄达,非常适合旅游/工作人群;
IAA直接支付宝或者微信小程序就可以申请
给出驾驶证、护照、照片等电子版资料就可以走申请流程了,价格是1299,有效期20年,10年1099,大概也是一周左右就下证了
IDP,国际通用驾照(International Driving Permit)
由联合国道路交通公约授权签发;真正意义上的“国际驾照”;
中国大陆目前无法直接申请,因为未签署《日内瓦公约》或《维也纳公约》;
但可通过【香港、老挝等地】申请,适用于日本、韩国等地区;办理成本较高,流程较复杂。
IDP价格比较贵,2999而且有效期只有1年,目前大部分都是通过老挝办理驾照,再转成IDP,香港IDP更贵
个别国家必须要IDP才能驾驶,所以如果选这个纯属没办法
也存在一部分国家不认IAA和IDP的,外国人必须单独申请他们本国的驾照,比如越南,但是这种比较简单,很容易就能过了
活动资格秒没,群里只有两三个人抢到了,笑死,不愧是你,小米
https://mp.weixin.qq.com/s?__biz=MzIyNjg5MTQ1MA==&mid=2247656845&idx=2&sn=459508e91f4f1cedfef02a968373456e&chksm=e93e2c6ec6196d2e98ffb794a34d4fc1b31b57d9e6dbf8d080de0354ba46b61051671be75ddc&scene=27
2025-08-28 00:00:00
2025.4.8开始学习艺术与审美的第一阶段课程
一直以来对于艺术、审美、感性的、美的,这些很偏文科或者艺术的东西搞不明白,小时候学画画也没画明白,虽然老师他爹非常牛逼,但是这种层次的人很难在当时的情况下能教会你这些东西。这次打算补全一下我自己对于艺术这方面的短板。
经常遇到的在CG、游戏、TA等领域的人,甚至群友,他们说这个建模不错,这个人体不错,这个是色胚,似乎他们的审美都不错,但是呢,又没人能告诉你为什么好,具体什么样的是美的,什么是好的,为什么美,为什么好。如果你问,那就是一句话,多看。
多看有用吗?有的,看的多了,多少会给你留下一些感性的认识,再看到类似的会感觉这个好像是好的,另一个好像不行,但是这种需要非常多的积累,他不够有条理,或者说他不够快速,不够理性,我无法明确感受到这种东西
直到我看到了他的这个视频,似乎懂了那么一点,似乎有一些以前觉得不以为然的东西,好像是有点用的。
以前觉得历史有什么用,虽然从小就看过各种史书,也学过历史,但一直觉得这些东西都是过去式,都是死物了,何必纠结于这些老东西,他们对当下的我来说没有任何意义。 以前只看到了历史中的王朝更迭,权力斗争,而这些东西持续了几千年,看厌了,看烦了;近两百年的科技爆发,将这几千年的历史碾成了渣,我们快速站在了巨人的肩膀上,对于两百年前那慢悠悠的岁月长河中到底发生了什么缺少了兴趣。小时候的历史更多关注的是大事或者说是政事,但其实对于科技、文化、艺术,他们都有各自的历史,然而这些东西在历史课本中只是很小很小的一个Tips或者是彩蛋,至于什么美术课那都是和尚念经,没什么意义,我忙着练习数理化。
对于艺术的历史,在整个教育体系里都是缺失的。现在的学生顶多是知道文艺复兴,然后呢?为什么?艺术风格经历了什么样的转变?达芬奇为什么杰出,仅仅是他解剖人体,研究人体肌肉骨骼嘛?至于现代艺术?包豪斯?后现代艺术、当代艺术等等他们又发展到了什么程度? 一无所知。
同样的,搞明白这个东西也能解决另一个问题,看展到底在看啥?经常有各种展,他们欣赏的是什么东西,这幅画哪里好看了,这个字哪里写的好了,这个艺术展到底表达了一个什么东西,我能得到啥?同理,历史博物馆也有类似的情况,这个古迹好在哪里,为什么可以被推崇上千年,甚至古人都叹为观止。
上完这个审美课或许可以给我一个答案,或者说给我一个认识他们的角度。
艺术与审美课的课程内容如下,价格是1680,总共大概是23个课时,一节课大概是2-4小时,一共可能60小时左右。课程初期的时候是直播的,后续是直接给录播视频,自己看就行了,有问题可以直接联系老师本人,直接提问,还是非常好用的。
由于是录播所以整个视频可以倍速播放,自己看还是非常快的
下面是大概课程的标题,实话实说,唯伟老师的标题起的一塌糊涂,我逐课看都经常对不上号,课程介绍视频里一个标题、实际文件一个标题、课程录屏的ppt又有一个标题,三个都不统一,非常难受。
审美课还有二阶段和三阶段,二阶段已经上完了,也是录播形式,三阶段还没开始
这两课主要就是说符合是怎么诞生出来的,其实就是早期人们只会用一些规整的符号,比如直线,三角形,菱形等等,同样的颜色也只能选择常见的红色、黑色,接着后面产生了复杂符号,曲线,更稀有的颜色等等。而这一切都是源于认知,人类的古早时期,对于世界的认知就这么点东西,也就只能使用这些方式去记录。随着人类文明的发展,人类对于世界认识的越来越多了,人们将对于世界的认知刻画在服装、雕塑、装饰品、陶器、首饰等等上面,这些都是人类朴素对于世界的反馈和记录。
以后再看到一些古早的人类遗迹的展,大概就知道了为什么他是这样画的,他记录下来的是什么东西,不再是一头雾水了。其实换个角度,审视一下自己,自己在缺少经验或者缺少相关知识的时候,对于未知的理解,也是非常本能、朴素的。正是因为有了教育,有人做了归纳总结,才让我们能快速建立一个庞大的知识体系,能站在巨人的肩膀上快速前进,适应当前的社会,而不是按照原始人的脚步再一步步走过来。
视觉经验决定了你的画画,这一课以埃及绘画为例,讲解了为什么埃及壁画是这样的,壁画中的人体结构非常准确。而这一切都来源于尼罗河得天独厚的自然条件(这该死的地理知识,此时就派上了用场,地理、历史、艺术联动在一起),尼罗河作为人类早期文化发源地,养育了整个埃及,也让埃及诞生了这样的壁画。
雕塑,早期人类相机,可以通过很简单的覆膜灌铅的方式复刻形体,所以雕刻在早期发展的很快
造型艺术的研究是从比例到几何,再到动态的过程
埃及时人的形体(埃及人建立的3的倍数比例下的人体造型),形式美,规律,重复,数理逻辑(3)的美感隐藏到了艺术中,对比原始人的艺术是非常直接、浅显的,没有更深层次的内容,是不需要你去做阅读理解的。在埃及时代,你要读懂他们的美,就不能直接靠看了,就得理解他们文化的内涵,才能理解他们的艺术形式了。
艺术中的真实和现实的真实是有距离的,以前简单的理解绘画就是古代的相机,是吗?一部分是的,但是更多的不是,艺术是会对现实进行加工的,艺术源于生活,但是艺术本质上是你生活之外的东西,或者说他是你在能活着以后,才能思考的东西,追求的东西,那你必然会让他变得超越一点现实,这是人的本能吧,艺术他不会去拥抱平凡,他需要特立独行,需要与众不同的,但同时又要找到他内部的逻辑,也就是他自己也要逻辑自洽。这也是为什么艺术中人体的构型是有一种数学的美,结构的美感在的,他是有一套逻辑支撑的,并且获得了广泛的认可的,而那些没有被认可的就变得很小众了(其实也是艺术人的本质在作祟,本身这一套逻辑已经脱离了现实的人体,在这个套逻辑得到认可以后,又有人不满于现状,再次进行追求或者探索,于是又构建了另一套更小众的逻辑,而这恰恰体现了艺术的与众不同与持续追求)。
总体来说,暖饱思淫欲,现在普通人的生活基本等于过去贵族阶级的生活,因而有余力在生存之外进行思考,可以去追求生存以外的内容了。可能再过个一两百年,普通人的生活可以达到现在富人阶级的生活,那么此时普通人的审美追求可能会和现在富人阶级的审美追求相似,这也算是一种循环吧,艺术从小众变得大众,再变得小众,总体脱离不开时代的背景。
旋转纹路,漩涡纹路,来源于星空,类似延迟摄影那样
龙的图形本质上来源于星象,古人先看到星象,再联系到生活中能看到的动物,进行一定的抽象就会变成各种形式的类似龙的图像
这一课主要是铺垫了很多中国古代天文相关的知识,其实是对之前课程内容的一个callback。如之前所说,中国古人崇拜、仰望的东西那就是天上的星空,由星空历法所起,紧密结合的就是古人的生产生活,继而在艺术创作或者记录的时候,人总是记录的就是类似星空的东西,或者说是把星空的形象拟人化、动物化,也可以说是神话或者美化。这些铺垫都和后续中国的装饰纹路有关系,大部都是来源于此的,古人对于这种遥远、看不明白的东西都是非常崇拜的。
从上古时期的尧舜禹到春秋战国,要理解这一时间段里的装饰,比如青铜器、服饰、墓葬等等上的信息,就得结合当时的文化变迁来理解,而此时恰好就是整个礼乐崩坏时期,就是天道统治转向人道通知的一个经过,过去古人是崇尚天道的,尊重天的,而之后随着生产力的发展,转向人道,人代表天来形式,某种程度上也能说是人类的认知进化了,思想觉醒了,天文历法知识的进步,改变了人们的思想,准确来说应该是最有文化、权势的那一波人的思想改变了,所以上古时期留下的器物等东西上就是代表着这些文化思想的变迁。
古人亦会考古,从古至今有很多先贤的智慧在时间的长河中流失了,所以古人考古的谬误,很多时候又被后人继承,遗留了千年,一直到现代历史学、考古学等等才正确的解释了当年很多东西是什么意思。举例中的苗族的传统服饰中的很多内容,这些现代的人已经不记得到底是什么意思了,而这种考古性的知识或者内容,都放在了现在的历史相关著作或者论文中,本族人对于这些关注的少,外界也一样的。随着时间的流逝,这些小众内容确实会慢慢被人忘记,淹没在了主流历史中。保护非遗的意义可能也就在此,人类的多样性随着时光逐渐变少了?(但其实还是不断会有新的文化、思潮会继续冲击人类社会)
在这里就可以想见,要想看懂一个展,或者看明白某一段历史,仅仅是靠博物馆这么一点解说或者是展品旁的一点附注,其实是很困难的。缺少这样的文化根基,很多时候这种走马观花是毫无意义的,如果想要做这类的科普或者说展馆,还是得想一想怎么可以更简单、更直观的让观众理解当时的情况,理解当时的思潮、文化,从而认识到这些留下来的东西他们的含义,只能说一块还有很大的发展空间。
结合到近年出圈的一些文创产品,算是比较好的古今结合,但是这样的东西也只是昙花一现,又有多少人会继续深入到其背后更深的内容呢。
文化的传承非常复杂,一个简简单单的小纹路后背所涵盖的文化、历史等知识非常复杂,这么多年过去了,他还能保留下来,其实很不容易,在后世不太明白这是什么意义的情况,依然选择了尊重、模仿,二创,继而再度被传承下去。这种文化的二创、二次解读都需要结合当下的社会,符合当下人们的需求,才能被广泛认可,甚至被流传下去。
古代的艺术-贵族艺术,和平民的关系不大,平民的东西很难保留下来,后续讲到工业时代,才有算是大众艺术
这节课主要是讲雕塑的演变,从最开始的记录、写实,到神话、美化人体、再到后期的复杂化,然后再度进入一个删繁就简的时代,主要着重于人体审美的变化。
现代文件时古希腊文明的延续,现代文件风靡之时,同样也带来了古希腊的写实风格和审美风格,偏向于真实、健硕的肌肉、骨骼的人体审美。与之相反的就是白瘦幼的审美,基于韩国、日本、二次元等文化影响,这种对于时代的反抗也偷偷的扎根在我们的意识中。
基础审美语言不可逆,一旦一种审美形成了以后,很难转向另一种审美,这是一种文化的共性,扎根于潜意识中的东西。基础审美语言,在没有发生战争、经济倒退、人类灭绝、科技超级大爆炸的情况下,很难会出现倒退或者回到某一种过去的风潮,他基本上会跟随时代演进。这个对应到现在的电影、电视等领域中的妆造,现在的美白、磨皮、瘦脸和10年20年前演员、明星的造型相比,日后继续发展,也很难倒退回那时的审美了,所以基础审美语言不可逆。
佛教的崛起,在国外的佛像是什么样的,到国内初期是什么样,他是怎么传播,怎么演变的,一些关键节点的介绍,佛像的造型上的对比,佛教的中国化,整个造像的中式演化。
可以看到佛像,从最初的写实,到形成一个体系或者说模板,然后再到中国形成自己的造型,这种造型的比例、协调感,佛像的表情、微笑可以感觉到那份微妙,这个东西难以用言语或者标准模板来说明,虽然实际上是有这么个模板的。但是你可以想象到当初设计这个模板的那个人,他是怎么想到要做成这样的,而后人也能感受到这份微妙,进而传承下去。
佛教从开始小乘佛教、到大乘佛教,再到后来的百花齐放,遍地佛经,极盛而衰,再次由繁到简,后续禅宗的出现有点像是结合了小乘和大乘的佛教理念,让人人归于本心,不再受到各种文字或者说法侵扰,直指个人内心。
而这样的思想理念和后续中国文化,书法艺术,绘画艺术的内核结合的非常好,有很多东西在当时是说不清、道不明的,而你又想表达出来,文字不足以,那么用什么来表达呢。自然就是书法、绘画等艺术形式了,这也很符合人性,人也是刚开始学习到了新东西时,总是张扬的,总是想把这个内容分享给别人,大白话直接教。而随着时间发展,阅历渐长,就开始高度内敛了,不倾向于平铺直叙了,而是迂回委婉,开始装高深了,这和中华文化千百年来的底色相符合。
早期文字是刻出来,存在于石壁、石碑之上的,甲骨文还属于象形文字,而之后的文字就开始抽象一些了,开始变得更加规整、更加均匀。从汉朝开始,碑刻和书写体的地位开始调转了,碑刻开始模仿书写体的写法了
小时候就不理解这种波磔感,明明一个简单的字,为什么要回笔,写的这么麻烦,小时候就喜欢简单、快速的,所以字也写得一塌糊涂。此时书法也从单纯的记录功能,开始转向艺术或者美感追求了,从单纯的线条控制,转向了面的控制。
对于书写速度的追求,一直到王羲之,书法才确立了汉字连笔的技巧和规则,这也是为什么王羲之在书法历史上这么重要,并不仅是平常看到王羲之写的楷书那么规整,那只是他的一部分贡献而已。很多前人的书法,也是被历代先人模仿和再次雕刻的,所以传到今天的王羲之真迹,也都是王羲之的后人,我们的古人模仿的。
楷书是书写体和碑刻体完美融合以后出现的一种书写体,由于战乱、历史等原因,真迹、纸上的字不一定能留存,但是碑刻很容易保留下来,继而有了后世之人对其的模仿和精进。碑刻和书写文字,是两种艺术形式,书写体的传承是依赖于碑刻的,碑刻的雕刻大师其实在雕这个字的时候也会进行二次创作,后世之人又对此进行模仿还原到纸上,又再次进行演变,碑刻和书法也就相辅相成,互相影响,所以整个书法史上留下了很多名碑,可以说是书法人与雕刻匠的高山流水、伯牙绝弦,但是历史上这样的雕刻巨匠,往往都没能留下名字,他们隐身在了这些书法大师背后。
唐朝时楷书达到了极致,百家齐放,几个大的楷书风格在此时形成了,与之对应的,这种这么标准的字体,就一定有狂放、潦草的一种字体出现,狂草也登场了。王羲之的行书、草书,则是狂草的基础,王羲之这么强就是他什么字都写了,还都是开创级别的那种。在狂草出现时,这种字的表达就不仅仅是用来服务于速记这么一个现实意义了,由于这个字形的大幅扭曲和抽象,他开始表达书写者的心情、修养、感情了。文字从实用,美学表现,开始抽象、情感表达了;楷书是一种静态,行书、草书、狂草,则就是动态的美感了,你能感受到书写人提笔时挥动的手腕、臂肘时的胸臆。
中国古代书法和西放古典绘画,他们之前的对比,发展脉络,其实非常的相似,大家对于艺术的精神追求是相通的。
我这里把书法和编程做一个类比,各种书法可以说就是各种编程语言,王羲之差不都相当于一个人开发了汇编、C、C++,后人又在这样的基础上开发了各种各样的语言。每种书法的代表人物基本可以认为是某种语言的创始人,每篇字、每个碑都可以认为一个工程,而到了颜真卿这里,那就不得了了。他的字里面开始为自己而写,他开始融合各种语言进去了,相当于是你一个工程里既有C++项目,又有python项目,还有java项目,他为了达到程序能运行,开始不择手段了,只要能完成他目的的东西就可以放进去,关键是他还能调用得当,安排组织在一起,完全没问题。可以说是集百家之众长,自成一派,也就是一个超级全栈了,什么都能做。
这里也解释了一下书法真迹,为什么要看真迹,要看原物,而不是看别人临摹或者后人弄出来的版本,确实真迹上保留了很多东西,比如笔墨的深浅、提笔用劲的脉络、笔触的变化,而后天劣质的印刷品往往无法还原这个部分,这部分恰恰是古人的精髓。
中国艺术的核心价值观,在艺术中呈现真实的自我。北宋时,已经出现了印刷术,楷体变得更加普通、机械了,此时苏轼就完成了各种书法融会贯通,而后到了元朝,汉人不如狗,汉人文化可能开倒车?赵孟頫又开启了新的时代。
到这里差不多才能明白为啥书法正统瞧不上他们江湖体了
https://www.bilibili.com/video/BV1wqoyY1Eey
绘画的不可能三角
中国古代,由于缺少透视方向的理论基础,思维体系,在写实方面交出来的答卷也是非常惊人的。工笔画,借助线条的极致运用,表现出的写实感觉差不多是几百年后西方画家才达到的水平,但是同样的此时中国绘画中存在很多比例不协调的情况,这个无法避免。人物画在中期达到一个高峰之后,后人就再也赶不上了,文人也放弃了在人物画上继续做文章,都转去玩山水花鸟了。北宋后期开始出现留白,文人画的追求的意境美开始出现。从宋徽宗开始,诗书画开始逐步合体,再之后书法对于笔的运用开始融入画中,画的写实感进一步削弱,意境再度加深。黑白的山水画,基本玩的就是极致的线条,笔墨的深浅、粗细,抛弃了颜色和形状,用线条来完成形状和肌理的刻画,这是非常恐怖的,相当于你说你用c把全世界大部分程序都写了,把一个语言玩到了极致的情况。后来这一种操作或者画法就统称为笔触。
不可能三角,是你的画既要又要,还要,这实际很难做到,总是有一些冲突的,而这些冲突就会破坏原本的画面,导致这只能选其中2个或者一个。同理,AI绘画,其实看到这里我就大概明白了,AI距离真正的绘画还有很长的距离,平常常见的就是说AI画不好手,其实现在这个问题已经解决的差不多了,手主要是由于训练中标定的素材的比较少,手指又比较多,他是个立体的东西,本身就可以各种组合,在透视下又是各种各样的,导致训练之后的数据量不够,不足以形成手的知识,所以画出来总是奇奇怪怪的。而到这里,如何教会AI,什么是颜色、什么是形状、什么是笔触,其实是比较困难的,特别是当使用某一种方式去替代另一种方式的时候,这种技巧或者呈现的形式,我想在目前的模型中,标定学习的素材一定是不够多的,这个有点太专业了。
到这里其实就是赵孟頫、董其昌提出了一种流派或者玩法,就是对过去的画重新再画,但是不是复刻,而是用新的笔墨、新的笔触重新作画,看似画的内容或者表现的东西是一样的,但是实际细看的时候就发现这个画的笔触非常不同。
这里提出了一种观点,此时的中国绘画是一种表演艺术,比较像音乐,音乐是有创造者的,也有演奏者,而在赵、董的时期,可以认为此时过去的文人已经把可以画的对象都画了一遍了,各种各样的音乐乐谱已经有人提出来了。而赵、董则是再次引领时代,重新对过去的画谱再次用自己的理解去重画,而在这样的基础上,这种重画就开始融入作者本身的情感、感情,而不是平平常常的为了描绘这个形状、这个景色而画。这个发展过程非常类似书法的发展过程,刚开始大家都只是为了写出这个形,表达这个意思,后期才是个人作者在写字时表达自己的情绪,书法成了情绪的载体,这样就变成了艺术。同样的,中国绘画的山水、花鸟等等他们后期也变成了字形这样的东西了。
书法和绘画的交融,也就是在形的载体上,不断摸索各种笔触,表达自己的情绪,所以此时书画合流,统一了。赵、董带来的这样的风气,某种程度上就把中国绘画的正统给框死到这个里面了,画什么不重要,重要的是我怎么画的。同时这也导致了历史上,有很多仿画,很多时候为什么要追求原作,因为仿画是有很大可能弱于原作的,特别是古人仿古,经常真假难辨。
文人、艺术人士就是在不断追求与人不同,追求个性的表达。
董、孟这种追求下,疯狂追求笔法(点线结构),随后出现的徐渭,开始追求墨法(点面结构),二者再次融合,最后就必然形成了中国画的大写意,中国画的抽象。当你不满足于原有绘画者的形时,你去思考用什么样东西重新构建他的形时,古人逐渐就提出了中国画的大写意,就是介于像和不像之间,这种控制,又恰巧融入了作者的情感、描绘对象的动态。
古人可能不会直接说、点线、点面这样的词汇,这是直接拿中国绘画和国外同时期对比、总结而来的。
全历史,完美竟然还有这么一个网页,这里能看到历史上各个阶段国内国外都处于什么时代,同时也能看到对应时期的画作,不过要注意一下可能看到伪作
https://www.allhistory.com/painting
通过西方的肖像画,来理解油画的演变过程
西方绘画的进化,其实和背后的科学、透视学、光学、材料学的进步有非常大的关系。西方绘画早期都是壁画,后续随着材料学进步,开始有了油画,从室内绘画逐渐转向了室外绘画,这一转向,也就把后续的光学带进去了,光线对于颜色的本身的影响,对于作画的影响,也都带入其中了。油画从原来的写实,写形,到逐渐也意识到了笔触的存在,开始强调笔触。
油画类似以前古人的山水画,主要是追求笔触,追求点、线,而后续的水彩画,就转向了追求笔墨、追求面的造型了
十五到十七世纪的西方水彩画类似十二到十三世纪中国的南宋花鸟,以博物画为主。这一张主要是以威廉·透纳的经历来说明水彩是如何走出油画的技法,开拓出自己的一条路,足以与油画分庭抗礼。
好的艺术是会寻找到一个平衡点,既能让观众能看得懂,同时又有隐藏在其中的深意,值得艺术家去思索。
水彩的关键不是一味的涂抹颜色,而是用水和颜料混在一起,形成一种五光十色的黑,可以说西方的水彩画不是在追求那个墨法,而是在三要素中追求那个颜色,怎么极致的去表现这个颜色,笔触次之,形是最次的。透纳开启了水彩的湿画法,让水彩从写实,也走进了写意的时代。
素描功底,决定了你的水彩上限,这种玩笔触或者笔墨的,你的形摸不准,就达不到那种似像非像的境界,那种写意感就出不来,所以要玩水彩,得先练好素描
古典素描,有颜色,先刷底漆,然后用银针笔去刮,刮出来的就是素描画,这种画素描的方式起 源于铜版画
素描从开始的轮廓、排线,到后期的涂抹、晕染,扩张了笔触的形成方式。古早时期是没有素描这个概念,素描都是画家的草稿,为了画油画或者什么其他画而提前进行打底的东西,素描的目的是不一样,以前素描是为了快速确认后续的油画是要画成什么样的,而现在的素描本身就是为了素描,成为了一个独立的画种
到这里大概明白了素描是怎么欣赏的。
素描的手法大概就是那么几个,如果你特别牛逼,只用其中一种,然后构成了一幅绘画,那就很不错;
如果你使用其中的几种,然后排列组合也非常优雅得体,相得益彰,那也非常不错;这是纯技法角度的欣赏,同样还有画面的立意,他营造出来的那种感觉,是精致、细腻,还是随意、洒脱,这种感觉如果营造的非常厉害,那也是一幅好画。
为什么艺术他不能是完全自由的,不能像我们所想的我随便画几笔就是艺术了,这个课给了一个初步的,我认为的答案。
以文人画或者中国画为例,主要是笔墨的运用方面:首先这个画立意是给自己看的,他不是去谄媚或者讨好画的收藏者的。其次是文人画的技巧规则非常复杂,而且标准非常多。这种技巧规则,不是你随便画两笔大家就认可,他是经历了时间、有历史的,有很多前人在这个上面建立起来了一个系统的标准(当然如果你牛逼到随便就能建立一个前人没有的新东西,那你就是规则制定者,你说啥就是啥了,这在现在很难了,历史名家太多了,早就把你能想到的或者使用的东西玩到了极致),只有每个人在这套系统下去作画才能得到业界的认可。而这一套规则或者标准,是需要你去不断练习的,而如果你要掌握更多的规则,那就要付出更多的练习,绘画或者艺术他不像是数理公式,不是你知道了就立马可以运用自如了,他要经历很多练习,才能和那个技巧合而为一,到这里还不够,这种情况下你只是能随意使用技巧了。但是真正能出彩的地方,是你在往后的创作中,可以达到坐而忘道的程度,可以在绘画中,这技巧恰好该出现的时刻出现了,在另一个时刻出现了另一个技巧,这种融会贯通的程度才能把这个绘画带到一个新境界,才算是大师级别。这里的技巧练习只是让你人和工具更好的融合在一起。为什么文人画在这种方面可能是比西方的绘画艺术更强的存在,因为文人不仅仅画画,他还写书法,他还练字,书法中不断揣摩、沉淀下来的用笔技巧,这个经验非常恐怖,当这部分能力被转移运用道文人画中时,就能表达出非同寻常的细节和掌控力。
可以说这种规则他是你起步时的助力,他帮你建立了你的技巧,构建了整座大楼的基石,之后你才有可能超过规则,建立云端级别的艺术。这种规则他一定程度上束缚了你,这是一种辩证关系吧,没有规矩的自由,他什么都不是,他达不到突破规则后的那种自由的深度。
这一课主要是通过达芬奇的故事,天使的角色设计和飞行的机械设计来说明概念设计是怎么来的、怎么做的。
概念设计,一定是基于观察的,并且从中得到了某些规律、事实,变成自己的心得体会(总结),日后才能用上。而不是像抄书、复制粘贴,那样只会得到表象,但是不能做出自己的思考和设计。
概念设计的第一步是收集素材,把这些内容用于创作,收集其实很容易,但是总结比较难,很多人看了很多,但是没有具体的总结或者反思,形不成自己的思考,只是停留在这个东西的表象而已。
基础的素描,只能让你有了记录现实、写实的能力,但是素描不仅仅是这样,他再往下一步就需要你有设计能力,可能这样的设计会让你的形变样了或者和真实不一样了,但是没关系,这样的设计本身可能就是为了表达一个内容。
绘画是成本最低的记录想法,展现设计方案的视觉手段之一。一切设计皆有原型,扩展对原型的认知,是造型设计的开端。
第二课的概念设计是以朱峰为原型来介绍的,感觉和我差不多,某些时候工作时间或者说在行业上钻研学习的时间基本就是16小时起步,只不过他要喝咖啡红牛续命,我不用
戏剧的舞台布景对绘画提出了新的需求,透视、真实,这部分内容是可持续的。所以早期画家都是需要尽可能的画的真实
这种舞台布景和当时的壁画可以认为是类似的效果。舞台布景和绘画互相影响,结合上一课的概念设计,舞台成了绘画的原型,而绘画又成了舞台布景的参考对象,二者互相参考,形成了一个正向循环。
达利,奇特的人生,超忆症,偏执狂,反社会,自恋型人格,为了博得他人注意不惜一切,超现实主义,如果放在今天,大概率会被关进精神病院。他 用绘画描绘梦境、幻觉,自小就有白日做梦经验,远超其他人。
梵高, 畸形童年,幼年忧郁,和达利相反,梵高缺少关注, 常年酒精中毒,眩晕症,幻觉
可以看到超现实主义领域的作家,往往都能看到幻觉,天生就能把我们常规的东西扭曲,在他们精神正常的时刻就可以利用这样的幻觉经验进行作画,基于此,后续就有很多作家通过吸毒、酗酒,把自己维持在可以产生幻觉的世界中。
而为什么会有这么多艺术家非要去获取这样的幻觉的视觉经验呢?在进现代,经济高速发展,艺术品市场也非常繁荣,而独特是艺术品市场的刚需,你的作品不够独特就不能占用市场,就没有人会买,艺术品是难以复刻,唯一,保值率非常高的东西,如果作者死了,那就更值钱了,这样巨大利益的驱动下,无数艺术家前赴后继,而留下来的是我们能看到或者听说过的,哪天塌房了也不意外,更多的走上致幻路的艺术家都还在底层,被这个社会扫地出门了。
艺术被资本化以后就变成了现在这样,近百年来涌现的艺术家比过往的一千年还要多。
报纸上的插图,一直介绍到漫画起源,然后后续的漫画领域的发展,动画领域发展。后半截课主要是探讨一张静态的画是如何表现速度感、运动感的,静态的漫画在表现运动感,动画则是在还原漫画的速度感,可以说是相辅相成。而其中很多例子又是用我很喜欢的猫和老鼠来表现的,设计者们借用通感,把一些我们日常习以为常的视觉、触觉、听觉等体验转化为了动画效果,这样的设计非常之经典,以至于现在看起来也不违和。
漫画至今也不会被动画取代,原因就是漫画就类似于语言,他通过这种缺少的信息,给我们的想象力留下来足够的空间,让我们去想象剩余的,更加丰富的漫画世界的内容,这种东西是动画带不来的,动画还原漫画更像是戴着镣铐去跳舞,反而有很大约束。
也是从龙珠的漫画开始,漫画的创作者其实本身更像是一个电影导演,每个分镜都的镜头感、速度感等等,其实都是漫画从电影创作里借鉴来的,新一代的漫画对于漫画创作者的要求其实就更高了,你不仅仅要有编剧的能力,还要有导演的视角,做画的基础功什么的更不用说了,想从漫画领域突围确实是比较难的一个事情。
这一课其实主要就是告诉你如何做一个概念设计或者角色设计,你要如何运用设计元素达成这么一个目的。几何形象或者是视觉形象是怎么影响到我们的感觉的。当我们看到更多的此类的设计语言,在潜移默化中我们就学会或者感觉到了这种设计语言的潜在含义,这种东西不是直接上课教你的,或者说他不是我们直接归纳总结发现的。这个东西其实是有历史的积淀,是有每个人成长或者接触到的视觉的内容的基础的,是在这个基础上,有人提炼出来了一些视觉经验,归纳总结了一套东西,而这一套东西又被后来的视觉工作者学习到了,然后进一步在他的视觉作品中去使用,作品再被普通人看到,传播,这个概念就一点点被强化,慢慢就变成了一种人的下意识。
还介绍了一个人,伯里曼,利用几何体来组装或者进行绘画创作。他制定了一整套工作流:几何体组装、定义链接方式、表现运动方式,这一套东西成为了西方很多大师或者是现在一些顶级视觉工作者的基础,他们把这一套视觉工作的经验或者工作流融入了后续的很多视觉作品中,比如迪士尼、漫威等等
而如果要创作一个自己的视觉的造型语言,就需要按照这么一套框架去做。可以说他提出来了这么一个框架,框架的内容你可以随便想,随便设定,但是最终实现的时候基本就是这么几方面,可以说是总结了一个套路、方法论。
为啥现在国漫是没有自己的风格,因为现代的这几种套路已经被广泛使用、并且被观众认可,而你要创新一个新的套路,很难很难的,至少现在还没有人能做得出来,即使你做出来了,但是没有受众,你也很难坚持下取,实现这个套里的迭代更新,少说也要两三代人的传承和发展。
绘本今天是一种小众艺术形式。早期绘本有点连环画的意思,还记得我小时候也看过,不过那会感觉这种书内容好少,到底是谁会买这种书。大部分一个绘本就讲了一个小故事,故事的丰富程度很多要靠想象,我自己小时候是不怎么喜欢的。那会想不通这个东西到底有啥用,后来才明白小孩子不认识文字,符合的时候,这种绘本是建立认知很重要的途径,所以这个是给小孩子看的。
绘本是大人为小孩子朗读的书,不仅仅是绘画、还有他的语言文字设计,绘本的交互中涉及到了大人到小孩,他核心理念是要引导大人更好的为小孩子读,是一种亲情、文化继承的接力棒。绘本中图像是主导,文字是辅助,而亲子之间传递靠的就是大人对画面的描述,这让小孩子更好的理解故事的内容,认识世界。
绘本之后衍生出了立体书,让画超过了书本,变成更立体的东西,早期还是给孩子建立认知用的,后面就演变成了一种更小众的装置艺术。
这个主流艺术的发展趋势也比较符合我的认知,之前见过很多互动的装置艺术,涉及到的内容也非常广泛
大多数不仅仅对审美有要求,同时对于嵌入式、软件、特效、CG等等领域的内容都有一些要求,而很多艺术装置目前我看着还非常粗浅,互动性或者装置本身做的还是太粗糙了一点,就有点那种意犹未尽的感觉,可以做得更好。
游戏作为第九艺术,差不多也是这么个意思,不过互动装置这种比游戏的沉浸感可能会更好,类似VR、AR这种虚拟和显示叠加,让交互性或者感官上能造成的冲击更强了
这节课以机甲为例,讲了各个时代里机甲造型的来源是什么,就是当下生活中那些你能看到的,存在于你潜意识中的东西,蒸汽时代的蒸汽结构,现代的液压结构,古代时人体结构,都是机甲设计造型的源头。艺术来源于生活,还真是这样。
游戏、电影、电视剧等等导演的审美是被这个时代潜移默化塑造出来的,这样的内容又潜移默化的塑造了观众,继而又影响到了下一代导演,代代如此,整个审美的主流都是随着这个事物的影响力逐渐演化下去的。但是事务发生的原理和审美判断不应该杂糅在一起看待,而是要分开,可当下社会中这个问题是被混淆在一起的,没有人可以脱离时代去存在,去撇开这种影响,这很困难。所以需要一个理性的眼睛,去分析,观察这个时代的审美根源是来自于哪里,这也是艺术历史存在的价值,他得客观,公正的站在一个超然的地位去审视当下或者过去。物理规律是好总结发现的,但是这种艺术性的东西,想要总结发现就很麻烦,你得找到各种各样的内容去论证他的存在,最终大家接受了,这个理论才成立,大家不接受,其实这个东西就不太存在了,就会消失在历史中。
讲到这里,基本上就说明了这个课的一个核心观念,审美他应该是一门有理有据的学科,这个美是有缘由的,只是你可能不知道或者说不清,但是并不是它不存在。很多培训或者教程,他们对于美的教学更像是一种经验的传递,这样是可以继承或者发扬的,但是这样的东西说不清背后的原理,特别是传多了以后。所以有一代代的大师从中感悟,再超越,但是大师并不一定是一个好的老师,他自己也不一定能准确的总结出来自己的绘画理论,并加以概括或者教学推广;就算能总结的,如果以理科的一个标准来审视,它更像是民科的自圆其说,有很多细节是说不清的,过于主观了。
以塞尔达为例,讲解游戏场景是怎么设计的。
老师对于沙盒游戏的观点基本和我是差不多的,我玩过的肯定比老师多多了,游戏的引力对我非常重要,可能设计上的一点点创新就值得我体验一整个游戏,类似的3A这种有标准模板的游戏,早已经不能满足我对游戏引力的要求了,这也是为什么我喜欢一些独立的小游戏,他们身上那种灵光一现,是一般的大作里都看不到的东西,他们还有着那纯真的快乐。
一切设计的起源都是玩家的需求,自愿克服困难的快乐,其实说白了就是游戏里克服困难获得的反馈比现实中来得更快,也更直接。
现实中的困难,你可能需要常年累月的学习,可能还需要机会才能得到正向反馈,这也是为啥游戏容易上瘾,容易让人逃避现实。
这节课后面基本都是在讲MVP、需求、用户,某种程度上是产品经理的内容了,也挺意外的审美课讲起了产品。
马斯洛需求层次理论,公司愿景与个人是有一点点矛盾的,类似于暖饱思淫欲,当你可以轻松满足生存以后,就会自然而然的开始追求自我实现,而当你的自我实现与公司存在矛盾时,或者是分歧时,你就会更多的选择自我实现。自我实现是每个人的宿命,或长或短,每个人最终都会奔向这个目的地。
这节课的最后基本都是老师的人生经验分享了,课程的内容大概2小时就讲完了,有点用,恰巧了我就是用户-产品-研发一体的角色,关于产品的内容,刚好也经历过了一遍,其中感悟我感觉只有身在其中的人才能感觉到,经历过了才明白是怎么回事。
人体素描课
https://www.bilibili.com/video/BV18uR2YREYa
2025.8.28 凌晨2点,总算是把第一期的全部课程看完了,花了四个多月,其中忙的时候根本想不起来我还有课要上。课程中的理论或者知识,我在生活中也直接进行了验证,基本上是可以的,至少没有很矛盾或者有什么可以直接证反的东西。
很多时候思考一下是否他人没有受过类似的教育或者潜移默化的影响,就能理解为什么别人判断不出来或者感受不出来了,能更清晰的看出来他可能缺少了什么,有某个环节的内容他没见过,所以他自己的逻辑里就无法自圆其说了。
不知道为啥后续的审美课似乎都没答疑环节了,都是直接和老师私聊了嘛?这样会缺少一点看到其他人观点或者想法的的机会,少了点触类旁通的感觉。
总体来说课程是值得推荐的,特别是对于理性特别强的人来说,不希望凭感觉,而是想摸到审美的脉络的人,这个课程可以解答很多疑惑
https://www.bilibili.com/video/BV1Cd4y1172b
2025-08-26 00:00:00
我的blog基本就是我的知识库,都是一些比较冷门的知识点,我自己按照我的逻辑整理成的,之前就考虑过能不能结合我自己的知识库做一个AI,很久之前看过王登科的把自己的聊天记录做成了模仿自己说话语气内容的AI数字人,不过模仿语气我感觉不太需要,能正常提问回答出来我知识库的内容就够用了,语气什么的,客观就行了。
我也试过有道的、wolai的只能说在文档提问这一块还是有点挫,特别是wolai的基本是垃圾,不知道做这玩意干啥用,完全没有可用性。
https://iMa.qq.com/download/
最近听说腾讯的iMa知识库,试用一下,发现挺不错的,内容总结也可以,导入速度也挺快的,有原始的markdown文档就可以。
上手很简单,直接把我的blog的post全都丢给他,然后进行提问即可,速度很快,回答内容基本也是根据我文档来的?
目前支持常规的文档格式,好像支持剪藏?(需要浏览器插件),多端都可以使用
知识库建立好了以后,可以直接分享给其他人,也可以公开分享。
如果提问知识库内没有的内容,他会从外部生成,iMa提到的42篇知识库资料完全和这个问题没关系
在我问到我写过的软件或者工具有哪些的时候,出现了幻觉,这个完全是胡说了,一共四行,四行内容都各说各话
引入图片以后,也会有一个图片的概括,只是如果图片过多,整体解析速率就会降低非常多,图片的问题是他没有联系上下文,不知道这个图片所在位置关系,就缺少了很多关键性信息
但是,文档里如果包含这个图片,并且这个图片是相对路径的,那么iMa就不能解析了,他不知道这个图片路径在哪里,但是实际上我已经把图片传进去
图片解析也存在部分图片无法解析,有的再次尝试以后可以正常概况了,有的完全不行
可以看到基本每篇内容在上传的时候都直接进行了一次AI总结,打了标签,总结以后作为一个搜索目录,再次问到相关内容,就从这个里面快速匹配
wolai的文档导出,是整个空间导出,需要一点时间,下载下来压缩包超级大,里面基本上是wolai的所有文件。
看了一下文件大概就有四五千个,总体md文件倒是没多大,一共也才15M左右,其他文件很多,图片、视频、各种数据文件等等。
wolai整体可以直接通过markdown的链接跳转,所有链接都是内部链接,用typora打卡之前wolai很卡的文档也非常轻松。
接着把这四千多个文件导入到iMa,做成知识库,大概花了将近40分钟才把文件全部转换完成。
由于wolai文档本身没有按照空间划分,这就导致了所有文档是混在一起的,关联关系丢失了。空间划分也丢失了,同时也看出来了整个AI在做文件检索的时候,其实失去了文件结构的信息,比如文件下的子文件,这种都是有隶属关系的,但是大模型是不懂这部分内容的,iMa本身的提示词应该也没有处理这个的能力。这样就导致了提问的东西如果涉及到很多个文档的内容,会出现内容拼接,把新老内容拼接在一起,那么得到的答案就有点离谱了
需要注意一下,由于wolai直接导出,内容十分多,也有很多敏感信息,这部分内容需要单独剔除,还是挺麻烦的,特别是各种账号密码记录的哪里都有,每个文档都需要单独删除
其次也发现了一个新问题,文档怎么更新?
iMa本身好像没有更新这个概念,那我重新导出一次新的wolai,就要重新走一遍前面的文档导入流程,改几个字都得这样,这也太麻烦了。iMa可能本意是把用户或者知识库留在他本身,可能没想到外部更新的情况
结合wolai,由于wolai的每个文档都有对应wolai的后缀,那么就可以利用这个后缀加个批处理程序,把原生wolai的链接给写回原文,这样需要找对应wolai文档的时候就可以直接跳转访问,很简单
import os
# user for replace pic fomart str in markdown doc head
# first get all file
dir = r"K:\Download\LCXkl4\pages"
origin_str = "Forward"
replace_str = "Foreword"
line_num_limit = 30
delete_file_list = [
"81SN8ME8AdNA16WrmgFLfL",
"wKojQFStFZDQ5JXDkULrUn",
]
for file in os.listdir(dir):
# show file name
print(file)
# 检查文件后缀是否为.md
if not file.endswith('.md'):
continue
# 获取文件名中下划线到点之间的内容
parts = file.split('_')
if len(parts) > 1:
# 如果有下划线,取最后一部分并去掉.md后缀
name = parts[-1].split('.')[0]
doc_name = parts[0]
#print(f"提取的内容: {name}")
# 如果文件名在删除列表中则跳过
if name in delete_file_list:
print(f"删除文件: {name}")
os.remove(dir + "\\" + file)
continue
url = "https://www.wolai.com/你的用户名/"+name
#print(url)
insert_str = "["+doc_name+"原文链接]("+url+")"
#print(insert_str)
file_path = dir + "\\" + file
f = open(file_path, encoding='utf-8')
content = f.readlines()
f.close()
# 在第二行插入链接
new_file = ""
for i, line in enumerate(content):
if i == 1: # 在第二行插入
new_file += insert_str + "\n\n" # 添加两个换行确保格式正确
new_file += line
# 写回文件
f = open(file_path, 'w', encoding='utf-8')
f.write(new_file)
f.close()
这样就可以在访问内容的时候快速跳转到原文
如果只是服务于搜索,那只需要添加wolai的pages就行了,但是如果还要内容,还需要把image也同时加进去,否则所有图片链接都是无效的,只不过加了图片以后文件数量就好几万了,大小也一下来到了3g多,上传速度就比较慢了
实际回答效果咋样和具体用啥模型还是有关系的,只是iMa帮你把这部分内容给你结合起来了,做好了文档梳理。
总体分享还是非常便捷的,但是文档笔记本身书写体验还是比较挫的,本质上是markdown的一个变体。
iMa文档内容可以逐步增加,可以给不同人权限,作为新人初期了解一下新公司,制度,新行业的内容,还是挺方便的,直接提问就行了。
但是这个东西只能作为内部的搜索的一个环节,大家交流的文档本质上还是要基于更细化的管理,协同,内容审阅,这个部分iMa过于缺了,实际用起来可能也是你想到了用一下iMa提问,没想起来那就找人问了,iMa的存在感略微有一点低。
还有一种就是iMa放出来对外的接口,作为一个小服务,类似F1,问号,Office的大眼睛那种存在的方式进行,iMa相当于是其后端管理,或许还有一些额外的发展。
https://iMa.qq.com/
2025-08-25 00:00:00
一个陈年老问题,总算找到根源,由此也发现了很多之前不曾注意的一些细节,这些地方都有可能造成栈越界
之前有发现栈越界,但是实际追查起来还是比较困难的,特别是想知道从哪一刻哪个位置开始栈越界,就更难查了
https://elmagnifico.tech/2025/04/10/StackOverflow/
vsprintf就是一个根据列表参数进行格式化的函数,转成我们熟悉的printf里输出的内容
int vsprintf(char *str, const char *format, va_list arg)
一般都是这样组合在一起
va_list ap;
va_start(ap, fmt);
vsprintf(str, fmt, ap);
va_end(ap);
vsprintf有两个大问题,第一个它本身内存不安全,如果你转换内容过多,而承载的str指针不够的化,那么就会溢出,踩栈。
同时,vsprintf的实现对于栈的消耗非常大,与格式化的内容有关系,浮动可能很大
vsnprintf,是限制了str转换后的字节大小,如果内容过多,就截断了,而不会越界,相对安全一些。
类似的vsprintf_s,也是限制了这个缓冲区大小,和vsnprintf差不多
以uboot中的vsprintf为例,标准库的vsprintf本身是支持很多特性的,但是实际我们输出的时候其实并不会用一些花里胡哨的输出方式,所以嵌入式里的vsprintf都会重写vsprintf,尽可能精简其内容,去掉了不常用的特性
int vsprintf(char *buf, const char *fmt, va_list args)
{
int len;
#ifdef CFG_64BIT_VSPRINTF
unsigned long long num;
#else
unsigned long num;
#endif
int i, base;
char * str;
const char *s;
int flags; /* flags to number() */
int field_width; /* width of output field */
int precision; /* min. # of digits for integers; max
number of chars for from string */
int qualifier; /* 'h', 'l', or 'q' for integer fields */
for (str=buf ; *fmt ; ++fmt) {
if (*fmt != '%') {
*str++ = *fmt;
continue;
}
/* process flags */
flags = 0;
repeat:
++fmt; /* this also skips first '%' */
switch (*fmt) {
case '-': flags |= LEFT; goto repeat;
case '+': flags |= PLUS; goto repeat;
case ' ': flags |= SPACE; goto repeat;
case '#': flags |= SPECIAL; goto repeat;
case '0': flags |= ZEROPAD; goto repeat;
}
/* get field width */
field_width = -1;
if (is_digit(*fmt))
field_width = skip_atoi(&fmt);
else if (*fmt == '*') {
++fmt;
/* it's the next argument */
field_width = va_arg(args, int);
if (field_width < 0) {
field_width = -field_width;
flags |= LEFT;
}
}
/* get the precision */
precision = -1;
if (*fmt == '.') {
++fmt;
if (is_digit(*fmt))
precision = skip_atoi(&fmt);
else if (*fmt == '*') {
++fmt;
/* it's the next argument */
precision = va_arg(args, int);
}
if (precision < 0)
precision = 0;
}
/* get the conversion qualifier */
qualifier = -1;
if (*fmt == 'h' || *fmt == 'l' || *fmt == 'q') {
qualifier = *fmt;
++fmt;
}
/* default base */
base = 10;
switch (*fmt) {
case 'c':
if (!(flags & LEFT))
while (--field_width > 0)
*str++ = ' ';
*str++ = (unsigned char) va_arg(args, int);
while (--field_width > 0)
*str++ = ' ';
continue;
case 's':
s = va_arg(args, char *);
if (!s)
s = "<NULL>";
len = strnlen(s, precision);
if (!(flags & LEFT))
while (len < field_width--)
*str++ = ' ';
for (i = 0; i < len; ++i)
*str++ = *s++;
while (len < field_width--)
*str++ = ' ';
continue;
case 'p':
if (field_width == -1) {
field_width = 2*sizeof(void *);
flags |= ZEROPAD;
}
str = number(str,
(unsigned long) va_arg(args, void *), 16,
field_width, precision, flags);
continue;
case 'n':
if (qualifier == 'l') {
long * ip = va_arg(args, long *);
*ip = (str - buf);
} else {
int * ip = va_arg(args, int *);
*ip = (str - buf);
}
continue;
case '%':
*str++ = '%';
continue;
/* integer number formats - set up the flags and "break" */
case 'o':
base = 8;
break;
case 'X':
flags |= LARGE;
case 'x':
base = 16;
break;
case 'd':
case 'i':
flags |= SIGN;
case 'u':
break;
default:
*str++ = '%';
if (*fmt)
*str++ = *fmt;
else
--fmt;
continue;
}
#ifdef CFG_64BIT_VSPRINTF
if (qualifier == 'q') /* "quad" for 64 bit variables */
num = va_arg(args, unsigned long long);
else
#endif
if (qualifier == 'l')
num = va_arg(args, unsigned long);
else if (qualifier == 'h') {
num = (unsigned short) va_arg(args, int);
if (flags & SIGN)
num = (short) num;
} else if (flags & SIGN)
num = va_arg(args, int);
else
num = va_arg(args, unsigned int);
str = number(str, num, base, field_width, precision, flags);
}
*str = '\0';
return str-buf;
}
类似的memcpy等一些标准库函数,都有可能有额外的栈空间消耗,而在内存紧张的嵌入式环境里,这部分可能都需要重写,防止栈越界或者溢出错误导致更严重的后果
vsprintf就有点windows里的记事本的意思,看似简单的、不起眼的一个小函数,实际后面的细节非常丰富,业务很复杂。
对于嵌入式栈是否溢出的评估,有时候只看表面的一些局部变量可能看不出来,特别是一些库函数,他的层次可能很深,不能单步进去。
这个时候就要借助操作系统或者外部工具,又或者是直接追栈顶指针,来看是否会出现栈溢出。
一般正常情况下就是上面的判断标准,但是这个栈的评估还需要结合异常情况,结合代码各种可能分支的覆盖情况来看,有可能在异常分支中存在栈过度使用,调用过深,导致实际栈溢出的情况,不做覆盖性测试是无法发现这个问题的
https://www.runoob.com/cprogramming/c-function-vsprintf.html